Может кто то сталкивался с потребностью пересечения множества терминов из разных словарей, как это лучше сделать?
Например: имеем один словарь со структурой:
Продукты питания
-Молочные
-- молоко
-- кефир
-- сыр
-Мясо
--Говядида
--Свинина
и второй словарь без структуры в котором например такие термины:
(пиво, сыр, хлеб, свининина)
есть ноды помеченые термами из первого словаря и есть ноды помеченые термами из другого.
как сделать так, что по клику на терм - выдавались ноды относящиеся как к первому, так и второму словарям?
Комментарии
Опишите логику! С нормальным примером - какой термин, какие ноды, как выводить. А мы подскажем, как это сделать.
(может этого будет достаточно: вывод нодов, привязанных к одному из терминов - taxonomy/term/1+2+3, ко всем терминам - taxonomy/term/1,2,3)
Логика проста - есть два термина с одинаковым именем из разных словарей. К каждому из них привязаны какие то(неважно какие) ноды. Кликая на на первом термине - хочется получить список нод привязанных, как к термину на котором кликаю, так и нод привязаных к другому термину(с таким же названием), но из другого словаря. Алгоритм такой выборки понятен - я спрашивал о готовом решении. Спасибо за ответы.
такие связи можно было бы делать с помощью модуля category, но он сейчас находится в полуживом состоянии со множеством неисправленных ошибок. Как вариант, можете рассмотреть использование одного словаря с множественной иерархией, и включить в него все необходимые вам термины
у меня один словарь(первый в примере) для навигации по статическому контенту используется и пускать туда юзеров править и добавлять термины не хочу. А второй словарь - именно для юзеров и тагирования прочего контента. Вообщем понял, готового решения нет, буду писать.
У терминов есть понятие синонимов. Можно задействовать этот механизм. Например по крону связывать термины друг с другом. Или при добавлении.
Насколько я помню синонимы устанавливать можно, но реальной функциональности по работе с ними в стандартной поставке Друпала нет. Смотрел когда то модуль на эту тему, но он не заработал и я нашёл какой то вокераунд...
может кому пригодится
Болванка Views Argument Handling Code для вывода нод по всем одноимённым термам из всех существующих словарей:
if ($args[0]) {
$arg = $args[0];
$maint = taxonomy_get_term($arg);
$mainn = $maint->name;
// $mainv = $maint->vid;
$term_arr = taxonomy_get_term_by_name($mainn);
$count_arr = count($term_arr);
$queue = 0;
for ($i = 0; $i < $count_arr; $i++) {
$cur_term = $term_arr[$i];
if($queue == 0){$queue = $cur_term->tid;}else{$queue = $queue.'+'.$cur_term->tid;}
}
$args[0] = $queue;
$view->argument[0]['title'] = 'TERM: \''.$mainn.'\' ';
}
странно что нет такой возможности. например у меня есть словарь стран и языков... а связать португалию с португальским - никак!
связать то можно, через terms synonyms and related terms. Вот с выводом не получается, нету, вроде как, в стандартном друпале вывода нод по синонимам. Назначение синонимов терму - есть, а вывода нет. Надо самому писать.