В 6-ом можно перекрыть только theme_links, которая используется ещё в многих местах, поэтому на мой взгляд нежелательно.
В 7-ом же добавили возможность перекрыть вывод для каждого частного случая через механизм theme function suggestions не трогая «главную» theme_links вообще. Больше на drupal.org
В 6-ой версии нельзя перекрыть специфическую для locale_block версию theme('links'), и альтер немного другой: drupal_alter('translation_link', $links, $path);
Все равно придётся прописывать каждый новый домен вручную, перезапускать апач. Конечно, задать конфигурацию таким способом можно более гибко, но моя статья более ориентированна на разработку типичных проектов на одной-двух разных CMF/CMS, когда нужен просто новый хост.
Достаточно только создать папку и можно сразу в бой :)
То же самое одним большим постом: Git guts all-in-one
http://jsfiddle.net/p3nej/5/
Минус — добавляется граница, которую можно убрать отрицательным отступом.
Не удалось избавиться от обертки вокруг таблицы :(, но нужен только 1 дополнительный div.
Аналогичное решение, но на основе SVG/VML: Highcharts
В 7-ом же добавили возможность перекрыть вывод для каждого частного случая через механизм theme function suggestions не трогая «главную» theme_links вообще. Больше на drupal.org
В 6-ой версии нельзя перекрыть специфическую для locale_block версию theme('links'), и альтер немного другой:
drupal_alter('translation_link', $links, $path);А так всё то же самое.
Во-первых, код не учитывает language negotiation выбранную в админке, не будет работать с выключенным mod_rewrite или если сайт перенесут в подпапку.
Во-вторых, модуль locale позволяет изменить ссылки:
drupal_alter('language_switch_links', $result, $type, $path);И в-третьих, в теме можно перекрыть функцию темизации:
$block['content'] = theme('links__locale_block', $variables);А как, вывести блок в самой ноде вверху уже написали, хотя лучшим решением будет добавить новую переменную в hook_preprocess_node.
Достаточно только создать папку и можно сразу в бой :)