Несколько мультиязычных сайтов в одной админке
Как реализовать переключение контекстов на нескольких доменах, но когда языки находятся в папках, а не в поддоменах.
Вот пример:
По ссылке bezumkin.ru/sections/tips_and_tricks/2439/ Василий даёт 2 плагина, один только для вложенных в папки языков, другой только для поддоменов.
Как можно совместить эти 2 плагина, чтобы все эти 2 сайта с 2-мя языками каждый переключались правильно?
То есть есть 2 домена, но в одной админке 4 контекста.
Это упрощённый пример. На самом деле нужно в одну админку впихнуть управление минимум 5-ю сайтами, у каждого из которых по 3 языка.
UPD
Решение изложил в отдельной статье: modx.pro/solutions/5602-several-multilingual-sites-in-one-admin-panel/
Вот пример:
- site1.ru/ru
- site1.ru/en
- site2.ru/ru
- site2.ru/en
По ссылке bezumkin.ru/sections/tips_and_tricks/2439/ Василий даёт 2 плагина, один только для вложенных в папки языков, другой только для поддоменов.
Как можно совместить эти 2 плагина, чтобы все эти 2 сайта с 2-мя языками каждый переключались правильно?
То есть есть 2 домена, но в одной админке 4 контекста.
Это упрощённый пример. На самом деле нужно в одну админку впихнуть управление минимум 5-ю сайтами, у каждого из которых по 3 языка.
UPD
Решение изложил в отдельной статье: modx.pro/solutions/5602-several-multilingual-sites-in-one-admin-panel/
Комментарии: 15
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
хотя по сути это можно было бы сделать и за один запрос, если оптимизировать код
Но тут вопрос что удобнее, Сергей предложил более оптимальный выход — поиск по одному параметру
А в плагине разбираешь запрос и формируешь ключ контекста.
А как с этим будет справляться админка и админ, это вопрос.
А в чём проблема, если назвать контексты ЧПУ-именами? Также можно для разных групп менеджеров давать доступ только к контекстам определённого сайта…
Иногда от усталости при копировании с локалки на рабочий сайт ошибаешься и копируешь наоборот, а потом мучаешься, почему не работает.
Проверяю на такой схеме:
Вот что у меня получилось в плагине:
Если доступ есть, вышли на почту, попробуем вместе.
$lang == $l['value']; вернет true и все, да и если тут присвоение — толку тоже чуть, для чего эта конструкция и выше в данном случае достаточно одной проверки на host_language, если не найден — возвращаем первый контекст, если уж правильнее надо вернуть первый по домену, а не вернуть для несуществующего языка по домену test2.ru домен test1.ru