Последние темы


Revo 2.5.6 и страница благодарности shopkeeper3

  • Всем привет, столкнулся с проблемой, версия modx 2.5.6 shopkeeper3 3.2.7-pl2.
    Проблема заключается в том что, на странице благодарности за заказ передаю параметры в сниппет

    [[!pay_order? &price=`[[+shk.price]]` &orderId=`[[+shk.id]]` &full_date=`[[+shk.full_date]]` &payment=`[[+shk.payment]]`]]
    

    И увидел следующую картину, в этот сниппет попадают не значения этих плейсхолдеров, а , например, [[+shk.payment]] как строка.

    Проверил так

    $arr1 = str_split($payment);
    echo '<pre>';
    print_r($arr1);
    

    получил

    Array
    (
        [0] => [
        [1] => [
        [2] => +
        [3] => s
        [4] => h
        [5] => k
        [6] => .
        [7] => i
        [8] => d
        [9] => ]
        [10] => ]
    )
    

    При этом это только с плейсхолдерами от shopkeeper3, если передаю [[*content]] - все отлично работает. Вопрос, как передать нужные мне плейсхолдеры в сниппет.

    PS. Эти плейсхолдеры работают, на странице выводятся http://joxi.ru/nAy8Xx1hYGeqK2

    <p>[[+shk.price]]</p>
    <p>[[+shk.id]]</p>
    <p>[[+shk.full_date]]</p>
    <p>[[+shk.payment]]</p>
    
 

Последние комментарии

  • @LoGruS Поправка, привязываемся к значению [[+value]]

    Читать далее
  • Участник @Andchir написал в Ограничение покупки:

    SHK.recountItemAll();

    Андрей, спасибо! Сделал, работает и обновление цены и ограничение товаров по инвентори.

    Итоговый вариант (вдруг кому пригодится):

    Поле кол-во товара:

    <input class="shk-count" type="number" name="count[]" value="[[+count]]" min="1" max="[[+inventory]]" />

    Кнопка пересчитать:

    <a href="#" onclick="SHK.recountItemAll(); return false;" data-toggle="tooltip" title="Пересчитать">Пересчитать</a>

    ИТОГО - контроль кол-ва.

    Читать далее
  • Решается без костылей из js

    [[+name:is=`color`:then=`<label for="[[+name]]__[[+idx]]" class="d-block custom-control-label shk-color-checkbox [[+name]][[+idx]]" title="[[+value]]"></label><p class="ml-40">[[+value]]</p>`:else=`<label for="[[+name]]__[[+idx]]">[[+value_name]]</label>`]]

    Получаем на странице строку такого вида:

    <label for="color__1" class="d-block custom-control-label shk-color-checkbox color1" title="Голубой"></label><sup>17</sup><p class="ml-40">Голубой</p>

    Привязываемся в css к классу color1, а дальше CSS спрайты и стили решают все, проверенно, работает 😃 Спасибо Андрею и его демо-сайту с shopkeeper4, подглядел решение на нем.

    Читать далее