Magento 1.8.1.0 sürümünü kullanıyorum .
Yeni bir ana sayfa oluşturmak için kullanacağım yeni bir özel blok modülü oluşturmaya çalışıyorum.
- Ad Alanı: Haçlı
- Modül: CLHomePage
- Blok Tipi: haçlı evi
- Sınıf: Qwerty (şimdilik sadece test sırasında)
- Tasarım Paketi: haçlı
- Tema: varsayılan
Şimdiye kadar sahip olduğum şey bu:
\ App \ etc \ modülleri \ Crusader_All.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_CLHomePage>
<active>true</active>
<codePool>local</codePool>
</Crusader_CLHomePage>
</modules>
</config>
\ App \ kod \ yerel \ Haçlı \ CLHomePage \ vb \ Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_CLHomePage>
<version>0.0.1</version>
</Crusader_CLHomePage>
</modules>
<global>
<blocks>
<crusaderhome>
<class>Crusader_CLHomePage_Block</class>
</crusaderhome>
</blocks>
</global>
</config>
\ App \ kod \ yerel \ Haçlı \ CLHomePage \ Blok \ Qwerty.php
<?php
class Crusader_CLHomePage_Block_Qwerty extends Mage_Core_Block_Template
{
// Methods (optional)
}
?>
\ App \ tasarım \ önyüzü \ haçlı \ varsayılan \ düzeni \ local.xml
<?xml version="1.0" ?>
<layout>
<cms_index_index>
<reference name="content">
<block type="core/template" name="homepage" template="crusader/home.phtml">
<block type="crusaderhome/qwerty" name="homeads" as="homeads" template="crusader/homeads.phtml" />
</block>
</reference>
</cms_index_index>
</layout>
\ App \ tasarım \ önyüzü \ haçlı \ varsayılan \ template \ haçlı \ home.phtml
<div id="home">
<p>Home Wrapper</p>
<?php echo $this->getChildHtml('homeads'); ?>
</div>
\ App \ tasarım \ önyüzü \ haçlı \ varsayılan \ template \ haçlı \ homeads.phtml
<p>Adverts</p>
Şimdi, yukarıdakiler yerinde olduğunda, ana sayfam sadece "Home Wrapper" ı gösteriyor, içeriği home.phtml
görüntüleniyor, ancak içeriği görüntülenmiyor homeads.phtml
.
Ben blok türünü değiştirirseniz homeads
için core/template
çalıştığını, ve ben de "Ev Sarıcısını" ve "Reklamlarının" bölümüne bakın. Sorunun yeni blok tipime (haçlı evi denir) referansla ilgili bir şey olduğunu biliyorum.
Burada neyi yanlış yapıyorum ..?
DÜZENLE
Yanıtlardaki önerilerden sonra, bazı dosyaları aşağıdaki gibi güncelledim, ancak yine de çalışmıyor:
\ App \ etc \ modülleri \ Crusader_Home.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_Home>
<active>true</active>
<codePool>local</codePool>
</Crusader_Home>
</modules>
</config>
\ App \ kod \ yerel \ Haçlı \ Başlangıç \ vb \ Config.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_Home>
<version>1.0.0</version>
</Crusader_Home>
</modules>
<global>
<blocks>
<crusader_home>
<class>Crusader_Home_Block</class>
</crusader_home>
</blocks>
</global>
</config>
\ App \ kod \ yerel \ Haçlı \ Başlangıç \ Blok \ Qwerty.php
<?php
class Crusader_Home_Block_Qwerty extends Mage_Core_Block_Template
{
// Methods (optional)
}
?>
\ app \ design \ frontend \ crusader \ default \ layout \ local.xml (daha önce denediğim iç içe bloklar yerine yalnızca bir blok kullanacak şekilde basitleştirildi)
<?xml version="1.0" ?>
<layout>
<cms_index_index>
<reference name="content">
<block type="crusader_home/qwerty" name="homepage" template="crusader/home.phtml" />
</reference>
</cms_index_index>
</layout>
\ App \ tasarım \ önyüzü \ haçlı \ varsayılan \ template \ haçlı \ home.phtml
<p>Home</p>
Bu yüzden hala hiçbir şeyin göstermediği bir pozisyondayım.
@FabianBlechschmidt tarafından istendiğinde, günlükleri açtım ve bu, exception.log dosyasında gösterilir:
2014-04-09T14:04:54+00:00 ERR (3):
exception 'Mage_Core_Exception' with message 'Invalid block type: Crusader_Home_Block_Qwerty' in W:\stores\magento-dev\app\Mage.php:595
Stack trace:
#0 W:\stores\magento-dev\includes\src\__default.php(27744): Mage::throwException('Invalid block t...')
#1 W:\stores\magento-dev\includes\src\__default.php(27686): Mage_Core_Model_Layout->_getBlockInstance('crusader_home/q...', Array)
#2 W:\stores\magento-dev\includes\src\__default.php(27721): Mage_Core_Model_Layout->createBlock('crusader_home/q...', 'homepage')
#3 W:\stores\magento-dev\includes\src\__default.php(27488): Mage_Core_Model_Layout->addBlock('crusader_home/q...', 'homepage')
#4 W:\stores\magento-dev\includes\src\__default.php(27454): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#5 W:\stores\magento-dev\includes\src\__default.php(27459): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#6 W:\stores\magento-dev\includes\src\__default.php(13895): Mage_Core_Model_Layout->generateBlocks()
#7 W:\stores\magento-dev\includes\src\__default.php(11274): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#8 W:\stores\magento-dev\includes\src\__default.php(11213): Mage_Cms_Helper_Page->_renderPage(Object(Mage_Cms_IndexController), 'home')
#9 W:\stores\magento-dev\app\code\core\Mage\Cms\controllers\IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), 'home')
#10 W:\stores\magento-dev\includes\src\__default.php(13969): Mage_Cms_IndexController->indexAction()
#11 W:\stores\magento-dev\includes\src\__default.php(18331): Mage_Core_Controller_Varien_Action->dispatch('index')
#12 W:\stores\magento-dev\includes\src\__default.php(17865): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#13 W:\stores\magento-dev\includes\src\__default.php(20465): Mage_Core_Controller_Varien_Front->dispatch()
#14 W:\stores\magento-dev\app\Mage.php(684): Mage_Core_Model_App->run(Array)
#15 W:\stores\magento-dev\index.php(176): Mage::run('crusadergifts', 'store')
#16 {main}
Ne olduğu hakkında herhangi bir fikir .. ??
EDIT No 2
@Malachy Cevabı buldu ... Derleyiciydi. Derleyiciyi devre dışı bıraktım ve şimdi çalışıyor gibi görünüyor.
exception 'Mage_Core_Exception' with message 'Invalid block type: Crusader_Home_Block_Qwerty'