Magento 1.9 - 在"缺货"旁边的产品库存提示标签

时间:2015-02-09 13:57:11

标签: php product magento-1.9

正如标题所暗示的那样,我正在尝试在“缺货”标签旁边显示“当此产品重新有库存时注册通知”链接。

所以看起来应该是这样的:
Example

我正在浏览所有模板,而在template/catalog/product/view.phtml中有以下代码段:
<?php echo $this->getChildHtml('alert_urls') ?>,来自:template/productalert/product/view.phtml(它只包含回显实际链接的代码。)我想在这个模板中做的事情如下,我有INSERT STOCK ALERT LINK HERE

<?php $_product = $this->getProduct() ?>

<?php if ($this->displayProductStockStatus()): ?>
    <?php if ($_product->isAvailable()): ?>
        <p class="availability in-stock">
            <span><?php echo $this->__('In stock') ?></span>
        </p>
    <?php else: ?>
        <p class="availability out-of-stock">
            <span><?php echo $this->__('Out of stock') ?></span>
            <!-- ******* INSERT STOCK ALERT LINK HERE ******* -->
        </p>
    <?php endif; ?>
<?php endif; ?>
<?php echo $this->getChildHtml('product_type_data_extra') ?>
<?php echo $this->getPriceHtml($_product) ?>

我已禁用价格提醒,因为这不需要。因此,唯一的警报将是注册股票通知。

我尝试了很多东西,但我想也许是$this变量的范围阻止我访问它。您的建议或建议最受欢迎!

1 个答案:

答案 0 :(得分:1)

好的,我刚刚看到此页面:http://forum.azmagento.com/how-to/product-alert-notify-html-in-product-list-view-55751.html,其中提供了有关如何编辑Core文件中的getSaveURL()函数的说明( yikes!){{ 1}}使用以下代码:

/app/code/core/Mage/ProductAlert/Helper/Data.php

然后在您的phtml中输出链接:public function getSaveUrl($type, $product = null) { if (!empty($product)) { $product_id = $product->getId(); } else { $product_id = $this->getProduct()->getId(); } return $this->_getUrl('productalert/add/' . $type, array( 'product_id' => $product_id, Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl() )); }

现在这种方法运行良好,但我对解决涉及修改Core文件的解决方案有点犹豫不决。有没有什么办法可以在不覆盖任何核心文件的情况下使用上面的代码片段?