通过自定义扩展分配自定义 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>
就是这样,希望对您有所帮助!
构建自定义扩展并需要加载新的 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>
就是这样,希望对您有所帮助!