在magento模块中,布局没有用前端加载时出现了一些问题。
config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Way_SaleWithus>
<version>1.0.0</version>
</Way_SaleWithus>
</modules>
<frontend>
<routers>
<SaleWithus>
<use>standard</use>
<args>
<module>Way_SaleWithus</module>
<frontName>SaleWithus</frontName>
</args>
</SaleWithus>
</routers>
<layout>
<updates>
<SaleWithus>
<file>SaleWithus.xml</file>
</SaleWithus>
</updates>
</layout>
</frontend>
</config>
SaleWithus.xml
位置:app/design/frontend/base/default/layout/SaleWithus.xml
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<SaleWithus_index_index>
<reference name="content">
<block type="core/template" name="SaleWithus" template="SaleWithus/SaleWithus.phtml" />
</reference>
</SaleWithus_index_index>
</layout>
SaleWithus.phtml定位应用程序/design/frontend/base/default/template/SaleWithus.phtml
<div>
<h4>Hello World!!</h4>
</div>
IndexController.php
<?php
class Way_SaleWithus_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
// if ($this->_getSession()->isLoggedIn()) {
// $this->_redirect('*/*/');
// return;
// }
// $this->getResponse()->setHeader('Login-Required', 'true');
// $this->loadLayout();
// $this->_initLayoutMessages('customer/session');
// $this->_initLayoutMessages('catalog/session');
// $this->renderLayout();
$this->loadLayout();
$this->renderLayout();
echo "subhash";
}
protected function _getSession()
{
return Mage::getSingleton('customer/session');
}
}
?>
代码哪里出了问题?
在Magento中,除了类名之外,最好将所有内容都设置为小写字母。函数名称也必须仅使用camelCase字母。
上面的config.xml被英语中所有类型的字母大小写搞砸了。问题来了。如果一切正常,layout.xml必须如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
<salewithus_index_index>
<reference name="content">
<block type="core/template" name="salewithus" template="SaleWithus/salesithus.phtml" />
</reference>
</salewithus_index_index>
</layout>
Config.xml必须如下所示:
<?xml version="1.0"?>
<config>
<modules>
<Way_SaleWithus>
<version>0.1.0</version>
</Way_SaleWithus>
</modules>
<frontend>
<routers>
<salewithus>
<use>standard</use>
<args>
<module>Way_SaleWithus</module>
<frontName>salewithus</frontName>
</args>
</salewithus>
</routers>
<layout>
<updates>
<salewithus>
<file>salewithus.xml</file>
</salewithus>
</updates>
</layout>
</frontend>>
</config>
将您的模板文件名更改为以下路径:app/design/frontend/base/default/template/SaleWithus/salewithus.phtml
Layout.xml如下路径:位置:app/design/frontend/base/default/layout/salewithus.xml
您的xml存在一些主要问题,应该如下所示。
<?xml version="1.0"?>
<config>
<modules>
<Way_SaleWithus>
<version>0.1.0</version>
</Way_SaleWithus>
</modules>
<frontend>
<routers>
<salewithus>
<use>standard</use>
<args>
<module>Way_SaleWithus</module>
<frontName>salewithus</frontName>
</args>
</salewithus>
</routers>
<layout>
<updates>
<salewithus>
<file>salewithus.xml</file>
</salewithus>
</updates>
</layout>
</frontend>>
</config>