RSS
 

нода

warning: Creating default object from empty value in /usr/local/www/jail4/kostya.in.ua/public_html/modules/taxonomy/taxonomy.pages.inc on line 34.

Удаление поля из ноды

Если в процессе работы нужно программно удалить поле их ноды, то для этого сгодится вот такой вот код:

function hook_install() {
   // Fetch the instance (object)
   $field = field_info_instance('node', 'field_tags', 'article');
   // Delete it. 
   field_delete_instance($field);
}

Мне он нужен был, когда после импорта новых типов материала с помощью features в статьях оставалось лишнее поле тегов.

Если в данном "инстансе" была последняя ссылка на это поле, то поле также удалится. За это отвечает 2-ой булевый параметр функции field_delete_instance.

PDOException при программном сохранении ноды

PDOException: in field_sql_storage_field_storage_write() (line 424 of \modules\field\modules\field_sql_storage\field_sql_storage.module).

Несколько часов убил на то, что Друпал, по всей видимости, не до конца ообрабатывает строки, которые сохраняет в базу данных. Поэтому из-за какого-то символа - у меня вываливалсь ошибка сверху без каких-либо дополнительных комментариев.

Решение на скорую руку:

while($row = sqlsrv_fetch_array($res, SQLSRV_FETCH_ASSOC)) {
...
       foreach(array('title', 'abstract', 'body') as $key)