Я использовал field_collection а также field_collection_fieldset модули друпал-7. Я настроил полевая коллекция поле (неограниченное количество элементов) для типа контента. Поэтому, когда я просматриваю узел, его содержимое отображается со всеми полями, включая элементы коллекции полей.
Теперь я хочу изменить сообщение, отображаемое на странице, когда элемент коллекции полей запрашивается подтверждение для его удаления и когда он удаляется успешно. (В частности, я хочу изменить этикетка элемента удаляется).
Потому что в настоящее время метка элемента коллекции полей отображается неправильно (когда я пытаюсь удалить его и когда он удаляется). Кроме того, отображаемое сообщение отличается после удаления метки. Поэтому я хочу изменить это.
Для этого я обнаружил, что могу напрямую перейти и изменить 2 функции в field_collection.pages.inc файл. Они есть:
Пример: изменить следующую строку:
t('Are you sure you want to delete %label?', array('%label' => $field_collection_item->label()))
К этому:
t('Are you sure you want to delete %label?', array('%label' => 'First Collection'))
И это:
drupal_set_message(t('%label has been deleted.', array('%label' => drupal_ucfirst($field_collection_item->label()))));
К этому:
drupal_set_message(t('%label has been deleted.', array('%label' => 'First Collection')));
Но я думаю, что это не стандартный подход. Поэтому я хотел бы использовать хук в моем пользовательском модуле для переопределения этих функций. Я не уверен, какие хуки использовать в моем пользовательском модуле. Может кто-то помочь мне с этим ?
Я достиг решения своей проблемы, благодаря Clive за его ценные предложения.
Вот что я сделал, чтобы обработать удаление элемента коллекции полей для узла:
Готово 🙂
Таким образом, мне не нужно изменять существующие файлы модуля field_collection, и при этом по-прежнему достигать требуемой пользовательской функциональности. Друпал это здорово!
Других решений пока нет …