在Concrete5上安装自定义块时出错

时间:2013-03-02 19:07:51

标签: php concrete5

我写了一个非常简单的自定义块,但是当我尝试安装它时,我收到以下错误:

致命错误:在第22行的{REMOVED} /concrete/core/controllers/single_pages/dashboard/blocks/types.php中调用未定义的方法stdClass :: isInternalBlockType()

我写了另一个很好,它安装得很完美,但这个很痛苦!问题似乎与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 个答案:

答案 0 :(得分:3)

我也拉了这个错误。在我的情况下,它是由于没有遵循大写规则造成的。 blocks目录中块的名称有&#34; words&#34;由下划线分隔,但这些必须是表格名称中的上限。换句话说,如果blocks目录中的块看起来像这样:

根/块/ my_block

你的阻止表名表必须是:

btMyBlock

答案 1 :(得分:2)

固定!我忘了将db.xml文件更改为新的表名,因此错误。