在我的首页上,我想添加一个新块。所以我把它添加到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;
}
}
知道我做错了吗?
答案 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中
并删除模型文件。 感谢