Сергей Шлоков · 15 декабря 2015, 17:40 3 0 Вот уже было. &where = `["date_event >= now()"]` Вопросы / pdoresources выборка от текущего дня 1
Василий Наумкин · 24 ноября 2015, 19:43 3 +3 Уже можно обновляться =) {if $_modx->isMember('Users')} Для юзеров {else} Для всех остальных {/if} Вопросы / Fenom не работает с некоторыми сниппетами? 41
Василий Столейков · 23 ноября 2015, 22:27 1 +1 Да нет, вызываю сниппет на той же странице что и форма, а форму посылаю на саму себя через POST. А сниппет уже редиректит на ту страницу, которая указана в скрытом поле pageId у формы: <form class="form-horizontal col-xs-12" action="[[~[[*id]]]]" method="post"> <input type="hidden" value="35" name="pageId"> Сниппет: <?php if(isset($_POST['pageId'])) { $pageId = $_POST['pageId']; // тут нужно перечисляем все нужные нам GET параметры $parametrs = array(); if(isset($_POST['country']) && !empty($_POST['country'])) {$parametrs[country'] = $_POST['country'];} // создаём из них ссылку if (!empty($parametrs)){ foreach($parametrs as $key => $value){ if ($firstItemExist == 1) { $urlParametrs .= "&" . $key . "=" . $value; } else { $urlParametrs = "?" . $key . "=" . $value; $firstItemExist = 1; } } } $url = $modx->makeUrl($pageId, '', '', 'full'); $redirectLink = $url.$urlParametrs; header('Location: '.$redirectLink); die(); } else {return;} Вопросы / Не отправлять пустые поля формы 9
Максим · 07 октября 2015, 13:52 8 +2 Может быть кому-то пригодится простенький сниппет для вызова mFilter2, который дописывает в параметр filters имена назначенных для категории опций — эти опции выводятся в фильтре чекбоксами: <?php $catid = $modx->resource->id; $q = $modx->newQuery('msCategoryOption'); $q->select(array( 'msCategoryOption.category_id', 'msCategoryOption.option_id', 'mso.key' )); $q->where(array( 'msCategoryOption.category_id' => $catid ) ); $q->leftJoin('msOption','mso','msCategoryOption.option_id = mso.id'); $q->prepare(); $q->stmt->execute(); $options = $q->stmt->fetchAll(PDO::FETCH_ASSOC); $_options = array(); foreach ($options as $option) { $_options[] = 'msoption|'.$option['key']; } $_options = implode(',',$_options); $scriptProperties['filters'] = implode(',',array($scriptProperties['filters'],$_options)); return $modx->runSnippet('mFilter2',$scriptProperties); Вопросы / В чём разница версий miniShop2? 7
Василий Наумкин · 31 августа 2015, 05:54 4 0 Условия в виде массива в msProducts не принимаются, потому что он ожидает их всегда в виде JSON. Придётся так и указывать: {$_modx->runSnippet('!msProducts', [ 'parents' => 3, 'sortby' => '{ "Data.new": "desc", "msProduct.editedon": "desc" }', 'includeThumbs' => '150x150', 'where' => '{ "Data.price:>=": 0 }', 'limit' => 4, 'showLog' => true, 'tpl' => '@INLINE bla-bla-bla ' ])}У pdoResources такой проблемы нет. Кстати, если очень хочется использовать именно массивы — то можно воспользоваться тем, что json_encode в Fenom является разрешённой PHP функцией: {$_modx->runSnippet('!msProducts', [ 'parents' => 3, 'sortby' => json_encode([ "Data.new" => "desc", "msProduct.editedon" => "desc" ]), 'includeThumbs' => '150x150', 'where' => json_encode([ "Data.price:>=" => 0 ]), 'limit' => 4, 'showLog' => true, 'tpl' => '@INLINE bla-bla-bla ' ])} Вопросы / Проблема с where и sortby в fenom 8
Илья Уткин · 25 августа 2015, 13:52 3 +1 Нашел я, в чем проблемка. На Shared-хостингах распространена практика использования связки NGINX и Apache. В этом случае вся статика (картинки и текстовые файлы) обрабатывается NGINX'ом, а php-файлы обрабатывает Apache. Таким образом, файл /core/docs/changelog.txt будет доступен независимо от того, что указано в .htaccess, а MODX проверяет доступность именно этого файла. Выход один. Сначала проверить, что у вас не открывается в браузере файл /core/cache/logs/error.log, а потом просто удалить файл changelog.txt Тогда ошибка исчезнет. Новости и события / Версии MODX 2.4.0-pl и 2.3.6-pl 128
Пётр Молчанов · 22 июля 2015, 10:52 1 +2 как отправить письмо: $message = $modx->getChunk('ваш_чанк', массив_переменных); // либо можно без чанка тело просто оформить $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->set(modMail::MAIL_BODY,$message); $modx->mail->set(modMail::MAIL_FROM,$modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM_NAME,$modx->getOption('site_name')); $modx->mail->set(modMail::MAIL_SENDER,$modx->getOption('site_name')); $modx->mail->set(modMail::MAIL_SUBJECT,'тема письма'); $modx->mail->address('to',$email); // тут мыло кому отправляете $modx->mail->address('reply-to',$modx->getOption('emailsender')); $modx->mail->setHTML(true); if (!$modx->mail->send()) { $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo); return false; } $modx->mail->reset();событие OnUserSave rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/plugins/system-events/onusersave я использую такой вариант: if ($modx->event->name === 'OnUserSave' && $mode === 'new') { так получаем мыло $profile = $user->getOne('Profile'); $email = $profile->get('email'); тут ваш код, либо мой, который выше } Вопросы / Ручное подтверждение регистрации 15
Максим Кузнецов · 30 июня 2015, 14:19 2 +1 Да, конечно: &leftJoin=`{ "Image": { "class": "msResourceFile", "on": "modResource.id = Image.resource_id AND Image.parent = 0" }, "Thumb": { "class": "msResourceFile", "on": "Image.id = Thumb.parent AND Thumb.path LIKE '%120x90%'" } }` Вот тут более подробная информация и заодно ответ на ваш первый вопрос. Вопросы / Изображения miniShop2 через mSearch 33
Максим Кузнецов · 29 июня 2015, 18:05 2 +1 Ок, я поставил minishop2 и mSearch2. Прикладываю рабочие параметры Join'a: &class=`modResource` &leftJoin=`{ "Thumb": { "class": "msProductData", "on": "modResource.id = Thumb.id" } }` &select=`{ "modResource": "*", "Thumb": "Thumb.thumb as preview" }` — вызывать как [[+preview]]. Все дело было в классе — msProductData вместо msProductFile… Ненавижу LeftJoin..) Вопросы / Изображения miniShop2 через mSearch 33
Максим Кузнецов · 26 июня 2015, 14:36 1 0 mSearch вызывает результаты через pdoResources, а значит: а) можно вывести thumbs через leftJoin вот так (данный пример для вывода превьюшек msGallery2, а для msGallery minishop'a, соответственно, нужно прописать его данные с бд): &leftJoin=`{ "75x75": {"class":"msResourceFile","alias":"75x75", "on": "75x75.resource_id = modResource.id AND 75x75.path LIKE '%/75x75/' AND 75x75.rank=0"} }` &select=`{ "modResource":"*" ,"75x75":"75x75.url as 75x75" }`б) можно применить параметры &class=`msProduct` &element=`msProducts` &includeThumbs=`75x75` — ну и 75х75 заменить на желаемый размер превьюшек Вопросы / Изображения miniShop2 через mSearch 33
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска соб...
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены ...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
FileMan - прикрепление файлов к ресурсам для MODX 3 Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
Сниппет:
У pdoResources такой проблемы нет.
Кстати, если очень хочется использовать именно массивы — то можно воспользоваться тем, что json_encode в Fenom является разрешённой PHP функцией:
Таким образом, файл /core/docs/changelog.txt будет доступен независимо от того, что указано в .htaccess, а MODX проверяет доступность именно этого файла.
Выход один. Сначала проверить, что у вас не открывается в браузере файл /core/cache/logs/error.log, а потом просто удалить файл changelog.txt
Тогда ошибка исчезнет.
событие OnUserSave rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/plugins/system-events/onusersave
я использую такой вариант:
Вот тут более подробная информация и заодно ответ на ваш первый вопрос.
— вызывать как [[+preview]]. Все дело было в классе — msProductData вместо msProductFile…
Ненавижу LeftJoin..)
а) можно вывести thumbs через leftJoin вот так (данный пример для вывода превьюшек msGallery2, а для msGallery minishop'a, соответственно, нужно прописать его данные с бд):
б) можно применить параметры &class=`msProduct` &element=`msProducts` &includeThumbs=`75x75`
— ну и 75х75 заменить на желаемый размер превьюшек