我開始學習Magento.I創建自定義模塊。我有控制器在該行動中獲取數據的數組。但是當我試圖在Block文件中獲得相同的collecion時。我沒有收藏。
我是否需要創建資源文件夾才能在Block中獲取數據?我已經在Model中創建了Mysql4文件夾。資源的真正用途是什麼?如何創建資源?
我的命名空間是公司與我的模塊名稱是網絡
這裏是我的阻止文件名 - Web.php什麼是資源在magento
<?php
class Company_Web_Block_Webdata extends Mage_Core_Block_Template
{
public function getCategoryData()
{
return Mage::getModel('web/web')->getCollection()->getData();
}
}
?>
我的config.xml
<?xml version="1.0" ?>
<config>
<modules>
<Company_Web>
<version>1.6.0.0.2</version>
</Company_Web>
</modules>
<frontend>
<routers>
<web>
<use>standard</use>
<args>
<module>Company_Web</module>
<frontName>web</frontName>
</args>
</web>
</routers>
<layout>
<updates>
<web>
<file>web.xml</file>
</web>
</updates>
</layout>
</frontend>
<global>
<models>
<!--<web>
<class>Company_Web_Model</class>
<resourceModel>web_mysql4</resourceModel>
</web>
<web_mysql4>
<class>Company_Web_Model_Mysql4</class>
<entities>
<web>
<table>category</table>
</web>
</entities>
</web_mysql4>-->
<web>
<class>Company_Web_Model</class>
<resourceModel>web_resource</resourceModel>
</web>
<web_resource>
<class>Company_Web_Model_Resource</class>
<entities>
<web>
<table>category</table>
</web>
</entities>
</web_resource>
</models>
<resources>
<web_setup>
<setup>
<module>Company_Web</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</web_setup>
<web_setup>
<connection>
<use>core_write</use>
</connection>
</web_setup>
<web_setup>
<connection>
<use>core_read</use>
</connection>
</web_setup>
</resources>
<blocks>
<company_web>
<class>Company_Web_Block</class>
</company_web>
</blocks>
<!--
<helpers>
<company_web>
<class>Company_Web_Helper</class>
</company_web>
</helpers>-->
</global>
</config>
Web.php文件中的資源文件夾。
<?php
class Company_Web_Model_Resource_Web extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
$this->_init('web/web', 'id');
}
}
?>
Collection.php文件資源/網絡/ collection.php
<?php
class Company_Web_Model_Resource_Web_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
protected function _construct()
{
$this->_init('web/web');
}
}
?>
IndexController.php
<?php
class Company_Web_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
public function addcategoryAction()
{
if ($this->getRequest()->isPost())
{
$data = $this->getRequest()->getParams();
$catName = $data['catName'];
$status = $data['status'];
$data = array('name'=>$catName,'status'=>$status);
$model = Mage::getModel('web/web')->setData($data);
try {
$insertId = $model->save()->getId();
$this->_redirect('web/index/category');
} catch (Exception $e){
echo $e->getMessage();
}
}
$this->loadLayout();
$this->renderLayout();
}
public function categoryAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
?>
佈局/ web.xml中
<?xml version="1.0" ?>
<layout version="0.1.0">
<web_index_index>
<reference name="content">
<block type="core/template" name="web" template="web/web.phtml"></block>
</reference>
</web_index_index>
<web_index_addcategory>
<reference name="content">
<block type="core/template" name="web" template="web/addcategory.phtml"></block>
</reference>
</web_index_addcategory>
<web_index_category>
<reference name="content">
<block type="core/template" name="category" template="web/category.phtml" />
</reference>
</web_index_category>
</layout>
塊文件不應Web.php但Webdata.php,Web.php應該是你的模型文件。 – MTM
Thanks.I根據您的意見更改名稱。 – Nikul
現在工作嗎? – MTM