2010-01-28 11 views
8

Özel ad alanımızda yerel kod klasöründe bir modül oluşturdum. Blok, ön tarafta görüntülenmiyor ve istisna günlüğünü kontrol ederek Magento yanlış yere bakıyor. Ben bloğu çağıran MyCompany_ öneki hariç eğerMagento neden özel ad alanım yerine Mage ad alanında çağrı yapmaya çalışıyor?

exception ‘Mage_Core_Exception’ with message ‘Invalid block type: 
Mage_MyCompany_ForthcomingProducts_Block_List’ 
in /var/www/html/app/Mage.php:407 

aynı zamanda gider; Mage ad alanında hala görünüyor. Ben modülleri klasöründe MyCompany_All.xml isimli dosyada bu var ve ben ekledim CMS düzenleri Magento yüzden kesinlikle yükleniyor, iyi çalışıyor:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <MyCompany_CmsLayouts> 
      <codePool>local</codePool> 
      <active>true</active> 
     </MyCompany_CmsLayouts> 
     <MyCompany_ForthcomingProducts> 
      <codePool>local</codePool> 
      <active>true</active> 
     </MyCompany_ForthcomingProducts> 
    </modules> 
</config> 

kimse ne için herhangi bir fikirleri var mı

Buna neden oluyor?
Eklendi: blok bu şablon kodu ile statik blok tarafından çağrılan:

{{block type="MyCompany_ForthcomingProducts/List" template="forthcomingproducts/list.phtml"}} 

Ve blok için config.xml geçerli:

<?xml version="1.0" encoding="utf-8"?> 
    <config> 
     <modules> 
      <MyCompany_ForthcomingProducts> 
       <version>0.9</version> 
      </MyCompany_ForthcomingProducts> 
     </modules> 

     <global> 
      <blocks> 
       <forthcomingproducts> 
        <class>MyCompany_ForthcomingProducts_Block</class> 
       </forthcomingproducts> 
      </blocks> 
     </global> 
    </config> 
+1

Bu blok denir Layout.xml veya kod bakmak için ilgili yer olduğunu düşünüyorum. Tanılamak için, bunu ve belki de söz konusu blok için config.xml'yi görmek isterim. – Laizer

+0

Cevabınız için çok teşekkürler, bilgileri soruya ekledim. –

cevap

7

aşağıdaki gibi blok beyanı ayarlamayı deneyin : config dosyasında

{{block type="forthcomingproducts/list" template="forthcomingproducts/list.phtml"}} 

Eğer bloklar (forthcomingproducts) için bir takma ad tanımlanmış ve şimdi Onu izlemelisin. Magento, forthcomingproducts'un isteğiniz doğrultusunda MyCompany_ForthcomingProducts_Block olmasını kabul edecek, ardından büyük harfli sınıf adını (list) ekleyecektir ve MyCompany_ForthcomingProducts_Block_List sınıf adını oluşturacaktır. Magento'nun (örneğinizde) (MyCompany_ForthcomingProducts) hakkında bilmediği bir alis kullandığınızda, Mage ad alanının bir parçası olduğu varsayılır. yardımcı olur

Umut, Joe

+0

Teşekkürler Joe! Magento şimdi bir istisna atmayı bıraktı, bu yüzden modülü bulduğunu farz ediyorum. Başka bir sorun yaşıyorum ama önce çözebilir miyim göreceğim! –

İlgili konular