блог пользователя фкн

хук 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. а только потом поле

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

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

  • 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...

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

восстановление удалённых полей друпал 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...

очередной код - создание-удаление полей друпал 7

/* сперва работаем с полем (чтобы создать экземпляр поля,
 "прототип" - то есть @само поле@ должно быть уже создано) */
if ($field = field_info_field('field_2000')) //
{
	log_light(" deleting field  !");
	watchdog("LL=","deletion field is completed !");
	field_delete_field($field);
	log_light(" deletion field is completed  !"); 
  watchdog("LL=","filed is deleted !");
} 
else
{
 log_light(" no info about instance !");  // если нет - то создаём сначала поле,а потом его экземпляр привязанный к статье
 $field = array( 
    "field_name"=>"field_2000", // имя поля 

Pages

Subscribe to RSS - блог пользователя фкн