I am trying to load a custom .phtml template using custom block. But the template isn't loading. I saw similar problems here and tried to figure out a solution, but couldn't find out where the problem is. My controller is working correctly. The url http://localhost/magento/test/index loads view correctly, but without testlayout.phtml contents.
Hers's my code
\app\code\local\Impulse\Test\controllers\IndexController.php
<?php
class Impulse_Test_IndexController extends Mage_Core_Controller_Front_Action {
public function indexAction() {
$this->loadLayout(false);
$this->renderLayout();
}
public function testAction() {
echo "This is test!";
}
}
\app\code\local\Impulse\Test\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Impulse_Test>
<version>1.0.0</version>
</Impulse_Test>
</modules>
<global>
<blocks>
<impulse_test>
<class>Impulse_Test_Block</class>
</impulse_test>
</blocks>
<!--
<models>
<test>
<class>Impulse_Test_Model</class>
<resourceModel>test_resource</resourceModel>
</test>
<test_resource>
<class>Impulse_Test_Model_Resource</class>
<deprecatedNode>test_resource_eav_mysql4</deprecatedNode>
<entities>
<test>
<table>impulse_test</table>
</test>
</entities>
</test_resource>
</models>
<resources>
<test_write>
<connection>
<use>core_write</use>
</connection>
</test_write>
<test_read>
<connection>
<use>core_read</use>
</connection>
</test_read>
</resources>
-->
</global>
<frontend>
<routers>
<impulse_test>
<use>standard</use>
<args>
<module>Impulse_Test</module>
<frontName>test</frontName>
</args>
</impulse_test>
</routers>
<layout>
<updates>
<impulse_test>
<file>test.xml</file>
</impulse_test>
</updates>
</layout>
</frontend>
</config>
\app\design\frontend\impulse\theme\layout\test.xml
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<impulse_test_index_index>
<reference name="content">
<block type="impulse_test/testblock" name="testlayout_testblock" output="toHtml" template="test/testlayout.phtml"></block>
</reference>
</impulse_test_index_index>
</layout>
\app\code\local\Impulse\Test\Block\Testblock.php
<?php
class Impulse_Test_Block_Testblock extends Mage_Core_Block_Template {
public function methodblock() {
return "this is returned";
}
}
\app\design\frontend\impulse\theme\template\test\testlayout.phtml
<?php
echo $this->methodblock();
?>