我是马根托的新手。我正在尝试开发一个自定义模块。我的代码如下
位置:D:''php''htdocs''magento''app''etc''modules
Remote_Mouse.xml
<?xml version="1.0"?>
<config>
<modules>
<Remote_Mouse>
<active>true</active>
<codePool>local</codePool>
</Remote_Mouse>
</modules>
</config>
位置:D:''php''htdocs''magento''app''code''local''Remote''Mouse''etcconfig.xml
<?xml version="1.0"?>
<config>
<global>
<modules>
<Remote_Mouse>
<version>0.1.0</version>
</Remote_Mouse>
</modules>
<blocks>
<mouse>
<class>Remote_Mouse_Block</class>
</mouse>
</blocks>
</global>
<frontend>
<layout>
<updates>
<mouse module="Remote_Mouse">
<file>Remote_Mouse.xml</file>
</mouse>
</updates>
</layout>
<routers>
<mouse>
<use>standard</use>
<args>
<module>Remote_Mouse</module>
<frontName>remote</frontName>
</args>
</mouse>
</routers>
</frontend>
</config>
位置:
D:'php'htdocs'magento'app'design'frontend'my_theme'default'layout
mouse.xml
<?xml version="1.0"?>
<layout version="0.1.0">
<reference name="root">
<action method="setTemplate">
<template>page/1column.phtml</template>
</action>
</reference>
<mouse_index_index>
<reference name="content">
<block type="remote/brush" template="remote/mouse.phtml" />
</reference>
</mouse_index_index>
</layout>
位置:D:'php'htdocs'magento'app'code'local'Remote'Mouse'Block
Brush.php
<?php
class Remote_Mouse_Block_Brush extends Mage_Core_Block_Template
{
public function myfunction()
{
echo 'mouse';
}
}
位置:D:'php'htdocs'magento'app'code'local'Remote'Mouse'controllers
IndexController.php
<?php
class Remote_Mouse_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout(array('default'));
$this->renderLayout();
}
public function sayHelloAction()
{
echo 'Hello one more time...';
}
}
?>
位置:
D: ''php''htdocs''magento''app''design''frontend''my_theme''default''template''remote
鼠标.phtml
<?php
echo $this->myfunction();
?>
我看不到任何输出。我的代码有错吗??
您定义的块类型存在问题,如下所示。
<block type="remote/brush" template="remote/mouse.phtml" />
应该如下所示。
<block type="mouse/brush" template="remote/mouse.phtml" />
如果您试图运行/remote/index/index
操作,则应该会出现类似myfunction function does not exists
的错误。在布局文件中,您使用了
<block type="core/template" name="remote_mouse" template="remote/mouse.phtml" />
代码,而应该有:
<block type="mouse/mouse" name="remote_mouse" template="remote/mouse.phtml" />
还要确保您根据文件的位置放置了所有文件。如果您没有错误,那么您的模板或布局文件可能不在正确的主题模板/布局目录中。因此,系统没有找到它,系统没有尝试渲染它并调用myfunction
方法,因此没有错误。
还要确保本地模块的输出没有被禁用。