2013-03-02 52 views
2
安裝自定義塊時

我寫了一個非常簡單的自定義模塊,但是當我嘗試安裝它,我得到以下錯誤:錯誤的Concrete5

致命錯誤:調用未定義的方法stdClass的:: isInternalBlockType( )在{REMOVED} /concrete/core/controllers/single_pages/dashboard/blocks/types.php在線22

我寫了另一個很好,它完美安裝,但這是一個痛苦!這個問題似乎是與Controller.php這樣,當我刪除,如果我刪除除類線就安裝它的一切工作正常(只需安裝與沒有好沒有元數據!)

<?php 
defined('C5_EXECUTE') or die("Access Denied."); 
class QuicklinksBlockController extends BlockController { 

    protected $btTable = "btQuicklinks"; 
    protected $btInterfaceWidth = "600"; 
    protected $btInterfaceHeight = "400"; 

    public function getBlockTypeName() { 
     return t('Quick Links Section'); 
    } 

    public function getBlockTypeDescription() { 
     return t('A quick links section block.'); 
    } 

} 
?> 

所以,只要沒有標題等。

回答

2

固定!我忘記將db.xml文件更改爲新的表名,從而導致錯誤。

3

我也拉這個錯誤。在我看來,這是由於沒有遵循大寫規則而造成的。塊目錄中塊的名稱具有由下劃線分隔的「單詞」,但這些名稱必須是表格中的大寫字母。換句話說,如果你在塊目錄塊看起來是這樣的:

根/塊/ my_block

你塊表的表名必須是:

btMyBlock