Автор Тема: Добавление дополнительного поля в Категории товара через override  (Прочитано 549 раз)

03 Март 2019, 13:09:48
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.

Добавил /override/classes/Category.php

<?php
/**
 * Category override
 */

class Category extends CategoryCore
{
    
/** @var string Name_long */
    
public $name_long;// Объявляем новое свойство класса

    
public function __construct($id_category null$id_lang null$id_shop null)
    {
        
// Добавляем определение этого поля в модель (класс) Category по аналогии - см. метод __construct класса CategoryCore
        
self::$definition['fields']['name_long'] = array('type' => self::TYPE_STRING'lang' => true'validate' => 'isCatalogName''required' => true'size' => 128);

        
parent::__construct($id_category$id_lang$id_shop);
    }
}

Добавил /override/controllers/admin/AdminCategoriesController.php
<?php
/**
 * Category override
 */

class AdminCategoriesController extends AdminCategoriesControllerCore
{
    public function 
renderForm()
    {
        
$this->fields_form_override =array(
            array(
                
'type' => 'text''label' => $this->l('Name_long'), 'name' => 'name_long''lang' => true'required' => true'class' => 'copy2friendlyUrl''hint' => $this->l('Invalid characters:').' <>;=#{}',
             ),
        );
        return 
parent::renderForm();
    }
}

Добавил в таблицу category_lang поле name_long  (varchar(256))

Но на странице редактирования категории в админке, поле не появилось.

Помогите найти в чем ошибка.
Спасибо
03 Март 2019, 16:10:25
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
03 Март 2019, 18:23:21
Ответ #2
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля