Василий Наумкин

Василий Наумкин

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
Тогда, может, дело не в магазине, а что-то с хостингом или самим сайтом.

По идее, достаточно просто указать верный адрес без логинов и паролей.
http://modstore.pro/extras/
На некоторых хостингах работает только через http, но не через https.
royaloakpub.by/beer/ — пустой раздел
pubgvozd.by/beer-map/ — все ссылки пива ведут на корень сайта (зато сам сайт на MODX Revo!)

Нормально без багов показывает пивную карту только gambrinus.by/beer — было бы логично пойти именно в него =)

Ну или в Гвоздь, и предложить им поправить ссылки в обмен на пиво.
Это не совсем ответ, это просто ссылка на мой компонент.

Там всё банально:
1. Хэшируем параметры вызова сниппета
2. Сохраняем их в сессию, используя хэш как ключ
3. Добавляем ключ в скрытый инпут формы, чтобы он отправлялся на сервер при каждом запросе
4. Соответственно, данные из сессии можно получить только для этого ключа
5. А без ключа и вовсе ничего не работает

Наверное, это можно назвать CSRF токеном, но лично я решал несколько иные задачи — независимую отправку разных форм с одной страницы через Ajax.
Думаю, да. Учитывая еще, что он пишет HTML прямо в PHP, перед нами программист из двухтысячных =)

Наверное, просто решает задачи, как привык, а нужные методы гуглит «как получить все ресурсы в MODX Revo», «Как получить ТВ у ресурса MODX».
Не нужно использовать сниппеты типа IF, гораздо лучше написать свой сниппет-обёртку, например MyMenu:
<?php
if ($modx->resource->id == 8) {
	$scriptProperties['parents'] = 8;
}

return $modx->runSnippet('pdoMenu', $scriptProperties);

И вызывать как
[[!MyMenu?
	&level=`3`
	&parents=`0`
	&resources=`0`
	&rowClass=`tab`
]]
На странице с id == 8 параметр &parents будет заменён.