我写了一个非常简单的自定义块,但是当我尝试安装它时,我收到以下错误:
致命错误:在第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.');
}
}
?>
所以,如果我删除除了它安装的类行之外的所有内容,只是没有标题等。
答案 0 :(得分:3)
我也拉了这个错误。在我的情况下,它是由于没有遵循大写规则造成的。 blocks目录中块的名称有&#34; words&#34;由下划线分隔,但这些必须是表格名称中的上限。换句话说,如果blocks目录中的块看起来像这样:
根/块/ my_block
你的阻止表名表必须是:
btMyBlock
答案 1 :(得分:2)
固定!我忘了将db.xml文件更改为新的表名,因此错误。