Доброго времени суток. Я совсем новичок в мире drupal, дорабатываю студенческий проект.
Суть ситуации. Есть некий термин таксономии, в котором есть поле типа "ссылка на пользователя" (ссылок в поле может быть несколько). Мне нужно организовать доступ к редактированию этого термина только для тех пользователей, которые есть в этом поле. Проблема в том, что я не могу достать uid из этого поля. gettype($term->field_user)
выдаёт Array с одним элементом, при попытке обратиться к нему $term->field_user[0]
возникает ошибка Undefined offset. Как достать данные из ссылки? Заранее спасибо за помощь.
Комментарии
Я бы начал с использования отладчика xdebug чтобы заглянуть внутрь нужных переменных и объектов
Что-то с этим xdebug ещё повозиться нужно. Попробовал использовать
taxonomy_term_load($term->tid)->field_example['und'][0]
, выдаёт массив с тремя элементами. Использовать функцию taxonomy_term_load обязательно, или можно просто использовать $term->field_example?Если нет xdebug, используйте модуль devel. С ним доступны функции dpm, dpr. В вашем коде сделаете, например, dpm($term) и в области уведомлений увидите все что есть в этой переменной в удобочитаемом виде.
http://api.drupal.org/api/drupal/modules!field!field.module/function/fie...
Может, как-то так:
<?php
$term = taxonomy_term_load($tid);
$items = field_get_items('taxonomy_term', $term, 'field_example');
drupal_set_message(var_export($items, TRUE));
?>
Спасибо всем за помощь, с помощью devel разобрался в структуре данных и сделал всё, что нужно.