magento - 自定义块无法识别

时间:2015-10-30 10:32:27

标签: php magento magento-1.8

在我的首页上,我想添加一个新块。所以我把它添加到CMS就像

一样
Attach()

定义的块代码中必定存在一些错误。因为如果我将类型从<div>{{block type="productview/productview" name="productview_productview" template="productview/productview.phtml"}}</div> 更改为productview/productview。模板将被调用。

这是我的插件配置文件(在core/template

[magento]/app/code/local/AAA/Productview/etc/config.xml

这是Block(在<?xml version="1.0"?> <config> <modules> <AAA_Productview> <version>1.0</version> </AAA_Productview> </modules> <global> <blocks> <productview> <class>AAA_Productview_Block</class> </productview> </blocks> </global> </config>

[magento]/app/code/local/AAA/Productview/Block/Productview.php

EDIT1:

这是我的模板文件:

<?php
class AAA_Productview_Block_Productview extends Mage_Core_Block_Template {
  public function getRecentProducts() {
    Mage::log('test');
    $arr_products = array();
    $products = Mage::getModel("catalog/product")
                -­>getCollection()
                ­->addAttributeToSelect('*')
                ­->setOrder('entity_id', 'DESC')
                ­->setPageSize(5);

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

    return $arr_products;
  }
}

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

你的config.xml没问题。你在块文件中做了以下代码 - /app/code/local/AAA/Productview/Block/Productview.php

    public function getRecentProducts() {
            $products = Mage::getModel("catalog/product")
                    -­>getCollection()
                    ­->addAttributeToSelect('*')
                    ­->setOrder('entity_id', 'DESC')
                    ­->setPageSize(5);
            return $products;

            }

比调用块函数$ this-&gt; getRecentProducts();在productview / productview.phtml中

并删除模型文件。 感谢