আমি ম্যাজেন্টো সংস্করণ 1.8.1.0 ব্যবহার করছি ।
আমি একটি নতুন কাস্টম ব্লক মডিউল তৈরির চেষ্টা করছি, যা আমি একটি নতুন হোম পৃষ্ঠা তৈরির জন্য ব্যবহার করব।
- নেমস্পেস: ক্রুসেডার
- মডিউল: সিএলহোমপেজ
- ব্লকের ধরণ: ক্রুসেড হোম
- শ্রেণি: কিওয়ার্টি (পরীক্ষার সময় কেবলমাত্র এখন জন্য)
- ডিজাইন প্যাকেজ: ক্রুসেডার
- থিম: ডিফল্ট
আমার এ পর্যন্ত যা আছে:
\ অ্যাপ্লিকেশন \ ইত্যাদি \ মডিউল \ Crusader_All.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_CLHomePage>
<active>true</active>
<codePool>local</codePool>
</Crusader_CLHomePage>
</modules>
</config>
\ অ্যাপ্লিকেশন \ কোড \ স্থানীয় \ ক্রুসেডার \ CLHomePage \ ইত্যাদি \ 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>
\ অ্যাপ্লিকেশন \ কোড \ স্থানীয় \ ক্রুসেডার \ CLHomePage \ ব্লক \ Qwerty.php
<?php
class Crusader_CLHomePage_Block_Qwerty extends Mage_Core_Block_Template
{
// Methods (optional)
}
?>
\ অ্যাপ্লিকেশন \ নকশা \ ফ্রন্টএন্ড \ ধর্মযোদ্ধা \ ডিফল্ট \ বিন্যাস \ 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>
\ অ্যাপ্লিকেশন \ নকশা \ ফ্রন্টএন্ড \ ধর্মযোদ্ধা \ ডিফল্ট \ টেমপ্লেট \ ধর্মযোদ্ধা \ home.phtml
<div id="home">
<p>Home Wrapper</p>
<?php echo $this->getChildHtml('homeads'); ?>
</div>
\ অ্যাপ্লিকেশন \ নকশা \ ফ্রন্টএন্ড \ ধর্মযোদ্ধা \ ডিফল্ট \ টেমপ্লেট \ ধর্মযোদ্ধা \ homeads.phtml
<p>Adverts</p>
এখন উপরের জায়গাগুলির সাথে, আমার হোম পৃষ্ঠাতে কেবল "হোম র্যাপার" home.phtml
প্রদর্শিত হচ্ছে , সুতরাং এর সামগ্রী প্রদর্শিত হবে তবে এর সামগ্রী নয় homeads.phtml
।
যদি আমি ব্লক টাইপ পরিবর্তন homeads
করার জন্য core/template
, এটি কাজ করে, এবং আমি উভয় "বাড়ি আবরণ" এবং "adverts" দেখুন। সুতরাং আমি জানি যে সমস্যাটি আমার নতুন ব্লকের ধরণের (ক্রুসেড হোম নামে পরিচিত) রেফারেন্সের সাথে করণীয়।
আমি এখানে কি ভুল করছি ..?
সম্পাদনা
উত্তরের পরামর্শের পরে, আমি নিম্নরূপ কয়েকটি ফাইল আপডেট করেছি তবে এটি এখনও কার্যকর হয় না:
\ অ্যাপ্লিকেশন \ ইত্যাদি \ মডিউল \ Crusader_Home.xml
<?xml version="1.0"?>
<config>
<modules>
<Crusader_Home>
<active>true</active>
<codePool>local</codePool>
</Crusader_Home>
</modules>
</config>
\ অ্যাপ্লিকেশন \ কোড \ স্থানীয় \ ক্রুসেডার \ হোম \ ইত্যাদি \ 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>
\ অ্যাপ্লিকেশন \ কোড \ স্থানীয় \ ক্রুসেডার \ হোম \ ব্লক \ Qwerty.php
<?php
class Crusader_Home_Block_Qwerty extends Mage_Core_Block_Template
{
// Methods (optional)
}
?>
\ অ্যাপ্লিকেশন \ ডিজাইন \ ফ্রন্টএন্ড \ ক্রুসেডার \ ডিফল্ট \ লেআউট। স্থানীয়.xML (আমি চেষ্টা করছিলাম নেস্টেড ব্লকগুলির পরিবর্তে কেবল একটি ব্লক ব্যবহারের জন্য সরলীকৃত)
<?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>
\ অ্যাপ্লিকেশন \ নকশা \ ফ্রন্টএন্ড \ ধর্মযোদ্ধা \ ডিফল্ট \ টেমপ্লেট \ ধর্মযোদ্ধা \ home.phtml
<p>Home</p>
সুতরাং আমি এখনও এমন অবস্থানে আছি যেখানে কিছুই দেখায় না।
@ ফ্যাবিয়ানব্লিকস্মমিট দ্বারা অনুরোধ করার পরে আমি লগগুলি চালু করেছি এবং ব্যতিক্রম হিসাবে এটি দেখায়:
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}
কোন ধারণা কি ঘটছে .. ??
2 নম্বর সম্পাদনা করুন
@ মালাচি উত্তরটি খুঁজে পেল ... এটি সংকলক ছিল। আমি সংকলকটি অক্ষম করেছি এবং এটি এখন কাজ করছে বলে মনে হচ্ছে।
exception 'Mage_Core_Exception' with message 'Invalid block type: Crusader_Home_Block_Qwerty'