モジュールの作成方法を学ぶために、モジュールのような「こんにちは世界」を少しだけ作ろうとしています。Mac OSX 10.6 ローカル サーバーに Magento 1.7 をかなり新しくインストールしました。Pierrefayのチュートリアルをフォローしていますが、ブロックを表示できません。私はウェブのいたるところにいましたが、何もうまくいきませんでした。モジュールのページには、「犬」と「新学期」の広告を含むデフォルトの外観が表示されます。私は Alan の Layoutviewer モジュールを持っています。私は現在デバッグモードで、狂ったようにキャッシュを空にしています。私はすでにMagに伝えました。とにかく、何もキャッシュしないでください。エラーメッセージが生成されないポイントに到達することができました (デバッグモードでもあり、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>
参照のコメントを外すと、「無効なテンプレート」エラーが生成されます。
マイテンプレート: (frontend/default/nationwide/template/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 !!';
}
}
私はウェブ上のすべてをフォローしているようですが、インデックスアクションからのエコー以外には何も機能していません。助けていただければ幸いです。