【问题标题】:Magento My custom module block not showMagento 我的自定义模块块不显示
【发布时间】:2015-11-12 10:53:33
【问题描述】:

我正在使用 Magento 1.9.2.2,我正在尝试创建一个显示产品列表的模块。咆哮我当前的代码,它不会呈现块。我希望有人能告诉我如何解决这个问题。

app/etc/modules/Envato_All.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Envato_Recentproducts>
            <active>true</active>
            <codePool>local</codePool>
        </Envato_Recentproducts>
    </modules>
</config>

app/code/local/Envato/Recentproducts/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Envato_Recentproducts>
            <version>1.0</version>
        </Envato_Recentproducts>
    </modules>
    <global>
        <blocks>
            <recentproducts>
                <class>Envato_Recentproducts_Block</class>
            </recentproducts>
        </blocks>
        <models>
            <recentproducts>
                <class>Envato_Recentproducts_Model</class>
            </recentproducts>
        </models>
    </global>
</config>

app/code/local/Envato/Recentproducts/Model/Recentproducts.php

<?php
class Envato_Recentproducts_Model_Recentproducts extends Mage_Core_Model_Abstract 
{
    public function getRecentProduct()
    {
        $products = Mage::getModel("catalog/product")
            ->getCollection()
            ->addAttributeToSelect('*')
            ->setOrder('entity_id', 'DESC')
            ->setPageSize(5);
        return $products;
    }
}

app/code/local/Envato/Recentproducts/Block/Recentproducts.php

<?php
class Envato_Recentproducts_Block_Recentproducts extends Mage_Core_Block_Template
{
    public function getRecentProducts()
    {
        // call model to fetch data
        $arr_products = array();
        $products = Mage::getModel("recentproducts/recentproducts")­->getRecentProducts();

        foreach ($products as $product) {
            $arr_products[] = array(
                'id' => $product-­>getId(),
                'name' => $product­->getName(),
                'url' => $product­->getProductUrl(),
            );
        }

        return $arr_products;
    }
}

app/design/frontend/default/default/template/recentproducts/recentproducts.phtml

<?php
$products = $this­->getRecentProducts();
?>

<div id="product_list">
    <h1>Recent Products</h1>
    <?php if (is_array($products) && count($products)) { ?>
        <?php foreach($products as $product) { ?>
            <div>
                <a href="<?php echo $product['url'] ?>"><?php echo $product['name'] ?></a>
            </div>
        <?php } ?>
    <?php } ?>
</div>

已用块

{{block type="recentproducts/recentproducts" name="recentproducts_recentproducts" template="recentproducts/recentproducts.phtml"}}

【问题讨论】:

    标签: magento module block magento-1.9 php


    【解决方案1】:

    您是否尝试过添加“recentproducts/recentproducts”并在 configuration->permission->Blocks 下设置为允许?

    添加后不要忘记刷新缓存..

    告诉我

    【讨论】:

    • 澄清一下:这是自 CE 1.9.2.2 版本中包含的 SUPEE-6788 补丁以来的新功能。只有允许的方块才会出现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多