Изменить ограничение поля Machine name

Главные вкладки

Аватар пользователя Strannik-j Strannik-j 1 августа 2014 в 14:29

Добрый день!
Делаю магазин на Commerce, и столкнулся с проблемой:
поле Machine name имеет ограничение 32 символа, но мне нужно больше.
Как можно изменить данное ограничение?

Комментарии

Аватар пользователя Strannik-j Strannik-j 1 августа 2014 в 16:02

Я отредактировал таблицу в базе
commerce_product_type:
type varchar(32) >> type varchar(64)

и теперь могу напрямую из базы исправить machine name, но UI по-прежнему упирается в 32 символа, а те типы товара, для который я вручную в базе прописал machine name более 32 символов, он не даёт редактировать (пункты меню "edit", "manage fields", "manage display", "delete" - отсутствуют).

Видимо надо править UI, но как - вопрос...

Аватар пользователя Strannik-j Strannik-j 4 августа 2014 в 10:31

Решил проблему весьма нестандартным способом:

1. В базе поменял следующие таблицы:

commerce_product_type:
type varchar(32) >> type varchar(64)

node:
type varchar(32) >> type varchar(64)

node_type:
type varchar(32) >> type varchar(64)

field_config:
field_name varchar(32) >> field_name varchar(64)

field_config_instance:
field_name varchar(32) >> field_name varchar(64)
entity_type varchar(32) >> entity_type varchar(64)

2. Создаю тип товара прямо в базе с необходимым мне "Machine name" (ну или можно создать тип товара в UI с укороченным "Machine name", а затем в базе исправить его). Тип товара появляется в UI, но недоступный к редактированию.

3. Создаю в UI ещё один тип товара с коротким "Machine name"(любой, его потом удалить можно), и после этого все ранее недоступные типы товаров становятся доступными!

P.S. Если вы не умеете работать в базе через консоль, используйте GUI/WUI, коих великое множество (phpmyadmin, emma, GMySQLcc и т.п.)