Перевод категории Osclass не показывает интерфейс
Здесь на моем сайте был установлен osclass script.it должен быть многоязычным, переводиться на местную сингальскую (si_SI). категории были также обновлены как на сингальском, так и на английском языках. но на начальном этапе при переключении на языки его категории были показаны только на английском языке. У кого-нибудь было решение показывать категории и на других языках?
интерфейс с сингальским языком http://i60.tinypic.com/17cy9j.jpg "интерфейс с сингальским языком"
интерфейс с английским языком http://i59.tinypic.com/314s1u1.jpg "интерфейс с английским языком"
2 ответа
Когда вы выводите категории в элементе select, он, вероятно, должен быть готов к переводу. например <?php _e('categoryName', 'translationName');?>
Ошибка Osclass. Они генерируют плохой SQL для категорий:
SELECT *
FROM ((SELECT a.*, b.*, c.i_num_items, FIELD(fk_c_locale_code, 'sv_SE') as locale_order
FROM (oc_t_category as a)
INNER JOIN oc_t_category_description as b ON a.pk_i_id = b.fk_i_category_id
LEFT JOIN oc_t_category_stats as c ON a.pk_i_id = c.fk_i_category_id
WHERE b.s_name != ''
AND a.b_enabled = 1
ORDER BY locale_order DESC) dummytable)
GROUP BY pk_i_id
ORDER BY i_position ASC
Это пример SQL для Швеции. Сам SQL упорядочивает строки по locale_order. Который равен 1 - sv_SE и 0 - en_US. И просто пытается сгруппировать по pk_i_id. На некоторых конфигурациях mysql это работает, но на некоторых нет.
Как указано в справочном руководстве по MySQL ( https://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html), значения, выбранные расширением GROUP BY, являются неопределенными - это "не гарантируется", что сначала строка (top->down) с отличным значением будет выбрана в конечном результате.
В этом сообщении нет решения.