В одной из тем я писал о модуле перевода в Гугле для Престы, точнее - о переделке модуля выбора языков. Однако, этот перекроенный модуль годится только для русскоязычных владельцев Престы. Также нет возможности добавлять, либо удалять языки (кроме как в. tpl файле).
Задавшись целью сделать универсальный модуль, я столкнулся с неприятным моментом - не получалось динамически создавать шаблон средствами Smarty & PHP. Модуль попросту не работал!
Признаюсь, я не слишком пока дружу с Ajax, да и вообще, с явой. Потому пришлось "явить миру" модуль, использующий несколько языков: js, php, Smarty и XAJAX.
Собственно говоря, с XAJAX я подружился еще на Джумле. Он очень удобен тем, что ява-скрипт можно организовать средствами php. Кстати, с Престой XAJAX интегрируется очень легко (в Джумле сложнее).
Ну, значит, сделал я отдельный модуль, а при тестировании в сети оказалось, что когда сайт переведен Гуглом, то возвратиться к оригинальной версии сайта невозможно (сервер переводчика запрещает доступ). Пришлось сделать кнопку возврата (уже с использованием стандартного js). Получилось довольно неплохо. Да и потом, если к примеру, какой-нибудь русскоязычный пользоватедль для прикола попробует перевести сайт, скажем на арабский язык, то найти точку возарата ему было бы ох как непросто! Ведь и выплывающий список языков переводится.
Ну, в общем, сделал модуль, и все тут! Правда в нем XAJAX используется только для редиректа. Но в будущем, я планирую гораздо шире использовать возможности XAJAX, в разработках других нужных модулей. Этим и займусь в свободное время.
Интегрировать XAJAX в Престу, как я уже говорил, легко. Я сделал так:
1. Положил папку xajax-0.5 (использую эту версию) в директорию tools сайта.
2. В файле путей defines.inc.php указал пути:
Define ('XAJAX_VER', 'xajax-0.5');
Define ('JPATH_JS', _PS_TOOL_DIR_. XAJAX_VER);
Define ('JPATH_XAJAX', JPATH_JS. '/xajax_core/');
Вот, по сути и все. Как организовано включение XAJAX в скрипт, можно посмотреть на примере моего модуля, который можно скачать на моем
сайте. Также там можно прочесть о работе с модулем.
Пакеты Xajax можно легко бесплатно скачать с оф.сайта разработчика.
Модуль перевода работает на
сайте.