Ограничить выбор терминов таксономии для материала

Главные вкладки

Комментарии

Аватар пользователя kv4 kv4 6 января 2014 в 11:29

Можно так например:

<?php

/**
* Implements hook__field_info_alter()
*/
function modulename_field_info_alter(&$info) {
  
$info['taxonomy_term_reference']['settings']['options_list_callback'] = 'modulename_options_list_callback';
}

function 

modulename_options_list_callback($field) {
  if (
$field['field_name'] === 'fieldname') {
    
$options = array();

    

// Тут загружаете из базы нужные термины, или каким-то иным способом их фильтруете

    

return $options// Массив ключ/значение. Ключ это $trem->tid, значение $term->name
  
}

  return 

taxonomy_allowed_values($field);
}
?>
Аватар пользователя Artu Artu 6 января 2014 в 11:53

kv4, спасибо, вариант.
Думал может есть модуль который ограничивает список доступных терминов, при редактировании типа материала. Как например там есть возможность задать значения по умолчанию. Что б с админкой.

Аватар пользователя kv4 kv4 6 января 2014 в 12:48

"Artu" wrote:
Думал может есть модуль который ограничивает список доступных терминов,

Возможно, просто мне не нравится на каждую маленькую потребность ставить по модулю. Хотя я уверен, что такой модуль можно найти. Возможно в вашем конкретном случае лучше модуль поставить чем самому что-то писать.

Аватар пользователя kv4 kv4 6 января 2014 в 23:43

А чего всё таки мой способ не помогает?

Напиши чем он плох - буду знать, а то может как дурак пользуюсь подобным и главного не знаю.

Аватар пользователя drupby drupby 6 января 2014 в 23:49

написать свой модуль - виджет для термреференс поля или посмотреть существующие может там есть нужный функционал
поищи taxonomy term reference widget

Аватар пользователя Artu Artu 7 января 2014 в 1:19

kv4, способ плох тем что админки (привязки терминов к материалу) нет, все в коде.
А свою админку нужно реализовывать.
Твой способ для меня более понятен, возможно оставлю "админку в коде".

drupby, тут тоже логика (привязка) в коде будет походу. Или дополнительно что-то делать.

Аватар пользователя drupby drupby 7 января 2014 в 1:32

"Artu" wrote:
drupby, тут тоже логика (привязка) в коде будет походу

можно ведь выбор терминов вынести в настройки виджета , посмотри модули контрибные там вполне возможно уже есть

Аватар пользователя kv4 kv4 7 января 2014 в 11:49

"Artu" wrote:
А свою админку нужно реализовывать.

Это да. Но это тоже не так уж сложно... хотя, если найдёшь готовый модуль, то конечно - зачем что-то писать.