Дмитрий
С нами с 23 апреля 2015; Место в рейтинге пользователей: #2704 часа назад
Желание имеется) Почти на всех проектах стоит Localizator, поэтому смогу оценить разницу.
Localizator 1.0.9 и 1.1.0 7
Сегодня в 11:00
Делал такие «Спецификации», получилось настолько уникальное и заточенное под сайт решение, что прям и в отдельный пакет то не оформить — куча специфич...
Несколько корзин на сайте, списки желаний/покупок, возможность поделиться, списки товаров для расчет... 1
Сегодня в 08:33
Добрый день
Не то что бы заброшен заброшен, просто не обновляется ввиду отсутствия необходимости.
Исходя их описанных задач, данный компонент не под...
msBaskets 5
11 апреля 2026, 17:48
Добрый день. Товары заказа можно отправить в корзину и сделать заказ и помоему был функционал создания нового заказа из другого заказа.
Женим mFilter2 и msListOrders 8
11 апреля 2026, 17:11
Добра всем!
По ходу компонент заброшен?
Удивился сам что я когда-то его тестил и писал по нему вопросы, уже не помню даже когда и где.
Вопрос тек...
[shareCart] - поделись корзиной 28
11 апреля 2026, 17:08
Добра всем!
Не понял как создать несколько корзин?
И чтобы у каждого был свой шаблон.
Можно ли так сделать некие различные типы корзин типа списо...
[MsAltCart 1.0.7] Теперь с документацией. 2
04 апреля 2026, 18:58
пробовал — ошибка та же
кстати MODX 2.7.2 — подключается нормально
кстати MODX 3.2.0 — не нормально
Не могу подключить репозиторий 3
01 апреля 2026, 18:15
У меня на регистрации словил ошибку.
При это пользователь явно создался, т.к. повторно создать пользователя на ту же самую почту не дает.
При повто...
[MAX bot] отправляем сообщение в бот MAX на изи 7
30 марта 2026, 20:49
PHP >= 8.2 должно быть. У MS3 минимум 8.2
[msCDEK] Расчёт доставки СДЭК в miniShop3 1
Когда пользюк делает релог, то все становится нормально. Редиректа нет.
В чем может быть дело?
1. Если использовать сниппет, то фраза должна быть не кешируемой. То есть [[!%a_buy]] будет работать, а [[%a_buy]] — нет.
2. Если использовать плагин, то кеширование фраз не требуется. То есть [[%a_buy]] работает.
3. $modx->setOption('cultureKey',$lang); — обязательная строка.
Код плагина на событие «OnLoadWebDocument»:
Вопросик по поводу:
$lang = $modx->getOption('culture_key');
$modx->setOption('cultureKey',$lang);
Стоит ли поменять название ключа culture_key в контексте на cultureKey? Вроде бы ничего не должно поломаться?)
Но как не пытаюсь, не выводит английскую и все тут.
Для верности, даже поэкспериментировал напрямую:
Так, на русском:
Так, тоже на русском:
А вот так, не обрабатывает значения, т.е. на выходе «a_packs»:
И повесил ресурсы с каждого из контекстов на них обработчиками. Все работает.
Быть может нужно как-то отследить событие инициализации VP, что бы это событие можно было повесить на плагин мультиязычности?
Странно все это.
Ссылки внутри чанка сами собой с /en/, в то время как ссылки вне чанка без /en/.
Как и говорили выше.
Поэтому, создал свой ключ в каждом из контекстов, в котором прописано значение, которое нужно для корректной выборки из базы.
Маршрут остался первоначальным:
Обработчик тоже почти не изменился:
[[!mysnippet?
&context=`[[++myname]]`
&item_id=`[[+vp.item_id]]`
]]
Правда пришлось отключить кеширование.
Про настройки pdoMenu спасибо, надо поковырять.
Судя по всему, в контексте en, по ссылке sitename.ru/en/item/123123/ vp анализирует только то, что находится после sitename.ru/en/. Это становится ясно, включая/выключая маршрут /item/{item_id:[0-9]+}/.
Когда последний отключен, modx выдает 404, когда включен, обработчик срабатывает.
Ищет предмет в базе по id.
Спасибо за код, я делал так:
Что по сути только меняло переменную, чтобы можно было вытащить английское название.
Теперь, благодаря вам, так:
Однако, по прежнему, VP не понимает ссылку:
sitename.ru/en/item/4/
В контексте /en/ работает только так:
sitename.ru/en/en/item/4/
1. Боюсь, что поменяв в настройках контекста site_url либо base_url, появятся проблемы с мультиязычностью.
2. Появляется еще одна проблема, VP не знает что контекст изменился, поэтому в меню генерируются ссылки вида:
sitename.ru/index.html
вместо:
sitename.ru/en/index.html
Меню собирается при помощи pdoMenu
base_url для en = /en/
Согласно инструкции.
И каша в голове. Похоже, единственное что работает, это костыль. :\
Допустим, ссылка:
sitename.ru/en/item/1267/
получаем ошибку 404 (у меня 503 т.к. не задал страницу в данном контексте)
Если добавим еще один /en/:
sitename.ru/en/en/item/1267/
То все работает.
Получается, что нужно что-то мудрить с base_url?
Похоже, что самый простой вариант, добавить маршрут:
/item/{item_id:[0-9]+}/en/
И привязать к обработчику:
Так — работает.
Правда ссылка будет:
sitename.ru/en/item/1267/en/
Хотя будет прекрасно работать и с:
sitename.ru/item/1267/en/ Только это ни к чему.
Впрочем, костыль готов. :)
:facepalm:
[[*context_key]] ведь возвращается такой, в каком контексте расположена страница? Получается, что VirtualPage как виртуальный не может находиться где-либо, и берется значение прописанное в скриптах VirtualPage по умолчанию?
item_id — id строки игрового предмета из общей базы. Из которой я беру столбцы name_web, name_en и так далее, в зависимости от ключа контекста, и вывожу данные о предмете.