Как изменить тип контента, к которому прикреплено поле (кому оно принадлежит?)
При экспорте конфигурации для моего сайта с помощью модуля функций я заметил, что одно из полей, которые я использую для многих типов контента, изначально было создано для типа контента "новости" вместо типа контента "статья". Это создает проблему, поскольку это означает, что все функции, которые я экспортирую, теперь зависят от совершенно не связанного модуля (новости) для предоставления общего поля (field_image).
Что я хотел бы сделать, так это изменить сущность, которая "владеет" field_image быть статьей. Это позволит мне экспортировать одну базовую функцию, которая предоставляет множество общих полей, а остальные функции зависят от этого, вместо того, чтобы все они зависели от новостей.
Как я могу изменить, какому типу контента принадлежит field_image, не нарушая все?
3 answers
Функции достаточно умны, чтобы требовать модуль, реализующий поле, не требуя пакета, который вы ему не указали. Поэтому вы можете подумать о том, чтобы дважды проверить созданную вами функцию, чтобы убедиться, что вы не включили тип контента, который вам не нужен.
Ну, это не идеальное решение, но может быть способом его найти.
Измените тип контента на тот, который вы хотите, и экспортируйте функцию. Они берут инструмент diff (winmerge) и смотрят на различия между старой версией вашего модуля функций и новой.
Есть хороший шанс, что вы узнаете, что нужно изменить.
Не забудьте сделать резервную копию базы данных перед началом работы.
Я думаю, вам просто нужно изменить тип связки поля. Возможно, в вашей функции есть поле, относящееся к пакету "новости". Если вы измените его на "статья", это будет сделано.
Откройте feature.field.inc и найдите "пакет", затем измените значение на правильное. Обратите внимание, что индекс массива будет именем поля, поэтому будьте осторожны, чтобы не изменить неправильное поле.