jbouzekri / simple-page-bundle
提供简单的静态页面管理和显示功能
Requires
- gedmo/doctrine-extensions: >=2.3
- symfony/framework-bundle: >=2.3
This package is auto-updated.
Last update: 2024-09-12 19:08:28 UTC
README
此包提供基础类来管理项目中的静态页面,并为用户提供了使用管理界面进行编辑和更改的手段。由于很多人请求这个简单的功能,我厌倦了反复实现它,所以开发了它。
安装
将jbouzekri/simple-page-bundle
添加到composer.json
中的依赖项。
"jbouzekri/simple-page-bundle": "1.*"
在AppKernel中启用该包
$bundles = array( ... new Jb\Bundle\SimplePageBundle\JbSimplePageBundle() );
并在app/config/routing.yml中导入路由
simple_page_route_imported: resource: "@JbSimplePageBundle/Resources/config/routing.yml"
重要:如果您使用的是doctrine提供程序,则基础页面实体使用gedmo的doctrine扩展。您必须启用timestampable和sluggable扩展(要轻松启用它,您可以使用stof创建的包装器)。
该包提供2个页面提供程序。第一个使用Doctrine并将页面存储在数据库中。使用这个,您可以拥有一个管理界面。第二个使用翻译器服务来加载页面内容,但不能与行政界面一起使用。
默认配置下,使用默认实体Jb\Bundle\SimplePageBundle\Entity\Page与doctrine提供程序一起使用。
您可以通过路由/admin/page访问管理界面,通过路由/page/{slug}访问主页。
Doctrine提供程序参考
jb_simple_page: entity: Jb\Bundle\SimplePageBundle\Entity\Page provider: doctrine form: jb_simple_page_default_form router: root_prefix: page admin_prefix: admin front: view_template: "JbSimplePageBundle:Front:view.html.twig" layout_template: "::base.html.twig" admin: index_template: "JbSimplePageBundle:Admin:index.html.twig" edit_template: "JbSimplePageBundle:Admin:edit.html.twig" layout_template: "::base.html.twig"
- jb_simple_page.entity:加载的实体
- form:用于管理界面的表单名称(定义为服务)
- router.root_prefix:用于前端和行政前缀与行政中的slug之间的路由前缀
- router.admin_prefix:用于管理界面的路由前缀(位于root前缀之前)
- front.view_template:渲染页面时使用的模板
- front.layout_template:用于扩展的前端布局模板
- admin.index_template:管理界面中的页面列表模板
- admin.edit_template:管理界面中的编辑/创建页面模板
- admin.layout_template:用于扩展的管理界面布局模板
翻译器提供程序参考
jb_simple_page: provider: translator router: root_prefix: page front: view_template: "JbSimplePageBundle:Front:view.html.twig" layout_template: "::base.html.twig" translator: translation_domain: jb_simple_page pages: - slug-value ...
- router.root_prefix:用于前端和行政前缀与行政中的slug之间的路由前缀
- front.view_template:渲染页面时使用的模板
- front.layout_template:用于扩展的前端布局模板
- translator.translation_domain:加载页面内容的翻译域
- translator.pages:可用的页面列表。
在您的翻译文件(例如translation_domain.locale.yml)中,对于在translator.pages中定义的每个页面,您可以定义
slug-value: title: The title content: The content (html tags are not stripped or escaped) meta_title: the meta title meta_description: the meta description
如果您想添加一些字段,可以覆盖TranslatorPageBuilder服务。
覆盖
所有服务都使用类配置参数定义。您可以在您的包中覆盖它们。此外,一些语义配置参数允许您更改模板。如果这还不够,您可以使用Symfony包继承来覆盖包的一些部分