通过自定义扩展分配自定义 popup.phtml 文件

Assign a custom popup.phtml file through a custom extension

构建自定义扩展并需要加载新的 popup.phtml 文件,以便我们可以将自己的代码放入其中。

我已经尝试过将它作为一个包添加,但我想避免这种情况,所以想知道是否有办法使用 xml 布局文件向其中添加 this/link?

简而言之,当用户在最终用户帐户中单击 "Track Shipment" link,或者管理员从销售 > 发货 > 查看中单击 link 时,它将加载我的 popup.phtml 文件而不是默认文件。

我已经设法解决了这个问题,所以这就是我设法解决它的方法,以防万一它可以帮助其他人:)

首先,在 app/etc/modules 中,您需要创建一个文件,我们将其命名为 Vendor_Module.xml,我们将在其中放置代码;

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Vendor_Module>
            <active>true</active>
            <codePool>community</codePool>
        </Vendor_Module>
    </modules>
</config>

然后在app/community/Vendor/Module/etc/config.xml我添加了以下内容;

<?xml version="1.0"?>
<config>
    <modules>
        <Vendor_Module>
            <version>1.0.0</version>
        </Vendor_Module>
    </modules>
    <frontend>
        <layout>
            <updates>
                <Vendor_Module_layout module="Vendor_Module">
                    <file>vendor_module.xml</file>
                </Vendor_Module_layout>
            </updates>
        </layout>
    </frontend>
</config>

在 app/design/admin/default/default/layout 中我创建了 vendor_module.xml 并添加了以下代码;

<?xml version="1.0"?>
<shipping_tracking_popup translate="label">
    <label>Shipment Tracking Popup</label>
    <reference name="root">
        <action method="setTemplate"><template>page/popuper.phtml</template></action>
    </reference>
    <reference name="content">
        <block type="shipping/tracking_popup" name="shipping.tracking.popup" template="shipping/tracking/popuper.phtml" />
    </reference>
</shipping_tracking_popup>

在 app/design/frontend/base/default/layout 我创建了另一个 vendor_module.xml 文件并添加了代码;

<?xml version="1.0"?>
    <layout>
    <shipping_tracking_popup>
        <reference name="content">
            <block type="shipping/tracking_popup" name="shipping.tracking.popup" template="Vendor/shipping/tracking/popup.phtml" />
        </reference>
    </shipping_tracking_popup>
</layout>

最后,在 app/design/frontend/base/default/template/Vendor/shipping/tracking 中,我创建了一个名为 popup.phtml 的新文件,然后添加了我想要在此处显示的所需代码。以下代码只是示例代码,将添加一些文本和一个关闭按钮。

<div class="page-title title-buttons">
    <h1><?php echo $this->__('Tracking Information'); ?></h1>
    <button class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo $this->__('Close Window') ?></span></span></button>
</div>

<!-- Add Your Stuff Here -->

<div class="buttons-set">
    <button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Close Window')) ?>" class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo $this->__('Close Window') ?></span></span></button>
</div>

就是这样,希望对您有所帮助!