mfcc/noodle

此包已被废弃且不再维护。没有建议的替代包。

功能强大且灵活的内容管理系统。

安装: 222

依赖: 0

建议者: 0

安全: 0

星级: 1

关注者: 3

分支: 0

开放问题: 1

语言:JavaScript

dev-master 2014-08-21 13:12 UTC

This package is auto-updated.

Last update: 2021-07-01 00:09:53 UTC


README

mfcc-noodle

注意:此项目仍在积极开发中。使用风险自负。

易于使用,易于实现,超级灵活且模块化的内容管理系统,基于Zend Framework 2和Twitter Bootstrap。

著名9步安装,创建带有管理员的网站

  1. 安装Zend Skeleton App(可选)
  2. 在composer中添加mfcc-noodle依赖"mfcc/noodle": "dev-master"
  3. 没有第3步
  4. config.dist文件从vendor/mfcc/noodle/config复制到config/autoload并设置
  5. 如果没有,设置doctrine连接驱动
  6. cli-config.phpvendor/mfcc/noodle复制到项目根目录
  7. 运行php vendor/doctrine/orm/bin/doctrine orm:schema-tool:update --force来创建数据库
  8. 设置默认管理员用户
  9. 创建您的实体,并在每次更新后运行php vendor/doctrine/orm/bin/doctrine orm:schema-tool:update --force

如何创建自己的模块

  1. Noodle\Entity\Tables中创建自己的实体
  2. 为您的实体创建相应的表。
  3. 将您的实体添加到模块表中

捆绑的数据类型和选项

TBS

如何创建自己的数据类型

  1. 基于Zend Form Elements之一创建自己的表单元素
  2. 如有需要,实现prepare()treatValueBeforeSave()getListedValue()
  3. 在您的实体中使用数据类型,如下所示
/**
  * @ORM\Column(type="string");
	* @Annotation\Type("Your\Datatype\Namespace")
	* @Annotation\Options({"label":"Your label"})
	* @Annotation\Required(true)
	*/
	public $title;

如何创建自己的自定义模块

Noodle已准备好用于供应商模块。只需监听此事件即可

$events->getSharedManager()->attach('Noodle\Service\ModulesService', 'vendorModules.load', function ($e) {
  		$e->getTarget()->addVendorModule('your_module_service');
});

供应商模块必须实现TODO

如何创建仪表板小部件

将视图助手附加到共享事件管理器事件

$events->getSharedManager()->attach('Noodle\Controller\IndexController', 'dashboard', function ($e) {
  		$e->getTarget()->addDashboardModule('some_helper_service');
});

如有需要,使用并保存noodle选项为您的部件。

注意:如果您使用自己的选项设置,请小心,以避免命名空间冲突。

在您的助手中

$optionService = $this->getServiceLocator()->getServiceLocator()->get('noodleOptions');
$optionService->setOption('your_widget_namespace.your_option_key', option_value);
$optionService->getOption('your_widget_namespace.your_option_key');

小部件将通过您的助手public function __invoke(){}方法进行渲染

请参考Noodle\View\Helper\Dashboard\GoogleAnalytics

选项设置

您可以使用以下方法在任何地方设置和获取noodle选项设置

$optionService = $this->getServiceLocator()->getServiceLocator()->get('noodleOptions');
$optionService->setOption('some_widget_namespace.some_option_key', option_value);
$optionService->getOption('some_option_key');

TODOS

  1. 从实体自动创建表
  2. 在gui中管理表
  3. 编写干净的代码并提供接口
  4. 添加用户角色管理
  5. 为Noodle\Entity\Tables设置绝对命名空间路径,并将基本表设置为扩展的基础