Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] WPML, двуязычный сайт на wordpress и проблемы при сортировке.

Ответить
Настройки темы
[решено] WPML, двуязычный сайт на wordpress и проблемы при сортировке.

Старожил


Сообщения: 187
Благодарности: 4


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Sham
Дата: 05-12-2014
Описание: ссылки
Изменил первоначальное сообщение, так как залил вчера двуязычную версию сайта на сервер, и могу теперь данную проблему показать более наглядно.

Приветствую, достаточно спешно ищу удовлетворительное решение следующей проблемы.
Есть сайт на вордпрессе, собственно, вот он, в настоящее время языков 2 - англ и рус.
Проблема.
При применении любого правила сортировки (например, см пункт меню Properties) при втором (недефолтном) языке результат сортировки выдается на дефолтном языке....Т.е. у меня дефолтный англ, второй - рус, например, тот же пункт меню Properties у меня назван Объекты и находится по адресу - связан с англ
Теперь я например хочу отсортировать объекты по цене по возрастанию, находясь в русской версии, результат получаю как т.е. по англ.
Если я вручную добавляю ru - - результат сортировки корректный, но как добиться, чтобы это []ru[/] при сортировке не удалялось, не пойму...

Единственное похожее видел в гугле .... - но там как видно сортировка посредством woocommerce, а у меня тут woocommerce нет... Однако думаю все равно как то должно это решаться, может быть, где то можно вручную (htaccess?) прописать редиректы для соотв-их урлов, благо их там немного.

Т.е. если нет красивого и правильного решения, возможно ли каким то образом задать редиректы, например с .... редиректить на ..., но конечно только для переходов с любой []ru[/] страницы ( ...... )

-------
http://forum.oszone.net


Отправлено: 15:54, 14-10-2014

 

Старожил


Сообщения: 187
Благодарности: 4

Профиль | Отправить PM | Цитировать


Написал в суппорт автора шаблона, как вариант, в непереведенных местах использовать условие для вывода нужного контента или подключения оного в зависимости от текущей языковой локали.
Поскольку для многоязычности используется wpml, автор предложил использовать следующую конструкцию:
Код: Выделить весь код
    {% if ICL_LANGUAGE_CODE=='ru' %} 
        {выводим для ru}
    {% else %}
        {выводим для en}
    {% endif %}
Что самое смешное, в гугле довольно много комментов по данной проблеме, и в основном, все у людей работает.
У меня - нет.
Если использую код выше, то результат сортировки всегда - в обоих языках - выводится на англ, если изменяю на
Код: Выделить весь код
    {% if ICL_LANGUAGE_CODE=='en' %} 
        {выводим для en}
    {% else %}
        {выводим для ru}
    {% endif %}
то результат сортировки в обоих языках всегда по русски.
Автор темы стал меня игнорировать, сказал, типа, все должно работать, но у меня не срабатывает и я искренне недоумеваю, в чем проблема.
Если мыслить логически, исходя из результатов сортировки, условие срабатывает, но переменная ICL_LANGUAGE_CODE всегда в первом случае возвращает false - и совершенно не понятно, почему...
Использую ICL_LANGUAGE_CODE для вывода нужных виджетов - в зависимости от языка - все срабатывает...а тут нет...
Предлагается всесто ICL_LANGUAGE_CODE использовать wpml_current_lang - результат абсолютно идентичен предыдущему...
Есть идеи?

-------
http://forum.oszone.net


Отправлено: 16:22, 19-10-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 187
Благодарности: 4

Профиль | Отправить PM | Цитировать


Проблема решена, публикую решение, может, кому то еще пригодится.

Для начала необходимо внести изменения в соответствующий php файл, в моем случае это archive-property.php - если изменения будут вноситься в другие шаблоны, необходимо найти соотв-ий php-файл и внести данное изменение в него.
Например, для header.twig это header.php, для footer.twig это footer.php ну и т.д.

Я буду вносить изменения в шаблон sort.twig, который подключен к шаблону archive-property.twig, поэтому первое изменение я и вношу в файл archive-property.php,

Итак, в archive-property.php в секцию echo View::render необходимо добавить след-ю строку:
Код: Выделить весь код
'wpml_current_lang' => ICL_LANGUAGE_CODE
После чего уже изменения можно вносить в шаблон.

Я изменяю sotr.twig, но можно создать свой шаблон для нужного языка и подключать его.
Я изменяю в sort.twig
Код: Выделить весь код
        <form action="{{ wp.get_bloginfo('wpurl') }}/{{ wp.__('properties', 'aviators') }}/" method="get" class="form-sort form-horizontal">
на
Код: Выделить весь код
	{% if wpml_current_lang == 'en' %}
        <form action="{{ wp.get_bloginfo('wpurl') }}/{{ wp.__('properties', 'aviators') }}/" method="get" class="form-sort form-horizontal">
	{% else %}
	    <form action="{{ wp.get_bloginfo('wpurl') }}/{{ wp.__('ru/properties', 'aviators') }}/" method="get" class="form-sort form-horizontal">
	{% endif %}
И все работает, условие отрабатывает корректно, и сортировка также корректно работает.

-------
http://forum.oszone.net


Отправлено: 13:46, 20-10-2014 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] WPML, двуязычный сайт на wordpress и проблемы при сортировке.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Редирект при заходе на сайт petabyte Вебмастеру 10 20-07-2014 13:30
Неверный пароль при автоматическом заходе на сайт Не Волшебник AutoIt 0 04-04-2014 13:02
[решено] Как убрать в комментариях поле «сайт» в wordpress? anfis_chekhov Вебмастеру 17 15-02-2013 15:58
MySQL - Приоритет при сортировке результатов Select-запроса evg64 Программирование и базы данных 1 28-05-2011 18:41
[решено] Ошибка синтаксиса при входе на сайт Grub Хочу все знать 2 19-12-2006 07:32




 
Переход