2013-03-02 2 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

Смежные вопросы