Іван Клімчук

Іван Клімчук

Был в сети 13 мая 2025, 17:35
Заказы не принимаю
В случае с msearch все логично, потому что jquery навешивает обработчик на событие, а когда msearch это событие тригерит, запускается обработчик. А в случае с явным вызовом minishop объекта такое уже не получится. Стоит скорее всего последний minishop версии 2.4, почитал документацию, но видимо что-то там не дописано. Буду на неделе разбираться, найду ответ — напишу.
Вы, конечно, можете обижаться, но ждать, что все бросят все свои заботы и побегут вам помогать в выходной день, как то наивно, мне кажется.

Да и описали бы что хотели сделать (задачу), а то ошибка и все. Я тоже какой-то код могу вставить и говорить, у меня ничего не работает, помогите.

Мои предположения, что код minishop подключается ниже, чем ваш вызываемый код. Плагины подключают скрипты в конце страницы, а в вашем случае ваш вызов скорее всего в начале, следовательно на момент загрузки вашего скрипта на странице еще нет объекта minishop2, потому и ошибка.
Я же не просто так написал, что нужно все данные о пользователе положить в плейсхолдеры. Понятное дело, что на обычной странице информация о текущем пользователе будет выводится. Поэтому и записана все в плейсхолдеры с префикстом user. Выводить нужно так [[+user.fullname]], [[+user.email]] и тд. Кешированые или нет — это уже сами решайте.
По 2-му вопросу, все логику делаете в самом шаблоне этой страницы. Если используете Fenom, то с ним несколько проще. Но на деле можно проверить так. Если в плейсхолдере user.id есть значение, значит у нас страница пользователя и нужно показать карточку юзера, если нет, то вывести список всех пользователей через pdoUsers. Т.е. обычный if.
Насчет 3 не совсем понял, но определить пользователя по ID или useraname — это дописать условие в проверки в плагин. Если пришли цифры (можно проверить регулярным выражением или просто проверить на целое число функцией php), то искать пользователя по ID, иначе по username. Следовательно, если не нашлось, 404, нашлось — все тоже самое. Данные в плейсхолдеры, в шаблоне условия.
Ну а как записать юзеру параметр, как его ссылку показывать, ну так тут можно или доп поля испльзовать или системные настройки уровня пользователя (я у себя из использую, так как отдельная таблица, проще иногда работать, modx_users_settings).
О, спасибо. Я гуглил инфу на этот счет и как-то ничего вразумительного не нашел.
Но тем не менее это не отменяет проблемы генерации карты из своих объектов. По крайней мере pdoSitemap так не умеет, только через pdoResources и со своими шаблонами.
Видимо комменаторы не совсем поняли суть вопроса. Человек спросил, как добавить в карту сайта свои данные, а не только ресурсы. У меня такая же проблема, так как у меня лежат объекты в БД в своих таблицах, которые выводятся как страницы (через плагин роутинга) и они должны быть в карте сайта, но я покопался в исходниках и скажу, что просто это сделать нельзя. В pdoSitemap класс для выборки захардкожен.
У меня задача пока в плане стоит, как разберусь и перепишу, отправлю фикс в основную ветку pdoTools.
Да бы не было мистики в головах, проблема скорее всего крайне прозаическая.
habrahabr.ru/post/198312/ — с версии php 5.5 был удален пакет для работы json. Вернее вынесен в отдельный пакет-расширение, которое ставится как зависимость (на нормальной системе на linux). Крайней рекомендую один раз сесть и разобраться, как работает VirtualBox и настраивать окружение такое же, как и на хостинге, т.е. на linux. Это убережет в дальнейшем от глупых и непонятных вопросов.
Ни на какую. Забудьте вы этот бред с 777. А то потом будут вопросы «А как мне сайт от вирусов почистить, помогите!?»
Есть лог ошибок в MODX, там как правило все ошибки написаны и описаны, нужно только не лениться разобраться. Если вы создаете в админке тикеты, то там не может не быть кнопки сохранить, максимум что может быть — это disabled кнопка. Показывайте скриншот что ли, а то пока не понятно. Ну и лог ошибок.