Sadchenko 6 Опубликовано: 25 июня 2011 Рассказать Опубликовано: 25 июня 2011 Как многим известно! Мултиязычность на DLE делается путем смены шаблонов. Такой метод, подробно описан Здесь С помощью простой ссылки ВАШДОМЕН.ru/index.php?action_skin_change=yes&skin_name=XXX (где XXX - название шаблона) мы можем изменить шаблон сайта, не используя стандартный метод: {changeskin} Но вот в чем проблема: при смене шаблона, пользователь попадает на главную страницу и соответственно теряет ту новость на которой только что он находился. И не многие догадываются вернуться назад. Столкнувший с данной проблемой я нашел простое решение: 1. Открываем файл /engine/init.php 2. Ищем if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) { $config['skin'] = $_REQUEST['skin_name']; set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 ); } [/php] 3. Заменяем на: [php] if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) { $config['skin'] = $_REQUEST['skin_name']; set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 ); $return_url=getenv("HTTP_REFERER"); header( 'Location: '. $return_url, 303 ); } 4. Проверяем. Теперь, как только человек нажмет на ссылку ВАШДОМЕН.ru/index.php?action_skin_change=yes&skin_name=XXX, у него изменится язык и он автоматом сразу же вернется на предыдущую страницу. Тестировалось на DLE 9.3 Работает на сайте www.2012vipclub.com Ссылка на сообщение Поделиться на других сайтах
aleXka 0 Опубликовано: 25 июня 2011 Рассказать Опубликовано: 25 июня 2011 Посмотрел твой сайт. Хорошо реализована мультиязычность. Ты бы не мог заглянуть в мою тему http://forum.dle-news.ru/index.php?showtopic=56273 Как сделать так как у тебя переключение происходит. Тот же юрлы но разные новости и все остальное. Ссылка на сообщение Поделиться на других сайтах
IRON MAIDEN 2 Опубликовано: 6 февраля 2012 Рассказать Опубликовано: 6 февраля 2012 Замечательная реализация! Большое спасибо! Просто необходимо внести в следующий дистрибутив! Еще бы название сайта и титлы менять - было б вообще здорово! Ссылка на сообщение Поделиться на других сайтах
Maksim337 2 Опубликовано: 6 февраля 2012 Рассказать Опубликовано: 6 февраля 2012 Проще использовать сервис от гугла. Простой список. Быстрая работа. Много языков.И не нужно шаблоны трогать) Ссылка на сообщение Поделиться на других сайтах
IRON MAIDEN 2 Опубликовано: 6 февраля 2012 Рассказать Опубликовано: 6 февраля 2012 Проще использовать сервис от гугла. Простой список. Быстрая работа. Много языков. И не нужно шаблоны трогать) вы переведите туда-обратно (и желательно меняя языки) ваш сайт через сервис гугла ))) наверное варезникам можно использовать данный сервис, но не солидным сайтам Ссылка на сообщение Поделиться на других сайтах
IRON MAIDEN 2 Опубликовано: 7 февраля 2012 Рассказать Опубликовано: 7 февраля 2012 обнаружил один недочет (или просто не нашел решения). с новостями понятно - в другом шаблоне вывод текста на другом языке через доп.поле. тогда переход сработает. а вот если в меню используется статическая страница? в ней доп.полей нету. т.е. для другого языка (шаблона) будет использоваться совершенно другая стат.страница. тогда данный хак не сработает и при смене языка (шаблона) мы останемся на стат.странице с неподходящим языком. проще всего решить эту проблему внедрив в статические страницы доп. поля. но неизвестно как на это посмотрит разработчик! Ссылка на сообщение Поделиться на других сайтах
Tonchi 1 Опубликовано: 12 марта 2012 Рассказать Опубликовано: 12 марта 2012 Как многим известно! Мултиязычность на DLE делается путем смены шаблонов. Такой метод, подробно описан Здесь С помощью простой ссылки ВАШДОМЕН.ru/index.php?action_skin_change=yes&skin_name=XXX (где XXX - название шаблона) мы можем изменить шаблон сайта, не используя стандартный метод: {changeskin} Но вот в чем проблема: при смене шаблона, пользователь попадает на главную страницу и соответственно теряет ту новость на которой только что он находился. И не многие догадываются вернуться назад. Столкнувший с данной проблемой я нашел простое решение: 1. Открываем файл /engine/init.php 2. Ищем if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) { $config['skin'] = $_REQUEST['skin_name']; set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 ); } [/php] 3. Заменяем на: [php] if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) { $config['skin'] = $_REQUEST['skin_name']; set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 ); $return_url=getenv("HTTP_REFERER"); header( 'Location: '. $return_url, 303 ); } 4. Проверяем. Теперь, как только человек нажмет на ссылку ВАШДОМЕН.ru/index.php?action_skin_change=yes&skin_name=XXX, у него изменится язык и он автоматом сразу же вернется на предыдущую страницу. Тестировалось на DLE 9.3 Работает на сайте www.2012vipclub.com Как Вы добились такой реализации многоязычности на сайте ДЛЕ? не могли бы вы описать как вы это сделали?. Был бы очень признателен. Спасибо. Ссылка на сообщение Поделиться на других сайтах
Sadchenko 6 Опубликовано: 6 апреля 2012 Рассказать Опубликовано: 6 апреля 2012 Автор Как Вы добились такой реализации многоязычности на сайте ДЛЕ? не могли бы вы описать как вы это сделали?. Был бы очень признателен. Спасибо. Я давал ссылку на материал!) Ссылка на сообщение Поделиться на других сайтах
freeman85 4 Опубликовано: 17 апреля 2012 Рассказать Опубликовано: 17 апреля 2012 ochen interesno pro SEO. kak na eto reshenie reagiruiut poiskoviki? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.