레이아웃 블록을 만드는 방법
-
12-12-2019 - |
문제
나는 하나의 간단한 일을 만들려고 노력하고 있습니다 : 레이아웃 파일에 의해 참조되는 블록.그러나 나는 2 시간을 보내고 여전히 내가 어디에서 틀린 곳을 탐지 할 수 없었습니다.
여기는 config.xml입니다.
<?xml version="1.0"?>
<config>
<modules>
<AD_Donations>
<version>0.0.1</version>
</AD_Donations>
</modules>
<global>
<blocks>
<donations>
<class>AD_Donations_Block</class>
</donations>
</blocks>
</global>
<frontend>
<routers>
<donate>
<use>standard</use>
<args>
<module>AD_Donations</module>
<frontName>donate</frontName>
</args>
</donate>
</routers>
<layout>
<updates>
<ad_donations>
<file>ad_donations.xml</file>
</ad_donations>
</updates>
</layout>
</frontend>
</config>
.
여기에 레이아웃 파일 (AD_DONATIONS.XML)입니다.
<layout version="0.1.0">
<donate_index_index>
<reference name="root">
<action method="setTemplate"><template>page/page_one_column_sidebar.phtml</template></action>
</reference>
<reference name="content">
<block type="donations/category" name="donations" as="donations" template="donations/donations_category.phtml" />
</reference>
</donate_index_index>
</layout>
.
여기에는 광고 / 기부 / 카테고리가 있습니다.
<?php
class AD_Donations_Blocks_Category extends Mage_Core_Block_Template
{
public function __construct()
{
Mage::log('1111');
}
}
.
여기 내 컨트롤러 광고 / 기부 / indexcontroller.php :
<?php
class AD_Donations_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
.
여기서 뭐가 잘못 됐어?
해결책
해당 블록 클래스의 작은 실수
class AD_Donations_Blocks_Category
.
가 되십시오
class AD_Donations_Block_Category
.
또한 category.php 경로 위치 AD/Donations/Block/
확장자 생성 방법을 확인하십시오 : http ://www.amitbera.com/create-an-magento-extension-with-custom-database-table//a>
제휴하지 않습니다 magento.stackexchange