Paykeeper 2.0 и вывод кнопки оплаты заказа в истории заказов модуля userorders



  • Как вывести кнопку оплаты заказа в истории заказов модуля userorders через Paykeeper 2.0 только в том случае если заказ сделанный через модуль Shopkeeper 3.0 не оплачен? В документации к Paykeeper 2.0 вообще нет примеров вызова в истории заказов для модуля userorders.


  • Администраторы

    В чанке сниппета userOrders есть пример с кнопкой "Отменить заказ". Она появляется если статус не "Отменен". Так же можно сделать и с оплатой (проверять статус).

    Если парсер MODX не справится с таким условием, можно через https://rtfm.modx.com/extras/revo/if



  • @Andchir Спасибо, посмотрю.



  • @Andchir С этим разобрался и сделал. Остаётся вопрос как сделать вызов самого Paykeeper 2.0? Если делаю так:

    [[!Paykeeper2? &gateway=`WebMoney` &tpl=`userOrdersPayTpl` &orderId=`[[!+shk.id]]` &price=`[[!+shk.price]]
    

    где userOrdersPayTpl

    <a name="product[[+sid]]"></a>
    <form id="pkForm[[+sid]]" method="post" action="[[~[[*id]]?scheme=`abs`]]#product[[+sid]]">
        <input type="hidden" name="sid" value="[[+sid]]">
        <input type="hidden" id="pkInputEmail[[+sid]]" name="email" value="[[+user_email]]">
        <button type="submit" class="btn btn-warning">Оплатить заказ<i class="fa fa-credit-card fa-lg"></i></button>
    </form>
    

    То по нажатию на кнопку Оплатить заказ просто происходит переход на страницу где отображается список всех заказов пользователя.


  • Администраторы

    Вместо [[!+shk.id]] надо использвоать [[+order_id]].

    &price=`[[!+shk.price]]
    

    Это в новой версии не нужно.



  • @Andchir Не работает так, вызывает такие же действия.


  • Администраторы

    Оплатить заказ просто происходит переход на страницу где отображается список всех заказов пользователя

    Вы не знаете как работает форма?

    Там в чанке есть пример. action у формы должен быть таким:

    action="[[~[[*id]]]]?ord_id=[[+order_id]]"
    


Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.