gpt4 book ai didi

php - Magento - 如何将自定义 block 添加到结帐成功页面

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:53 24 4
gpt4 key购买 nike

我想通过向页面添加一个 block (无需复制和更改模板页面)来向结帐成功页面添加一些信息。

我查看了可下载模块并尝试复制它,但没有成功。我有一个自定义模块,我尝试这样做:

1) 添加 block 文件到:...\app\code\local\SHANI\MyModule\Block\checkout\Details.php

class SHANI_MyModule_Block_Checkout_Details extends Mage_Checkout_Block_Onepage_Success
{
}

2) 添加模板文件到:...\app\design\frontend\default\default\template\mymodule\checkout\details.phtml

<?php
echo "test ffdagdf";
?>

3) 将 block 添加到:...\app\design\frontend\default\default\layout\mymodule.xml

<default>
</default>

....
....
....

<checkout_onepage_success>
<reference name="checkout.success">
<block type="mymodule/checkout_success" name="mymodule.checkout.details" template="mymodule/checkout/details.phtml"/>
</reference>
</checkout_onepage_success>

是这样做的方法吗?我错过了什么?

/////////////////////////////////////更新//////////////////////////////////////

我试过像 Lrrr 写的那样更改 mymodule.xml 但仍然没有成功......

<checkout_onepage_success>
<reference name="checkout.success">
<block type="mymodule/checkout_details" name="mymodule.checkout.details" template="mymodule/checkout/details.phtml"/>
</reference>
</checkout_onepage_success>

任何其他想法是什么问题?

我正在尝试对产品 View 页面做同样的事情,并且我能够向“product.info.additional”添加一个 block 但不是“product.info”。

这是有效的:

<catalog_product_view>
<reference name="product.info.additional">
<block type="catalog/product_view" name="mymodule.saledetails" before="-" template="mymodule/product/details.phtml"/>
<block type="mymodule/product_participant_list" name="mymodule.participants" before="-" template="mymodule/product/participant/list.phtml"/>
</reference>
</catalog_product_view>

但这不是

<catalog_product_view>
<reference name="product.info">
<block type="catalog/product_view" name="mymodule.saledetails" before="-" template="mymodule/product/details.phtml"/>
</reference>
<reference name="product.info.additional">
<block type="mymodule/product_participant_list" name="mymodule.participants" before="-" template="mymodule/product/participant/list.phtml"/>
</reference>
</catalog_product_view>

我正在尝试将此 block 从“product.info.additional”移动到“product.info”,因为我想在下面显示此 block 快速概览(在默认模板中)而不是在详细信息下。为什么它在“product.info”下不起作用?

最佳答案

尝试在成功页面布局中引用内容 block

<checkout_onepage_success>
<reference name="content">
<block type="mymodule/checkout_success" name="mymodule.checkout.details" template="mymodule/checkout/details.phtml"/>
</reference>
</checkout_onepage_success>

取而代之的是 checkout.success,您可能需要在模板中调用 $this->getChildHtml('yourblockname') 或将 output="toHtml" 添加到您的 block 中在布局中

关于php - Magento - 如何将自定义 block 添加到结帐成功页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4518293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com