Magento 自定义模块块不起作用
Magento custom module block not working
我正在使用
在 cms 页面中调用我的自定义模块块
{{block type="customreviews/reviews" name="customreviews_reviews" template="Customreviews/reviews.phtml"}}
我的模块配置文件如下:
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
我在名为 Reviews.php 的模块中创建的 block php 文件是
class Suave_Customreviews_Model_Reviews extends Mage_Core_Block_Template
{
public function firstTenCategoryReviews()
{
$data = Mage::getSingleton('customreviews/reviews')->firstTenCategoryReviews();
return $data;
}
}
我的magento版本是1.9.2.4
我已经在 magento admin 中允许 customreviews/reviews 阻止权限,但仍然无法正常工作。
有块class是错误的。应该是
Suave_Customreviews_Block_Reviews extends Mage_Core_Block_Template
请检查您的 xml 文件是否缺少节点。
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
</config> <!-- Check if you missed this node -->
根据您的 config.xml 文件中提到的代码,您缺少 </config>
节点。我假设您在 xml 文件中使用 <?xml version="1.0"?>
作为第一行。
你也尝试过 Suman Singh 提到的方法吗?
经过大量谷歌搜索后,我发现了问题。
我使用的模块名称是 customreviews 但我命名的模型和块 php 文件的名称是 Reviews.php.
默认情况下,magento 检查以模块名称命名的模块和块文件。
所以我将模型和块 php 文件重命名为模块名称并且成功了。
如 Suman Singh 所述,我的块代码也存在问题。
感谢苏曼的指正
我正在使用
在 cms 页面中调用我的自定义模块块{{block type="customreviews/reviews" name="customreviews_reviews" template="Customreviews/reviews.phtml"}}
我的模块配置文件如下:
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
我在名为 Reviews.php 的模块中创建的
block php 文件是
class Suave_Customreviews_Model_Reviews extends Mage_Core_Block_Template
{
public function firstTenCategoryReviews()
{
$data = Mage::getSingleton('customreviews/reviews')->firstTenCategoryReviews();
return $data;
}
}
我的magento版本是1.9.2.4 我已经在 magento admin 中允许 customreviews/reviews 阻止权限,但仍然无法正常工作。
有块class是错误的。应该是
Suave_Customreviews_Block_Reviews extends Mage_Core_Block_Template
请检查您的 xml 文件是否缺少节点。
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
</config> <!-- Check if you missed this node -->
根据您的 config.xml 文件中提到的代码,您缺少 </config>
节点。我假设您在 xml 文件中使用 <?xml version="1.0"?>
作为第一行。
你也尝试过 Suman Singh 提到的方法吗?
经过大量谷歌搜索后,我发现了问题。
我使用的模块名称是 customreviews 但我命名的模型和块 php 文件的名称是 Reviews.php.
默认情况下,magento 检查以模块名称命名的模块和块文件。
所以我将模型和块 php 文件重命名为模块名称并且成功了。
如 Suman Singh 所述,我的块代码也存在问题。
感谢苏曼的指正