无法编辑插件的属性,插件不会随页面一起保存
Can't edit properties of plugin and plugin won't save with page
我有以下用于 october cms 的非常基本的插件,但我不知道如何使选项可编辑或确保插件与页面一起保存。我保存页面的那一刻,关闭它并重新加载它横幅 header 消失了。
我看过其他插件和示例,但我无法辨别我做错了什么..
Plugin.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'
];
}
}
components/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
..
很明显出了点问题,但是这个神秘的消息并没有给我指明可以解决它的方向。
有谁知道我如何才能将其追溯到故障?或指出正确的文档?
其他插件工作正常,保存也很好。
这可能是一些愚蠢和小的东西。我只是想不通这个愚蠢的小东西是什么。(有时我讨厌学习新东西嘿嘿)
只需添加 $ret = new \stdClass();
.
来源:Can't edit properties of plugin and plugin won't save with page
但是,stdClass
是基于 PHP 的函数,而不是 October 函数。可能会发生错误,但我不认为。
谢谢 (-:
我有以下用于 october cms 的非常基本的插件,但我不知道如何使选项可编辑或确保插件与页面一起保存。我保存页面的那一刻,关闭它并重新加载它横幅 header 消失了。
我看过其他插件和示例,但我无法辨别我做错了什么..
Plugin.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'
];
}
}
components/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
..
很明显出了点问题,但是这个神秘的消息并没有给我指明可以解决它的方向。
有谁知道我如何才能将其追溯到故障?或指出正确的文档? 其他插件工作正常,保存也很好。
这可能是一些愚蠢和小的东西。我只是想不通这个愚蠢的小东西是什么。(有时我讨厌学习新东西嘿嘿)
只需添加 $ret = new \stdClass();
.
来源:Can't edit properties of plugin and plugin won't save with page
但是,stdClass
是基于 PHP 的函数,而不是 October 函数。可能会发生错误,但我不认为。
谢谢 (-: