Пользовательский блок на странице успеха для моего способа оплаты


Я разрабатываю пользовательский способ оплаты, и я хотел бы, чтобы он отображал некоторую информацию (связанную со способом оплаты) на странице успеха.

Как я могу это сделать?

Я попытался добавить блок к содержимому checkout_onepage_success, но не получил ничего, кроме ошибок.

<checkout_onepage_success translate="label">
    <reference name="content">
        <reference name="checkout.success">
            <action method="setChild">
                <block type="checkbuy/success" name="checkbuy.success" template="checkbuy/success.phtml" />
            </action>
        </reference>
    </reference>
</checkout_onepage_success>

РЕДАКТИРОВАТЬ: Я также пытался использовать <action method="append">, но это вызвало большие ошибки PHP.

ПРАВКА 2: Мне нужно, чтобы блок отображался только при выборе моего способа оплаты, я не хотите переопределить стандартную страницу успеха, если клиент использует другой способ оплаты.

Author: ElectricSid, 2015-07-01

2 answers

Просьба попробовать это:

<checkout_onepage_success translate="label">
    <reference name="content">
        <reference name="checkout.success">
                <block type="checkbuy/success" name="checkbuy.success" template="checkbuy/success.phtml" />
        </reference>
    </reference>
</checkout_onepage_success>

Затем в success.phtml вызовите этот дочерний блок с помощью

<?php echo $this->getChildHtml(checkbuy.success) ;?>
 1
Author: Amit Bera, 2015-07-01 12:54:13

Я нашел это!!

Я переопределял макет на checkout_onepage_success, и именно по этой причине мой блок отображался в каждом способе оплаты. Поэтому я определил макет только для страницы успеха оплаты моего модуля и вызвал стандартный блок onepage_success для оформления заказа, а затем свой пользовательский информационный блок.

Вот мой окончательный файл макета:

<checkbuy_payment_success translate="label">
    <reference name="root">
        <action method="setTemplate">
            <template>page/1column.phtml</template>
        </action>
    </reference>
    <reference name="content">
        <block type="checkout/onepage_success" name="checkout.success" template="checkout/success.phtml"/>
        <block type="checkbuy/success" name="checkbuy.success" />
    </reference>
</checkbuy_payment_success>
 0
Author: ElectricSid, 2015-07-07 07:29:39