Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 110 комментариев

Aleksandr Huz
Aleksandr Huz
Сниппеты исключают страницу, если нет перевода, даже если показываем 404 страницу.

Поэтому у меня работает так:
  • redirect — если мы переходим на страницу без перевода, то срабатывает редирект на главную, и такие страницы исключаются из всех сниппетов.
  • 404 — то же самое, что и redirect, но показываем 404 страницу вместо главной
  • default — страницы без перевода учитываются в сниппетах, (pbLang, pbMenu), но не в pbSitemap. При переходе на такую страницу показываем страницу без перевода.

За это будет отвечать системная настройка pageblocks_context_fallback
Columb
Columb
Вся логика в том, что локализованные версии сайта по своей сути отдельные сайты как для поисковых систем, так и для посетителей.

Если страница не переведена, то она должна быть исключена из локализации — для поисковых систем это не релевантная страница в данной локализации, а для посетителя — не user friendly.

В сниппетах Polylang для этого применяется параметр onlyWithLocalization:
Исключение из результатов сниппетов ресурсов без локализации
Если необходимо исключить из результатов работы сниппетов ресурсы которые не содержат для текущего языка локализаций, то добавьте в вызов сниппета параметр onlyWithLocalization с значением 1.
Дмитрий
Дмитрий
Сейчас расскажу прикол из ряда вон выходящий, поставил на тестовом сайте, всё хорошо. Перенёс этот сайт на этом же хостинге (переименовал папки и поправил конфиги) всё, не открываются пользователи для редактирования, скопировал сайт, скопировал базу, положил рядом на этом же хостинге переименовал в dev.hostname.ru, на тестовом работает, на проде нет
Александр Туниеков
Александр Туниеков
Привет. Вывод интерфейса админки минишопа в web контекст никто не делал. Я делаю потихоньку интерфейс своей ERP на getTables и PVTables в web контексте. Не охота писать в админке и пускать в нее. Но пока разработка в процессе. В принципе, аналогично можно интерфейс минишопа переписать.
И даже у меня пока есть время и мне интересно взяться за такую задачу. Если вам интересен интерфейс минишопа на PVTables напишите мне. Посмотрим как вы видете задачу. Может возможно сделать, а может еще рано. Например, файлового менеджера в PVTables еще нет.
Aleksandr Huz
Aleksandr Huz
Важно решить как управлять страницами при мультиязычности:
Сейчас, если перевода нет — показывается страница в основной локали.
Остальные варианты пока не реализованы.

pbLang — есть
pbSitemap — есть
pbCanonical — будет

Желающие «переехать» на ваш компонент также столкнуться с еще одной проблемой — у многих сайты на субдоменах или того хуже — на разных доменах.
Если используется роутинг — проблем вообще нет. А если по старинки, то да, нужно доработать.
Columb
Columb
Важно решить как управлять страницами при мультиязычности:
— если нет перевода, то не отображать страницу

- если нет перевода, то показывать 404

- если нет перевода, то показывать «основную» локализацию



Как правило, клиенты просят исключить (не отображать) не переведенные страницы. Эта логика должна учитываться, в том числе и при формировании sitemap.

Также для мультиязычности необходим сниппет Canonical — sitemap, сanonical и переключатель языков (pbLang) базовые снипеты для мультиязычного сайта

Желающие «переехать» на ваш компонент также столкнуться с еще одной проблемой — у многих сайты на субдоменах или того хуже — на разных доменах.

PS Посмотрите в сторону Polylang, отличный компонент, но не поддерживает MODX 3.
Henk Everts
Henk Everts
Привет, Дима! Мне тоже пришлось немного поискать, потому что пока что ещё не так много было выпущено. И, честно говоря, я не могу точно сказать, когда это изменится.

Тем временем я с удовольствием направляю тебя к подробной статье в блоге Марка Хамстры (modmore). Он объединил усилия с Джоном Пекой (MODX LLC), и это означает более тесное сотрудничество в области AI и MODX. Статью можно найти здесь:
modmore.com/blog/2025/building-a-foundation-for-ai-in-modx/

Конкретным результатом хакатона, конечно, является выпуск BabelTranslate 1.5.0. Теперь можно настроить OpenAI как сервис для перевода: modmore.com/babeltranslate/releases/#version_1.5.1-pl

Когда появятся новые новости, мы обязательно ими поделимся — в том числе через новостную рассылку MODX от Sterc. Если ты ещё не подписался, это можно сделать здесь: sterc.com/en/modx-newsletter

С наилучшими пожеланиями,
Хенк

P.S. Сегодня (в конце дня) мы запускаем новый сайт Sterc. Это событие приурочено к нашему 20-летнему юбилею (2005–2025). Разумеется, этот сайт тоже разработан на MODX.
Даша
Даша
Хм… Тогда есть пара вопросов… для свежего MODX'а рекомендуется использовать не ниже 8.2, при этом, вы написали, что обычно Admin Tools себя так не ведет, значит, у вас он установлен. Т.е., многие каким-то образом нашли баланс, подходящий для ядра и др. дополнений, так и для Tools'а. У вас какая версия?
Даша
Даша
Логов самого хостинга вообще нет. В кэше нашла что-то про доступ (по не буду приводить здесь), а из интересного — у меня выставлены настройки этого сайта php 8.3 в настройках хостинга, а версия в БД определяется 7.4. Но, опять же, только если Админ Тулс каким-то образом это проверяет или меняет, т.к. если это критическая ошибка, то оно бы и раньше не работало, ИМХО.
Артур Шевченко
Артур Шевченко
Ошибки HTTP начинающиеся на 5 это ошибки сервера. Чтобы разобраться в причинах надо смотреть логи сервера. Но поскольку обычно проблем с AdminTools не наблюдается, предположу, что причина ошибки в окружении: не подходящая версия php, modx, БД.