Вопросы

Как выводить почти одинаковые блоки контента на разных страницах?

Приветствую.
Сразу пример.

На сайте есть продукты
  • продукт 1
  • продукт 2
  • продукт 3
  • продукт 4
  • продукт 5
  • продукт 6
  • продукт n
Есть произовдители:
  • произовдитель 1
  • произовдитель 2
  • произовдитель n
У производителя должно быть каким-то способом создано описание и добавлено в продукт, но как это лучше сделать — вопрос для меня.
weranda
07 октября 2020, 16:14
modx.pro
1
895
0

Задать значение TV параметра из сниппета

Приветствую!

Помогите несведущему… имеется сниппет, который на выходе выдаёт число, а на одной из страниц админки сайта есть поле для ввода значения TV параметра. Подскажите, как поместить в это поле, значение, которое выдаёт сниппет. Раньше работало через @EVAL return $modx->runSnippet('сниппет'), но сейчас так не хочет, как поступить?
MODX Revolution 2.7.3-pl

Заранее спасибо.
bonoman
07 октября 2020, 14:27
modx.pro
728
0

Проблема с кастомной ценой в minishop2

Здравствуйте.
Такая ситуация возникла:
У меня цена формируется в карточке товара с учетом разных дополнительных условий. Потом эта новая цена попадает в корзину через плагин на событие msOnAddToCart
if(!empty($_POST['price'])) {
$tmp = $cart->get();
$tmp[$key]['price'] = $_POST['price'];
$cart->set($tmp);
}
Но, на странице оформления заказа, если «неудачно» нажать кнопку «Сделать заказ» (т.е. если не все обязательные поля заполнены и появляется сообщение об этом), а потом заполнить любое поле input — цена (и, соответственно, вся стоимость) пересчитывается по базовой цене.
При успешном оформлении заказа в заказ тоже попадает базовая цена, а не измененная… вероятно нужен еще какой-то плагин, что бы цена менялась не только в корзине, но и в заказе?
Прошу помочь разобраться.
Игорь
07 октября 2020, 09:06
modx.pro
639
0

Проверка поля select в formit

Добрый день, друзья!
Сделан форму на formit + selectpicker (как с множественным выбором, так и одиночным).
Прописал стандартные события для обработки ошибок, но ничего не работает. Обычные поля проверяются на заполненность. Поля select нет. В чем мб причина? Логи браузера пустые.
Одиночный выбор:
<div class="col-md-6 col-sm-12">
            <label for="age">Age</label>
            <select class="selectpicker form-control" id="age" name="age" data-live-search="true">
                <option value="18">18</option>
                <option value="19">19</option>
                <option value="20">20</option>
                <option value="21">21</option>
                <option value="22">22</option>
                <option value="23">23</option>
                <option value="24">24</option>
                <option value="25">25</option>
                <option value="26">26</option>
                <option value="27">27</option>
                <option value="28">28</option>
                <option value="29">29</option>
                <option value="30">30</option>
                <option value="31">31</option>
                <option value="32">32</option>
                <option value="33">33</option>
                <option value="34">34</option>
                <option value="35">35</option>
                <option value="36">36</option>
                <option value="37">37</option>
                <option value="38">38</option>
                <option value="39">39</option>
                <option value="40">40</option>
            </select>
            <span class="error"></span>
        </div>
Антон
06 октября 2020, 17:05
modx.pro
1 280
0

Требуется помощь при выводе ресурсов по tv полю с датой

Возможно ли вывести ресурсы по датам из tv поля, допустим за сегодня, за завтра (если стоит дата), за после завтра и так далее, в tv поле (множественный выбор) может быть несколько дат, формата типа 01.10.2020||02.10.2020 и так далее?


готовы оплатить любую помощь

Как вариант допилить — daruse.ru/vyiborka-materialov-po-date-v-xpdo-modx
Роман
06 октября 2020, 10:45
modx.pro
583
0

Minishop - PayPal - Certificate issuer is not recognized

Кто знает что за сертификат требует PayPal?

[2020-10-06 09:50:40] (ERROR @ *****/core/components/minishop2/custom/payment/paypal.class.php : 85) [miniShop2] Payment error while request. Request: Array
(
    [METHOD] => SetExpressCheckout
    [PAYMENTREQUEST_0_CURRENCYCODE] => EUR
    [PAYMENTREQUEST_0_ITEMAMT] => 35
    [PAYMENTREQUEST_0_SHIPPINGAMT] => 10
    [PAYMENTREQUEST_0_AMT] => 45
    [RETURNURL] => https://******/*****/assets/components/minishop2/payment/paypal.php?action=success
    [CANCELURL] => https://******/*****/assets/components/minishop2/payment/paypal.php?action=cancel
    [PAYMENTREQUEST_0_INVNUM] => 519
    [L_PAYMENTREQUEST_0_NAME0] => Poster «The Exploited. Punks Not Dead»
    [L_PAYMENTREQUEST_0_AMT0] => 35
    [L_PAYMENTREQUEST_0_QTY0] => 1
)
, response: Peer's Certificate issuer is not recognized.
response: Peer's Certificate issuer is not recognized — что это может означать?
Александр
06 октября 2020, 10:05
modx.pro
888
0

Уведомление пользователей о новом тикете

Друзья, помогите дописать плагин уведомления администратора сайта о новом тикете/об изменении существующего тикета. Написал следующий вариант:
<?php
switch ($modx->event->name) {
    case 'OnBeforeDocFormSave':
 
        if ($mode == 'new' || $mode == 'upd' && $resource->class_key == "Ticket") {  
            $resource->set('published', 0);                               
            $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'));
            
            $user_vo = $resource->get('createdby');
			$theme_vo = $resource->get('pagetitle');
			$user = $modx->getUser();
			$username = $user->username;
            
            $modx->mail->address('to', 'mail@mail.ru');
            if ($mode == 'new') {
                $modx->mail->set(modMail::MAIL_SUBJECT, 'New resourse on the site');
                $modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('dino__new_ticket.tpl', array('pagetitle'=>$theme_vo, 'createdby' => $user_vo, 'username' => $username)));
                }
            if ($mode == 'upd') {
                $modx->mail->set(modMail::MAIL_SUBJECT, 'User edited resourse');
                $modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('dino__edit_ticket.tpl', array('pagetitle'=>$theme_vo, 'createdby' => $user_vo, 'username' => $username)));
                }
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send an email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
 
        }
 
        $resource->save();
 
    break;
}
Все хорошо. Админ уведомляется и при новом тикете и при изменении тикета. НО. Когда администратор заходит в тикет из админки и правит его, задает ему время снятия с публикации, уведомление снова приходит админу на почту и тикет приобретает статус 0. После чего время жизни тикета из него уходит.
Как отменить уведомление админа при изменении самим же админом? + при сохранении админом тикета делать ему статус 1? Готов помочь материально за идею.
Антон
05 октября 2020, 21:47
modx.pro
778
0

Помогите найти галерею для редактора Tinymce (есть на скриншоте)

Приветствую.
Наткнулся на редактор текста: modx.com/extras/package/tinymcewrapper
И там есть скриншот:
Видно, что на скриншоте есть галерея. Она меня заинтересовала. Хотя бы посмотреть на её работу, может быть, пригодится. Но, как не пытался, не нашел её после установки. Если вы что-то знаете о галереии со скриншота, поделитесь информацией и том, где она спрятана.
weranda
05 октября 2020, 09:03
modx.pro
841
0

500 после удаления модуля

удалял через админку модуль, все зависло и сайт упал 500 ошибка
думал через setup обновить но вылазит ошибка
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/uspex/domains/zulus.ga/public_html/core/xpdo/xpdo.class.php on line 2845
Fatal error: Uncaught Error: Call to a member function parseProperties() on null in core/model/modx/modelement.class.php:567 Stack trace: #0 
core/model/modx/modx.class.php(1666): modElement->getProperties() #1 
core/model/modx/modx.class.php(568): modX->invokeEvent('OnMODXInit', Array) #2 setup/includes/modinstall.class.php(486): modX->initialize('mgr') #3 
setup/includes/modinstall.class.php(149): modInstall->_modx(Array) #4
подсажите пожалуйста как починить
Игорь
04 октября 2020, 19:33
modx.pro
1 100
0

Новая опция в ms2 автоматически включена у всех товаров. Как изменить?

Добрый день. Создаю новую опцию (свойство) для товара в настройках ms2. К примеру, опция «В наличии на складе», тип свойства — флажок. Товаров порядка тысячи, на складе их в десятки раз меньше. Но по умолчанию для всех товаров эта опция становится отмеченной галочкой. И чтобы это изменить, надо для каждого товара убрать галочку, что нереально для такого объема.
Подскажите, пожалуйста, как сделать так, чтобы чекбокс «В наличии на складе» для каждого товара по умолчанию был пустым? (Как в TV — там можно выставить значение по умолчанию.)
Дарья Сизова
04 октября 2020, 10:54
modx.pro
1 535
0