В данный момент занимаюсь добавлением второго языка(английского) на один из моих сайтов. В терминах есть
1)русские, имеющие английский перевод
2)английские, без перевода и назначенного языка - общие для всех
3)английские, перевод русских из п.1
Всплыла следующая проблема:
в облаке тегов отображаются абсолютно все теги, вне зависимости, какой выбран язык. Но, если при выбранном языке кликнуть на термин которому назначен другой язык, то пользователь попадает на страницу, на которой нет никакого контента, только название термина
Как сделать так, чтобы в облаке отображались только термины активного языка и нейтральные?
Комментарии
UP...
Вопрос поднимался не раз, но вот было ли решение не помню.
а если разделить на 2 таксономических списка и выводить на английском свой блок со своим списком ?
Поясни. Как это разделить?
2 независимых словаря создать
Видами, модуль views tagadelic
у меня вобщем материал один на всех языках. Поэтому я не тестировал.
А вобще все логично.
Можно сделать чтоб материал был мультиязычен. Тоесть своя версия ноды для каждого языка (i18n).
А когда создаешь словарь там выводит опции словаря. Выбери третюю там где *Per language terms. Different terms will be allowed for each language and they can be translated.*. *Должно стошныть )*
Не работает. Тагаделик в облаке тегов выводит термины только на языке по умолчанию
У меня возникла такаяже проблема и решается она довольно просто изменеием модуля tagadelic и cumulus.
В патче изменение tagadelic, а в cumulus необходимо изменить примерно на 46 строке с такого:
<?php
$vocs = variable_get('cumulus_vid', 1);
if (is_numeric($vocs)) {
$vocs = array($vocs);
}
elseif (preg_match('/^([0-9]+,){1,5}[0-9]+$/', $vocs)) {
$vocs = explode(',', $vocs);
}
else {
$vocs = array(1);
}
$tags = tagadelic_get_weighted_tags($vocs, variable_get('cumulus_tagadelic_step', 6),
variable_get('cumulus_tagadelic_limit', 24));
$tags = tagadelic_sort_tags($tags);
?>
на такое:
<?php
global $language;
$l = $language->language;
$vocs = variable_get('cumulus_vid', 1);
if (is_numeric($vocs)) {
$vocs = array($vocs);
}
elseif (preg_match('/^([0-9]+,){1,5}[0-9]+$/', $vocs)) {
$vocs = explode(',', $vocs);
}
else {
$vocs = array(1);
}
$tags = tagadelic_get_weighted_tags($vocs, variable_get('cumulus_tagadelic_step', 6),
variable_get('cumulus_tagadelic_limit', 24), $l);
$tags = tagadelic_sort_tags($tags);
?>
изменения:
global $language;
$l = $language->language;
. . .
$tags = tagadelic_get_weighted_tags($vocs, variable_get('cumulus_tagadelic_step', 6),
variable_get('cumulus_tagadelic_limit', 24), $l);