Вопросы
Как получить значения TV-полей и других полей сохраняемого ресурса - в плагине с событиями OnBeforeDocFormSave или OnDocFormSave
Зделал создание тикета без регистрации, альтернативным способом, указанном в заметке: modx.pro/solutions/5288
Что-то типа вопрос-ответ, но каждый вопрос-ответ отдельный ресурс.
Однако уведомление администратору не приходит.
Сделал TV-поля с Именем и Еmail
Сделал 2 плагина, один для администратора, в котором прописал email администратора — уведомления идут.
Второй плагин для незарегистрированного пользователя, однако TV-параметры получить не могу.
Пробовал так:
Вот плагин, который сохраняет тикет неопубликованным и должен отсылать сообщение на email пользователю:
Думаю и с получением и других полей сохраняемого ресурса также имеет место проблема.
Хотелось бы еще сделать, чтобы при публикации тикета из админки приходило уведомление создателю тикета на email из TV-поля $email_author_vo
Может есть иной способ сделать уведомления при создании тикета администратору и пользователю, создвшему тикет (задавшему вопрос), лучше даже при сохранении в черновики, а после ответа на вопрос и публикации этого тикета, отсылать уведомление задавшему вопрос о публикации ответа (то есть этого тикета)?
Что-то типа вопрос-ответ, но каждый вопрос-ответ отдельный ресурс.
Однако уведомление администратору не приходит.
Сделал TV-поля с Именем и Еmail
Сделал 2 плагина, один для администратора, в котором прописал email администратора — уведомления идут.
Второй плагин для незарегистрированного пользователя, однако TV-параметры получить не могу.
Пробовал так:
$modx->resource($email_author_vo);Ничего не выходит...Вот плагин, который сохраняет тикет неопубликованным и должен отсылать сообщение на email пользователю:
<?php
switch ($modx->event->name) {
case 'OnBeforeDocFormSave':
if ($mode == 'new' && $resource->class_key == "Ticket") {
$resource->set('published', 0);
/*Активируем почтовый сервис MODX*/
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
/*Адрес получателя нашего письма... <strong>КАК СЮДА ПОЛУЧИТЬ TV-ПОЛЕ С EMAIL?</strong>...
Если прописать реальный email, то на него письма идут*/
$modx->mail->address('to', $resource->getTVValue('email_author_vo'));
/*Заголовок сообщения*/
$modx->mail->set(modMail::MAIL_SUBJECT, 'Вы задали новый вопрос');
/*Подставляем чанк с телом письма (предварительно его нужно создать)*/
$modx->mail->set(modMail::MAIL_BODY, 'Вы задали вопрос на сайте');
/*Отправляем*/
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'Произошла ошибка при попытке отправить письмо: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
}
$resource->save();
break;
}Как получить значения TV-полей в такой плагин — с событиями "OnBeforeDocFormSave" или "OnDocFormSave"?Думаю и с получением и других полей сохраняемого ресурса также имеет место проблема.
Хотелось бы еще сделать, чтобы при публикации тикета из админки приходило уведомление создателю тикета на email из TV-поля $email_author_vo
Может есть иной способ сделать уведомления при создании тикета администратору и пользователю, создвшему тикет (задавшему вопрос), лучше даже при сохранении в черновики, а после ответа на вопрос и публикации этого тикета, отсылать уведомление задавшему вопрос о публикации ответа (то есть этого тикета)?
Не работает кнопка Удалить на странице сравнения Comparison
Если не работает кнопка Удалить на странице сравнения Comparison.
Преходим assets/components/comparison/js/default.js и вносим изменения
Преходим assets/components/comparison/js/default.js и вносим изменения
Размеры картинки в CompareList
Как изменить размеры миниатюры товара на странице сравнения товаров?
Вывод и оформление каждого выбранного варианта TV-поля в html-теги
Здравствуйте. Возможно, это какой то лёгкий вопрос, но в интернете я не нашёл на него ответа помимо php-кода разных сниппетов. А может я плохо читаю документацию. В общем, есть тв-поле, имеющее параметр ввода Список, множественный выбор. Есть раздел тикетов с ними. В каждом тикете находится это тв-поле, где выбираются нужные варианты и выводятся через код:
<div class="about">
<p>здесь могла бы быть ваша реклама</p>
<hr>
<h3>Наша команда</h3>
[[!pdoPage?
&parents=`24`
&tpl=`team-item`
&sortdir=`ASC`
&includeTVs=`team-image, team-speciality`
]]
</div> При правках ресурса он снимается с публикации
При любых правках ресурса он снимается с публикации. Помогает только руками в базе поменять published на 1. Кажется появилось после обновления MODX до последней версии. Кто-нибудь сталкивался с подобным?
Значение по умолчанию checkbox
Добрый день. Есть checkbox, выбирается цвет. В поле возможные значения я написал @SELECT `pagetitle`,`id` FROM modx_site_content WHERE parent = 172 ORDER BY `pagetitle`. Все выводит корректно и выбирается. А что вписать в поле значения по умолчанию. Ну чтобы при создании товара допустим 4 цвета были отмечены по умолчанию, если пользователь не выбрал другие значения?
getResourcess внутри getResourcess
И так дано:
Структура сайта
Структура сайта
- Главная
- Авто
- Японские
- Марка-1
- Марка-2
- Марка-3
- Марка-4
- Японские
Запрос цены в Telegram-сообщения (modTelegram)
Здравствуйте, подскажите пожалуйста.
Как можно реализовать такую функцию?
Есть категория товаров, у которых не указывается цена. Как можно сделать, чтоб при нажатии на кнопку Запросить цену, выводилось модальное окно, где нужно гостю ввести номер имя и e-mail, нажать на кнопку Запросить и запрос шел в чат Telegram-сообщения на самом сайте вместе с его данными и Данными о товаре?
Как можно реализовать такую функцию?
Есть категория товаров, у которых не указывается цена. Как можно сделать, чтоб при нажатии на кнопку Запросить цену, выводилось модальное окно, где нужно гостю ввести номер имя и e-mail, нажать на кнопку Запросить и запрос шел в чат Telegram-сообщения на самом сайте вместе с его данными и Данными о товаре?
[Решено] Как вывести в mfilter
Как в фильтре mfilter вывести из поля ms|platforms с типом список с автодополнением где данные в виде [«val1»,«val2»,«val3»]?
Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?
Сейчас выглядит фильтр следующим образом:
Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?
Сейчас выглядит фильтр следующим образом:
{'!mFilter2' | snippet : [
'parents' => $_modx->resource.id,
'limit' => 12,
'class' => 'msProduct',
'element' => 'msProducts',
'tpl' => '@FILE components/msearch2/mfilter/row.tpl',
'tplOuter' => '@FILE components/msearch2/mfilter/outer.tpl',
'tplPageWrapper' => '@INLINE <ul class="pagination justify-content-md-end mt-2">{$pages}</ul>',
'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
'tplPageActive' => '@INLINE <li class="page-item active"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
'tplPageSkip' => '@INLINE <li class="page-item gap"><span class="page-link">...</span></li>',
'tplPageFirst' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
'tplPageLast' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
'tplPageFirstEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
'tplPageLastEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
'tplPagePrevEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">«</a></li>',
'tplPageNextEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">»</a></li>',
'where' => '{"class_key":"msProduct"}',
'suggestions' => 'true',
'filters' => '
ms|price:number,
ms|platforms:checkbox
',
'sort' => '
ms|price:desc
',
'tplFilter.outer.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-outer.tpl',
'tplFilter.row.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-row.tpl'
]}