jbouzekri/simple-page-bundle

提供简单的静态页面管理和显示功能

安装: 46

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0 2014-08-06 18:32 UTC

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包继承来覆盖包的一些部分

许可证

MIT