sedona / sbo
Sedona 后台办公组件包
2.0.1
2020-10-19 10:52 UTC
Requires
- php: >=5.6
- avanzu/admin-theme-bundle: ~1.3
- datatables/datatables: ^1.10
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: ^2.4.8
- eonasdan/bootstrap-datetimepicker: ~4.0
- exercise/htmlpurifier-bundle: ^0.2.3
- friendsofsymfony/jsrouting-bundle: ^1.5
- helios-ag/fm-elfinder-bundle: ~6.0
- jms/di-extra-bundle: ~1.5
- jquery-form/form: ^4.2
- knplabs/knp-menu-bundle: ~2.0
- knplabs/knp-paginator-bundle: ~2.4
- moment/moment: ^2.10
- select2/select2: ~3.5.4
- sg/datatablesbundle: ^0.10.0
- symfony/assetic-bundle: ~2.3|~3.0
- symfony/monolog-bundle: ~2.4|~3.0
- symfony/symfony: ~2.7|~3.0
- trsteel/ckeditor-bundle: ~1.8
- twig/extensions: ^1.3
README
安装
需求
- Symfony 2.7 mini,兼容 Symfony 3
步骤 1:下载组件包
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此组件包的最新版本
$ composer require "sedona/sbo" "dev-master"
此命令要求您全局安装了 Composer,如 Composer 文档中的安装章节所述。
### 步骤 2:启用组件包
然后,通过将其添加到项目的 app/AppKernel.php
文件中注册的组件包列表来启用该组件包,如果您尚未使用,您还需要添加一些额外的组件包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new FOS\JsRoutingBundle\FOSJsRoutingBundle(), new JMS\DiExtraBundle\JMSDiExtraBundle($this), new JMS\AopBundle\JMSAopBundle(), new Sedona\SBORuntimeBundle\SedonaSBORuntimeBundle(), new Sg\DatatablesBundle\SgDatatablesBundle(), new Avanzu\AdminThemeBundle\AvanzuAdminThemeBundle(), new Exercise\HTMLPurifierBundle\ExerciseHTMLPurifierBundle(), ); if (in_array($this->getEnvironment(), array('dev', 'test'), true)) { // ... $bundles[] = new Sedona\SBOGeneratorBundle\SedonaSBOGeneratorBundle(); } // ... } // ... }
### 步骤 3:创建基本布局
创建一个模板 app/Resources/views/layout_admin.html.twig
{% extends 'SedonaSBORuntimeBundle:layout:base-layout.html.twig' %}
{% block avanzu_logo %}
<a href="{{ path('admin_home') }}" class="logo">
<img src="{{ asset('bundles/sedonasboadmintheme/images/sedona-logo.png') }}"/> Test SBO
</a>
{% endblock %}
{% block title %}Administration{% endblock %}
{% block page_title %}Administration{% endblock %}
{% block page_subtitle %}Administration area{% endblock %}
步骤 4:添加一些基本配置
在 routing.yml 中添加
admin:
resource: "@AppBundle/Controller/Admin"
type: annotation
prefix: /admin
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
在 config.yml 中添加
jms_di_extra:
locations:
all_bundles: false
bundles: [SedonaSBOTestBundle]
directories: ["%kernel.root_dir%/../src"]
并取消注释以激活翻译
translator: { fallback: "%locale%" }
生成器使用方法
php app/console sbo:generate:crud --entity SedonaSBOTestBundle:Track --with-write --overwrite
要正常运行,每个实体都应该声明其 __toString() 方法。
关联字段 OneToMany 已经创建,但默认为注释状态
- 在 datatable:在取消注释之前,应更改列名(默认为 entity.name)
- 在 form:只有具有少量行的实体应该取消注释,对于大量数据,应替换为 select2
致谢
Sedona 后台办公由 Sedona 创建和维护 http://www.sedona.fr
它遵循 MIT 许可证,更多详细信息请参阅 LICENCE 文件。
我们感谢在此解决方案中使用到的不同库和组件包的作者。
- SBOGeneratorBundle 基于 SensioLabs 的 SensioGeneratorBundle https://github.com/sensiolabs/SensioGeneratorBundle
- SBORuntimeBundle 扩展了 Avanzu 的 AvanzuAdminThemeBundle https://github.com/avanzu/AdminThemeBundle,该组件是 Almsaeed Studio 的 AdminLTE 模板的 Symfony 实现 https://github.com/almasaeed2010/AdminLTE
- 生成的 Datatable 使用 Stwe 的 SgDatatablesBundle https://github.com/stwe/DatatablesBundle,该组件实现了 JQuery Datatable https://datatables.net.cn/