блог студента программиста

context drupal 7

во первых есть такой модуль = http://www.drupal.ru/node/70478

хук install не запускается

дело в том, что этот хук запускается только при первой установке модуля - после же первой установки запускаются

первое что попадается по данной проблеме - вот эта тема=http://www.drupal.ru/node/46570
итак, пробуем заменить на install() на вот этот хук = api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_enable/7
и это работает!
аналогично поступайте и для uninstall = hook_disable()

Порядок программного удаления / добавления полей и их экземпляров в друпал 7 пример

алгорит такой -
при создании поля и его экземпляра =

  1. сначала создаётся поле
  2. а только потом его экземпляр

при удалении =

  1. сначала удаляется экземпляр (при это вроде как потом и поле удалится автоматически в случае если этот экземпляр был последним)
  2. а только потом поле

но при каждой переустановке модуля мы будем получать новые строки в таблицах - проблема описана здесь

(ПРОБЛЕМА) hook_install при установке поля не работает друпал 7

объяснение здесь = http://fkn.ktu10.com/?q=node/2139

для начала привожу ссылку на эту тему = http://drupal.org/node/1760054
и ещё эту = http://www.drupal.ru/node/86850#comment-499221

характерные альбомы трип хопа музыка пример

  • 1991 — Blue Lines (Massive Attack)
  • 1994 — Dummy (Portishead)
  • 1995 — Maxinquaye (Tricky)
  • 1996 — Who Can You Trust (Morcheeba)
  • 1997 — Portishead (Portishead)
  • 1998 — Mezzanine (Massive Attack)

пыемся удалить / добавить программно поле и его сущность в друпал 7 - пока получается не очень

этот код корректно устанавливает . но не может толком удалить (не удаётся удалить экземпляр поля) =

hook_field_is_empty друпал 7 описание

данный хук позволяет определить "что именно является пустым элементом для поля" то есть - допустимо ли для данного поля данное значение в "пустом" виде .

если для даннго типа поля пустое значение допустимо - возвращаем true, иначе - false.
читаем далее = http://api.drupal.org/api/drupal/modules!field!field.api.php/function/hook_field_is_empty/7

да кстати - чтобы сказать, что всё идёт по плану достаточно написать =

// скажем, что всё хорошо
function LL_field_is_empty() 
{
  return TRUE;
}

восстановление удалённых полей друпал 7 = Restore Deleted Fields in Drupal 7

эпиграф =

Table field_config

id - The primary identifier for a field.
field_name - The name of this field. Non-deleted field names are unique, but multiple deleted fields can have the same name

взял отсюда

Итак - получается, что не проводя проверку на предмет уже существующей записи мы будем плодить их (эти самые записи) при каждой переустановке модуля.

field_update_field() - позволяет обновить поле друпал 7 описание

field_update_field() - данная функция позволяет обновить состояние поля,
например - снять с него "метку удаления"
чтобы всё сработало - в качестве параметра следует передать массив , содержащий в качестве индексов имя свойств поля, в качестве параметров - значения этих свойств.
читаем далее = http://api.drupal.org/api/drupal/modules!field!field.crud.inc/function/field_update_field/7

Pages

Subscribe to RSS - блог студента программиста