2016-10-07 4 views
0

У меня есть редактировать AdminGroupsController.php и добавить одно поле для renderForm функции, как:Prestashop пользовательские поля в группах в админ

array(
     'type' => 'text', 
     'label' => $this->l('Myfield'), 
     'name' => 'my_field', 

и имя такое же, как столбец базы данных. Но я не понимаю, как и где он выполняет действие редактирования и/или добавления, поэтому я могу добавить поле для сохранения в базу данных. Теперь он опубликует поле, но он не сохранит его.

Другой вопрос, я имею в переопределение/Контроллеры/админ/AdminGroupsController.php:

class AdminGroupsController extends AdminGroupsControllerCore 
{ 
    public function renderForm() 
    { 

, но он не работает, я даже удалить файл cache_index из кэша. я должен был сделать правку контроллеров/админ/AdminGroupsController.php ...

ответ

0

я узнал, что я должен был копировать классы/Group.php переопределить/классы/Group.php и изменить его:

class Group extends GroupCore 
{ 

Кажется, это модель для этого.

и добавить fiel (d) к модели, которую я хотел обновить, и, похоже, она будет извлекать ее и при попытке редактировать группу.

Кроме того, я до сих пор не знаю, почему наиважнейшая AdminGroupController не работает, но отвергая этот класс (модель) работает ...

+0

Если вы посмотрите на '__construct AdminGroupController (в)' вы увидите строку '$ this-> className = 'Group'; '. Это сообщает администратору-контроллеру привязать любую форму или список к объектной модели 'Group'. В 'renderForm()' вы указываете, какие свойства или этот объект (столбцы таблицы) должны отображаться и быть доступными для редактирования. Поэтому, когда вы сохраняете форму, она создает объектную модель 'Group', добавляет к ней свойства из вашей формы и сохраняет ее. Если у вас нет переопределенной модели с пользовательскими свойствами, она, очевидно, не сохранит их в базе данных. – TheDrot