Использование разных языковых шаблонов для сайтов с разными доменными именами
Материал из Umicms
Описание проблемы
Иногда бывает ситуация, что версии сайта на разных языках находятся на разных доменах. Например, site.ru - русская версия, site.com - английская версия. В этом случае форма поиска и результаты будут на русском языке.
Варианты решения
Один из вариантов - создание отдельного шаблона для английской версии поиска. Для этого надо сделать следующее:
- Создаём страницу контента для результатов поиска английского варианта сайта. Назовём её, например, "Search results" и псевдостатический адрес будет "search_results".
- В содержимое страницы добавим макрос вывода результатов поиска с указанием шаблона:
%search search_do('en_default')%
- В каталоге /tpls/search/ создадим файл шаблона (в нашем случае это en_default.tpl) со следующим содержанием:
<?php $FORMS = Array(); $FORMS['search_block'] = <<<END <p>%total% pages found.</p> %lines% <p>%system numpages(%total%, %per_page%)%</p> END; $FORMS['search_block_line'] = <<<END <p> <span class="s_num">%num%.</span> <a href='%link%' style="font-weight: bold;" umi:element-id="%id%" umi:field-name="name">%name%</a> %context% </p> END; $FORMS['search_empty_result'] = <<<END <p> Not found. </p> END; $FORMS['search_form'] = <<<END <form id="search" class="block" method="get" action="/search_results/"> <input type="text" class="textinputs" style="width:100%;" name="search_string" value="Search..." onfocus="javascript: if(this.value == 'Search...') this.value = '';" onblur="javascript: if(this.value == '') { this.value = 'Search...';}"/> <input type="submit" value="Search"/> <p> Search: <input type="radio" name="search-or-mode" id="search-and-mode" value="0" %search_mode_and_checked%> <label for="search-and-mode">All words</label> <input type="radio" name="search-or-mode" id="search-or-mode" value="1" %search_mode_or_checked%> <label for="search-or-mode">Any word</label> </p> </form> END; ?>
Ключевой момент - параметр action в теге <form...>, в котором необходимо указать адрес созданной ранее страницы. В нашем случае это "/search_results/"
