Как изменить тип контента, к которому прикреплено поле (кому оно принадлежит?)


При экспорте конфигурации для моего сайта с помощью модуля функций я заметил, что одно из полей, которые я использую для многих типов контента, изначально было создано для типа контента "новости" вместо типа контента "статья". Это создает проблему, поскольку это означает, что все функции, которые я экспортирую, теперь зависят от совершенно не связанного модуля (новости) для предоставления общего поля (field_image).

Что я хотел бы сделать, так это изменить сущность, которая "владеет" field_image быть статьей. Это позволит мне экспортировать одну базовую функцию, которая предоставляет множество общих полей, а остальные функции зависят от этого, вместо того, чтобы все они зависели от новостей.

Как я могу изменить, какому типу контента принадлежит field_image, не нарушая все?

Author: Zxaos, 2011-12-08

3 answers

Функции достаточно умны, чтобы требовать модуль, реализующий поле, не требуя пакета, который вы ему не указали. Поэтому вы можете подумать о том, чтобы дважды проверить созданную вами функцию, чтобы убедиться, что вы не включили тип контента, который вам не нужен.

 1
Author: paul-m, 2012-02-06 03:40:41

Ну, это не идеальное решение, но может быть способом его найти.

Измените тип контента на тот, который вы хотите, и экспортируйте функцию. Они берут инструмент diff (winmerge) и смотрят на различия между старой версией вашего модуля функций и новой.

Есть хороший шанс, что вы узнаете, что нужно изменить.

Не забудьте сделать резервную копию базы данных перед началом работы.

 1
Author: BetaRide, 2012-01-12 11:51:50

Я думаю, вам просто нужно изменить тип связки поля. Возможно, в вашей функции есть поле, относящееся к пакету "новости". Если вы измените его на "статья", это будет сделано.

Откройте feature.field.inc и найдите "пакет", затем измените значение на правильное. Обратите внимание, что индекс массива будет именем поля, поэтому будьте осторожны, чтобы не изменить неправильное поле.

 1
Author: revagomes, 2012-01-21 14:31:37