Drupal: отображение переключателя языка только при переводе контента - PullRequest
2 голосов
/ 14 января 2010

У меня есть многоязычный веб-сайт в Drupal, но не весь контент переведен. Я хочу, чтобы блок переключателя языка отображался на странице содержимого, только если для этого содержимого есть перевод.

Блок переключения языка использует функцию translation_path_get_translations, чтобы получить путь к переведенной версии просматриваемого контента. Если нет переведенных путей, блок не печатает переключатель.

Проблема в том, что иногда переведенная версия находится по тому же пути, что и исходный контент (например, когда это представление или контент, созданный модулем). В этом случае, хотя translation_path_get_translations не возвращает переведенный путь, переключатель языка должен быть напечатан, потому что представление или модуль позаботятся о переводе.

Например, это пути переведенного контента:

english/content-path-here
portuguese/conteudo-aqui

И это пути содержимого, сгенерированного представлением или модулем:

english/foobar
portuguese/foobar

Итак, есть ли способ решить это? Может быть, способ определить, является ли данный путь «реальным контентом» (а не представлением / модулем)?

Спасибо.

1 Ответ

2 голосов
/ 15 января 2010

хм, я думаю, что это возможно только вручную по путям.
Может помочь это:


if ((arg(0) == 'node') && is_numeric(arg(1))) {
  // that show you are on single node, and you can show block for translation
}
...