Невозможно изменить свойства плагина, и плагин не сохраняется на странице

У меня есть следующий очень простой плагин для October CMS, и я не могу понять, как сделать параметры редактируемыми или убедиться, что плагин сохраняется на странице. В тот момент, когда я сохраняю страницу, закрываю ее и перезагружаю, заголовок баннера исчезает.

Я просмотрел другие плагины и примеры, и я не могу понять, что я делаю неправильно.

Плагин.php

<?php namespace MDibbets\BannerHeader;

use System\Classes\PluginBase;

class Plugin extends PluginBase
{

    public function pluginDetails()
    {
        return [
            'name'        => 'Banner Header',
            'description' => 'Provides content management for the banner header module.',
            'author'      => 'Michael Dibbets',
            'icon'        => 'icon-sun-o'
        ];
    }

    public function registerComponents()
    {
        return [
           '\MDibbets\BannerHeader\Components\BannerHeader' => 'bannerheader'
        ];
    }
}

компоненты /bannerheader.php

<?php 
namespace MDibbets\BannerHeader\Components;

use App;
use Event;
use Backend;
use Cms\Classes\ComponentBase;
use System\Classes\ApplicationException;

class BannerHeader extends ComponentBase
{
    public function componentDetails()
    {
        return [
            'name'        => 'Banner Header',
            'description' => 'Places a nice big banner header on the page with the below settings.'
        ];
    }

    public function defineProperties()
    {
        return [
            'maintitle' => [
                'title'             => 'Main Title',
                'type'              => 'string',
                'default'           => 'Welcome'
            ],
            'subtitle' => [
                'title'             => 'Sub Title',
                'type'              => 'string',
                'default'           => 'you are'
            ],
            'content' => [
                    'title'             => 'The Content',
                    'type'              => 'string',
                    'default'           => 'xxxxxxxxxx'
            ]
        ];
    }
    public function info() {
        $ret = new stdClass();
        $ret->title = $this->property('title');
        $ret->subtitle = $this->property('subtitle');
        $ret->content = $this->property('content');
        return $ret;
    }
    public function onRun() {
        $this->page['bannerheader'] = $this->info();
    }
   //...

}

?>

Я следил за каждым шагом в руководстве по приложению погоды, и логика подсказывает, что это должно работать правильно? но я попадаю в консоль javascript Uncaught Error: Error parsing the Inspector field configuration. SyntaxError: Unexpected end of input, когда дважды щелкаю поле баннера, чтобы открыть параметры.

Так что явно что-то не так, но это загадочное сообщение не указывает мне направление, в котором я могу его решить.

Кто-нибудь знает, как я могу отследить это до неисправности? или указать мне на соответствующую документацию? Другие плагины работают нормально и сохраняют нормально.

Наверное, это что-то глупое и маленькое. Я просто не могу понять, что это за глупая мелочь (иногда я ненавижу изучать новые вещи, хех)


person Tschallacka    schedule 23.06.2015    source источник
comment
Вау, я отвечал на октябрьской CMS, которую вы публикуете, и искал Uncaught Error: Error parsing the Inspector field configuration., я попадал на эту страницу. Мой вопрос: ошибка Uncaught Error: Error parsing the Inspector field configuration. находится на бэкэнде или во внешнем интерфейсе? Кроме того, в вашем коде отсутствует } или что-то в этом роде (согласно SyntaxError: Unexpected end of input)   -  person Félix Desjardins    schedule 23.06.2015
comment
Хотите бесплатную точку? Опубликуйте ответ, который я разместил на октябрьской странице cms :-)   -  person Tschallacka    schedule 24.06.2015


Ответы (1)


Просто добавьте $ret = new \stdClass();.

Источник: Невозможно изменить свойства плагина, и плагин не сохранится вместе со страницей

Но stdClass — это функция на основе PHP, а не функция October. Ошибка могла произойти, но я не думаю.

Спасибо (-:

person Félix Desjardins    schedule 24.06.2015