- Заметки 47
- Комментарии 37
Вчера в 10:54
Артур, спасибо за помощь. Вчера вечером обнаружил, что ошибся в написании некоторых id элементов, а поэтому скрипт работал выборочно. До этого в упор ...
В миникорзине msMCD обновляется цена и счетчик на лету, а pagetitle и изображение только при обновле... 4
05 апреля 2025, 16:28
Спасибо! Только числа. Первый вариант сработал.
Как в mFilter2 добавить where? 2
03 апреля 2025, 17:07
Вроде как решилось ограничением в пакетах, чтобы отдавал по 100 товаров за раз. А так точно уже не помню, но щас точно все работает))
mSync после обновления перестал синхронизироваться 7
03 апреля 2025, 12:03
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
msOptionPrice2 checkbox 5
02 апреля 2025, 10:27
Сменил системную настройку cache_format с сериализации на PHP и заработало.
Странно то, что с сериализацией всё работало нормально.
Как победить кеширование из-за которого слетел сайт modX 3 3
01 апреля 2025, 14:22
Большое спасибо за качественное и подробное описание!
Вообще считаю, что в нынешние времена, веб-аналитика в минишопе должна быть если не из коробк...
Отправка цели "Заказ оплачен" в Яндекс Метрику, если пользователь не вернулся на сайт из п... 1
31 марта 2025, 13:46
Ту тогда нужно смотреть лог ошибок сервера и modx. Сделай запуск скрипта создания наблюдателя из консоли сервера может там инфа об ошибке будет. Ну ес...
msImportExport 2.0 122
31 марта 2025, 01:02
core.transport.zip определяется некоторыми антивирусами как файл содержащий троян. Возможно ативирус перенес его в карантин по тихому. Либо во время о...
где core.transport.zip ? 5
31 марта 2025, 01:01
С большим объемом данных (магазин до 1млн товара) Марина (сравнивал на 11й версии) работает шустрее
MySQL или MariaDB 1
30 марта 2025, 09:00
В таблице msop есть поле description, допишите его в параметр msoptionsprice_window_modification_tabs и появится вкладка с текстовым полем у модификац...
Доработка плагина msOptionPrice2 1
К тому же эти настройки были и в версии 2.2. А устарели они в связи с введением источников файлов.
Только еще момент: таким образом нельзя установить свойства, которых еще нет у объекта. К примеру, если у объекта нет свойства test, то нельзя сделать так: $object->test = $value; Свойства test у объекта после этого просто не будет. Вот здесь как раз и придется использовать $object->set($key, $val), чтобы свойство было создано. За эту магию отвечают ООП-методы __set() и __get() у класса xPDOObject. И вот здесь как раз кроется самое интересное (для этого смотрите сорцы xPDO github.com/modxcms/xpdo/blob/master/xpdo/om/xpdoobject.class.php#L739 ). Дело в том, что в методах __get() и __set() сразу прописана работа со связями getOne()/setOne() и т.д. и т.п.
К примеру, можно сделать так: $profile = $user->Profile, что будет равнозначно $profile = $user->getOne('Profile'). Таким образом можно получить свойство $user->Profile->email, даже если именно в этот момент еще не был получен связанный объект modProfile для этого пользователя. Или вот так:
$user = $modx->newObject('modUser', array(
«username» => «NewUser»,
));
$profile = $modx->newObject(«modUserProfile», array(
«email» => $someEmail,
«password» => $somePass,
));
$user->Profile = $profile;
$user->save();
И будут записаны в БД и данные пользователя (modUser), и данные его профиля (modUserProfile).
1. Сниппет getCrypto (фильтр вывода для шифрование адреса сайта):
2. Создаем страничку site.ru/goto/ и на ней помещяем НЕкешируемый вызов сниппета sendCriptoRedirect:
В итоге первый сниппет будет зашифровывать, а второй расшифровывать и редиректить.
Код взят отсюда: webformyself.com/shifrovanie-dannyx-na-php/
Ф.И.О. — [[+address.receiver]]
E-mail — [[+user.email]]
Телефон — [[+address.phone]]
Индекс — [[+address.index]]
Страна — [[+address.country]]
Регион — [[+address.region]]
Город — [[+address.city]]
Метро — [[+address.metro]]
Улица — [[+address.street]]
Дом — [[+address.building]]
Квартира — [[+address.room]]
Комментарий к заказу — [[+address.comment]]