2013-09-27 1 views
0

я модель, расположенную в папке классов моего модуля:Добавление поля в классе моего модуля, не работает

public static $definition = array(
    'table' => 'myTable', 
    'primary' => 'id', 
    'multilang' => false, 
    'fields' => array(
     'day' => array('type' => self::TYPE_INT, 'required' => true), 
     'hours' => array('type' => self::TYPE_STRING, 'required' => false), 
     'active' => array('type' => self::TYPE_BOOL, 'required' => false), 
    ), 
); 

Я хочу, чтобы добавить поле CATEGORY_ID, я сделал это:

public static $definition = array(
    'table' => 'MyTable', 
    'primary' => 'id', 
    'multilang' => false, 
    'fields' => array(
     'day' => array('type' => self::TYPE_INT, 'required' => true), 
     'hours' => array('type' => self::TYPE_STRING, 'required' => false), 
     'active' => array('type' => self::TYPE_BOOL, 'required' => false), 
     'category_id' => array('type' => self::TYPE_INT, 'required' => true) 
    ), 
); 

Но когда я создаю new MyTable, я не вижу новое поле, я думаю, что это проблема с кешем, но я не знаю, как его решить.

+0

Вы используете какой-либо каркас? –

+0

Посмотрите на теги, prestashop есть :) –

ответ

0

Решение, для тех, кто имеет ту же ошибку, классы внутри моего модуля перемещаются в папку /classes, поэтому вам необходимо также отредактировать эти классы.

0

Неправильная практика размещения любого из ваших классов непосредственно в папке calsses, поскольку эти файлы могут быть удалены при автоматическом обновлении.

Для обеспечения наилучшей практики поместите свои классы в папку переопределения/классов. А после этого перейдите в папку кеширования и найдите файл «class_index.php» и удалите этот файл.

Примечание: class_index.php - это автоматически сгенерированные файлы с помощью PS, в которых он индексирует все классы и контроллеры, чтобы сохранить время поиска файла или класса в папках во время загрузки класса или контроллера. Поэтому для любых новых calss или controller этот файл следует удалить иначе, если класс или контроллер не будут работать. Поэтому, если вы удалите его, затем при следующем запуске или запросе на PS он будет автоматически восстановлен, и ваш класс будет также проиндексирован в нем.

+0

Спасибо, я прочитал все, что вы сказали в документе prestashop, но проблема в том, что этот модуль не разработан мной, я просто хочу отредактировать его по своему желанию, этот модуль а не MVC, и вызовет много проблем в будущих обновлениях, я попытаюсь исправить эти вещи, спасибо –

Смежные вопросы