Всего 123 782 комментария

Дмитрий
16 октября 2023, 17:04
+2
Дополню пост. Возникла проблема при выводе даты на странице категории товаров. При использовании mFilter после фильтрации товаров дата «слетает». Сниппет переписан следующим образом:

<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$field = $modx->getOption('field', $scriptProperties);
$tpl = $modx->getOption('tpl', $scriptProperties, 'msTimeStampTpl');
if ($modx->getObject('msProduct', $id )->get($field) == null) {
    return false;  
}

$tablePrefix = $modx->getOption('table_prefix');
$table = $tablePrefix.'mstimestamp_product';
$sql = "SELECT * FROM $table WHERE product_id = $id AND field = '$field'";
$statement = $modx->query($sql);
$date = $statement->fetch(PDO::FETCH_ASSOC);
if(!empty($date)){
    return $modx->getChunk($tpl, ['date' => $date['valid_until']]);
}
return false;

Также, вместо отображения даты, может быть удобнее вывести оставшееся количество дней. Я сделал это прямо в шаблоне на fenom:

{if $favorite}
{set $favoriteDate = '!msTimeStampDate' | snippet: ['id' => $id, 'field' => 'favorite']}

{if $favoriteDate != ''}
{set $nowDate = $date | date_format:"%s"}
{set $daysLeft = (($favoriteDate - $nowDate)/60/60/24) | number : 0 : '' : ''}

{if $daysLeft > 0}Ещё {$daysLeft | declension : 'день|дня|дней' : true}{else}Успейте сегодня!{/if}

{/if}
{/if}

Спасибо @Артур Шевченко за помощь и @Денис Усманов за данное полезное дополнение.

Критика и комментарии приветствуются.
Виноградов Тимур
16 октября 2023, 15:33
0
А я вывожу так:
[[!xLike?]]
А на выходе на странице вижу вот чего:
{*@formatter:off*} {var $pathes} {/var}
{$rating | number_format : 2 : '.' : ''}%<{$can ? 'a' : 'span'} class="xlike__link {$value > 0 ? 'xlike__link_active' : ''} [ {$can ? 'js-xlike-button' : ''} ]" {$can ? 'data-xlike-value="1" href="javascript:undefined;"' : ''} >  {$likes | number_format : 0 : '' : ' '} <{$can ? 'a' : 'span'} class="xlike__link {$value < 0 ? 'xlike__link_active' : ''} [ {$can ? 'js-xlike-button' : ''} ]" {$can ? 'data-xlike-value="-1" href="javascript:undefined;"' : ''} >  {$dislikes | number_format : 0 : '' : ' '}
Руслан Алеев
16 октября 2023, 11:02
0
У меня тоже такая проблема была, так и не смог решить. Т.е. во внешнем скрипте удаление не работало, причем и класс miniShop2 был подключен. Но, возможно, действительно скрипт видел анонимного пользователя у которого прав нету на удаление и, видимо, как-то прописывать админ-юзера нужно в скрипте.
Артур Шевченко
16 октября 2023, 10:12
0
Может пользователю от имени которого происходит удаление прав не хватает?
Евгений
15 октября 2023, 16:18
0
РЕШЕНО!
Работает если вставлять массив.
$data = [
    'pagetitle' => $_GET['id'],
    'parent' => 130,
    'template' => 21,
    'properties' =>['ms2gallery'=>['media_source' => $modx->getOption('ms2gallery_source_default')]]
 ];
Евгений
15 октября 2023, 14:23
0
Пробовал массив передавать
$properties = ['ms2gallery'=>['media_source' => $modx->getOption('ms2gallery_source_default')]];
Игорь
15 октября 2023, 13:59
0
Вывел в логи срабатывание плагинов:
[2023-10-15 13:50:33] Сработал msBonus: OnMODXInit
[2023-10-15 13:50:33] Сработал msBonus: msOnBeforeSaveOrder
[2023-10-15 13:50:33] Сработал msBonus: msOnSaveOrder
[2023-10-15 13:50:33] Сработал msBonus: msOnCreateOrder
[2023-10-15 13:50:33] Сработал msTelegram
[2023-10-15 13:50:34] Сработал msBonus: msOnEmptyCart
[2023-10-15 13:50:34] Сработал msBonus: msOnBeforeChangeOrderStatus
[2023-10-15 13:50:34] Сработал msBonus: msOnBeforeSaveOrder
[2023-10-15 13:50:34] Сработал msBonus: msOnSaveOrder
[2023-10-15 13:50:34] Сработал msBonus: msOnBeforeSaveOrder
[2023-10-15 13:50:34] Сработал msBonus: msOnSaveOrder
[2023-10-15 13:50:34] Сработал msBonus: msOnSaveOrder
[2023-10-15 13:50:35] Сработал msBonus: OnMODXInit
[2023-10-15 13:50:43] Сработал msBonus: OnMODXInit
В событии msOnCreateOrder порядок верный сейчас (сначала msBonus, потом msTelegram).
т.е. отправку телеграм нужно вешать на какое-то другое событие? Но ведь тогда будут лишние сообщения приходить при каждом сохранении заказа? А нужно только о новых заказах писать в телеграм?
Что-то я совсем запутался — на почту ведь нормальное письмо приходит, со всеми бонусами (и на странице «Заказ получен» тоже всё хорошо)
Сергей Карпович
15 октября 2023, 12:59
0
Этот код не выполняется. Что поправить нужно?
Скрин: disk.yandex.ru/d/BT__LqKkBIfg9g
Игорь
15 октября 2023, 11:50
0
Такое ощущение, что эти бонусы «долго списываются» и msTelegram раньше начинает свою работу, даже если по порядку он включается позже… Такое может быть?
Может быть моно настроить какую-нибудь задержку по времени выполнения?
Игорь
15 октября 2023, 11:24
0
msTelrgram:
$message = "
Новый заказ #{$msOrder->num}
на сумму {$msOrder->cost} р.
Оплата: {$msOrder->Payment->name}
Доставка: {$msOrder->Delivery->name}
...
"
Павел Романов
15 октября 2023, 10:36
0
Попробуйте так:
[[getImageList?
    &docid=`123` 
    &where=`{ "part-name:LIKE":" %***% " }` 
    &tpl=`tpl.part`
]]
123 — ID ресурса с TV migxTable
*** — критерий для отбора в поле Название

Чанк tpl.part
<div class="part-data">
  <h2>[[+part-name]]</h2>
  <p>Изображение заведения: <img src="[[+part-image]]"></p>
  <p>Адрес заведения: [[+part-adress]]</p>
</div>
steve.kon
14 октября 2023, 23:20
0
Спасибо, очень интересно. Попробую!
Артур Шевченко
14 октября 2023, 22:16
0
Я бы через логи проверил порядок, вдруг он всё же верный. Тогда надо смотреть откуда берут данные плагин msTelegram
Игорь
14 октября 2023, 21:49
0
не помогло
Игорь
14 октября 2023, 21:15
0
у плагина msBonus на событие msOnCreateOrder стоит приоритет 9999999, у плагина msTelegram был 0 — я поставил 99999999 (на одну 9 больше)… ))
Игорь
14 октября 2023, 19:59
0
да, чистил… и в админке, и через файлы
Артур Шевченко
14 октября 2023, 19:54
0
Приоритет должен был помочь. Вы после изменения приоритета кеш почистили?
Игорь
14 октября 2023, 12:20
0
Здравствуйте.
Подскажите, можно ли на странице оформления заказа динамически изменять итоговую сумму при применении бонусов?
Т.е. из документации docs.modx.pro/components/msbonus2/quick-start я понял, что можно вывести дополнительную строчку типа «из ни Оплата бонусами» рядом с итоговой суммой заказа. Но есть желание изменять саму сумму (с учетом того, что она также зависит от стоимости доставки, промокодов и т.п.).
Или добавить ещё один параметр «Итого к оплате» (стоимость заказа — бонусы), опять же что бы это все работало динамически?
Артур Шевченко
14 октября 2023, 11:58
+1
Я думаю вот это решение вам подойдёт.
Валерий
13 октября 2023, 12:52
+1
Нашел-таки в документации параметр:
&useWeblinkUrl=`0`
Поставил его в 0 и все заработало. Не супер-очевидно по описанию в документации было. Ну да ладно, работает теперь.