我只是想让一个基本的自定义小部件工作。我想我在这里设置错了。这是我得到的例外:
2013-06-27T03:00:11+00:00 ERR (3):
exception 'Mage_Core_Exception' with message 'Invalid block type: Mage_Categoryproductslider_Block_Slider' in /home/sites/<url>/app/Mage.php:594
以下是带有路径的模块/窗口小部件文件
应用\等\模块\ PaulCodes_Categoryproductslider.xml
<?xml version="1.0"?>
<config>
<modules>
<PaulCodes_Categoryproductslider>
<active>true</active>
<codePool>community</codePool>
<depends>
<Mage_Cms />
</depends>
</PaulCodes_Categoryproductslider>
</modules>
</config>
应用\代码\社区\ PaulCodes \ Categoryproductslider \块\ Slider.php
<?php
/**
* @author
*
*/
class PaulCodes_Categoryproductslider_Block_Slider extends Mage_Core_Block_Abstract implements Mage_Widget_Block_Interface
{
/**
* Produces slider html
*
* @return string
*/
protected function _toHtml()
{
$pageTitle = '';
$headBlock = $this->getLayout()->getBlock('head');
if ($headBlock) {
$pageTitle = $headBlock->getTitle();
}
$html = '<a class="delicious" href="#" title="Add to del.icio.us">Del.icio.us</a>';
return $html;
}
}
?>
应用\代码\社区\ PaulCodes \ Categoryproductslider \等\ config.xml中
<?xml version="1.0"?>
<config>
<modules>
<PaulCodes_Categoryproductslider>
<version>0.0.1</version>
</PaulCodes_Categoryproductslider>
</modules>
<global>
<blocks>
<PaulCodes_Categoryproductslider>
<class>PaulCodes_Categoryproductslider_Block</class>
</PaulCodes_Categoryproductslider>
</blocks>
<helpers>
<PaulCodes_Categoryproductslider>
<class>PaulCodes_Categoryproductslider_Helper</class>
</PaulCodes_Categoryproductslider>
</helpers>
</global>
</config>
应用\代码\社区\ PaulCodes \ Categoryproductslider \等\ widget.xml
<?xml version="1.0"?>
<widgets>
<categoryproductslider_slider type="categoryproductslider/slider">
<name>Category Product Slider</name>
<description type="desc">A slider of products of a certain category</description>
</categoryproductslider_slider>
</widgets>
答案 0 :(得分:2)
如果您的BLOCK图层XML标记标识符为<PaulCodes_Categoryproductslider>
,则必须使用type="PaulCodes_Categoryproductslider/slider"
当您使用Mage :: getModel / Helper / Block / etc时,访问字符串的第一部分是您的XML标记标识符,下一部分是文件夹层中文件的路径。
我建议您将所有XML标记层标识符设置为小写(请参阅标准magento模块的构建方式)