- Заметки 47
- Комментарии 37
35 минут назад
Оставленная «на потом» дока будет камнем на шее успешного запуска нового модуля.
Про платную расширенную версию ещё не забываем.
MiniShop3 - чего ждать в Beta версии. 8
8 часов назад
в phpStorm плагин Codeium для автодополнения, а так в браузере Gemini (https://aistudio.google.com/app/prompts/new_chat) он намного намного лучше chat...
Испытание ИИ Cursor 1
Вчера в 23:11
Ну планируется что расчеты будут делать клиенты на сайте. А чтоб они не могли приписать себе любую цену товара считать цену надо на стороне сервера. Т...
Плюсы и минусы Vue и gtsAPI 20
Вчера в 19:01
xtype: modx-combo-user
Это xtype (тип поля) самого MODX, выводит всех пользователей modUser
Список всех возможных типов полей
Вывести поле создателя при редактировании ресурса 3
Вчера в 17:31
Пишет не валидный токен «Невалидный токен»
Полностью переустановил modx полностью переустановил sendit
Apache:
2.4.55
Панель управления Beget My...
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 23
Вчера в 13:40
Написал вот такой плагин, меня устраивает
<?php
// OnDocFormRender
$modx->controller->addHtml('<script>Ext.onReady(function(){
...
SEOSuite - после установки! 3
Вчера в 09:56
Правильно так:
{('<script type="text/javascript" defer> let my_variable = "' ~ $_modx->resource.MyTv ~ '";</sc...
Как правильно вставить modx переменную в js скрипт на Fenom 1
02 декабря 2024, 10:49
Сегодня вышло обновление от тебя, всё исправлено! Спасибо!
PageBlocks. Удобное управление контентом сайта. 38
02 декабря 2024, 10:07
@Артур Шевченко
Добрый день!
Можете подсказать.
Делаю Регистрацию на сайте, с помощью Sendit.
Согласно документации создал отдельно копию пр...
Как кастомизировать сообщения после Регистрации на сайте? 4
02 декабря 2024, 09:40
Сталкнулся с двумя особенностями…
1) После апдейта с 3.5.2 на 3.6 в табе «Расписание Крон» задания перестали отображаться. Сделал удаление полное ком...
CronTabManager - или как управлять crontab из админки 19
К тому же эти настройки были и в версии 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]]