всем привет, создаю своё поле, всё работает хорошо, но мне нужно для работы моего поля что бы в базе данных в том типе контента где устанавливается поле было еще дополнительный столбец, как в файле (\system\fields\myfild.php ) это правильно прописать? (v может метод готовый дополнительный какой есть ?)то есть при установке поля автоматом создается столбец в базе данных для этого поля, но мне нужно что бы так же создавался дополнительный столбец
запрос на создание столбца в таблице при создании поля
При добавлении поля city, в бд создается дополнительное поле fildname_cache. В поле filedname содержится id города, а в fieldname_cache — название. docs.instantcms.ru/dev/forms/field-file — вот здесь описание свойства $cache_sql, посмотрите.
Вот так это выглядит в файле поля:
Это один вариант. Есть еще другой способ. В методе hookAfterAdd в файле поля можно написать что-то в этом роде:
public function hookAfterAdd($table_name, $field, $model) { $model->db->query("ALTER TABLE cms_$table_name CHANGE newfield VARCHAR(128) NULL DEFAULT NULL"); return parent::hookAfterAdd($table_name, $field, $model); }
Вместо cms_ напишите решетку в фигурных скобках. Само меняет на префикс.
Нифигаccе о-го-гошеньки, спасибо получилось только я написал ADD вместо CHANGE