我正在尝试使用一个像模块一样的“hello world”来学习如何制作模块。我在 Mac OSX 10.6 本地服务器上安装了相当全新的 Magento 1.7。我正在关注Pierrefay 的教程,但无法显示该块。我一直在网上,但没有任何工作。该模块的页面仅显示带有“狗”和“返校”广告的默认外观。我有 Alan 的 Layoutviewer 模块。我目前处于调试模式并疯狂地清空缓存。我已经告诉麦格了。无论如何,不要缓存任何东西。我已经成功地达到了不生成错误消息的地步(我也处于调试模式并且已启动 execption.log 和 system.log)。
我的控制器:
<?php
class Nationwide_Cartonplugin_IndexController extends Mage_Core_Controller_Front_Action {
public function indexAction ()
{
$this->loadLayout();
$this->renderLayout();
//var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
//exit("bailing early at ".__LINE__." in ".__FILE__);
//echo "Carton Exists";
//Mage::log(
// $this->getLayout()->getUpdate()->getHandles(),
// null, ‘layout.log’ );
//Mage::log(
// $this->getLayout()->getUpdate()->asString(),
// null, ‘layout.log’ );
}
public function mamethodeAction ()
{
echo 'test mymethod';
}
}
我的配置:
<?xml version="1.0"?>
<config>
<modules>
<Nationwide_Cartonplugin>
<version>1.1.0</version>
</Nationwide_Cartonplugin>
</modules>
<global>
<blocks>
<cartonplugin>
<class>Nationwide_Cartonplugin_Block</class>
</cartonplugin>
</blocks>
</global>
<frontend>
<routers>
<cartonplugin>
<use>standard</use>
<args>
<module>Nationwide_Cartonplugin</module>
<frontName>carton</frontName>
</args>
</cartonplugin>
</routers>
<layout>
<updates>
<cartonplugin>
<file>carton.xml</file>
</cartonplugin>
</updates>
</layout>
</frontend>
</config>
我的布局:(frontend/default/nationalwide/layout/carton.xml)(我在管理设置中使用默认和全国)
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="content">
</reference>
</default>
<cartonplugin_index_index>
<reference name="content">
<block output="toHtml" type="cartonplugin/myblock" name="myblock"
template="cartonplugin/cartondisplay.phtml"/>
</reference>
</cartonplugin_index_index>
</layout>
取消注释引用会生成“无效模板”错误。
我的模板:(前端/默认/国家/模板/cartonplugin/cartondisplay.phtml)
<?php
//echo $this->methodcarblock();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
<style type="text/css">
body {
background-color:#f00;
}
</style>
</head>
<body>
<div class="test1">
<?php echo $this->methodcarblock(); ?>
</div>
</body>
</html>
我的块:
<?php
class Nationwide_Cartonplugin_Block_Myblock extends Mage_Core_Block_Template
{
public function methodcarblock()
{
return 'informations about my block !!';
}
}
似乎我关注了网络上的所有内容,除了从索引操作中呼应之外,没有任何效果。我将不胜感激任何帮助。