elvandar / kazetenn-pages

处理symfony的页面包。Kazetenn项目的一部分

安装: 1

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.2 2023-02-15 20:14 UTC

This package is auto-updated.

Last update: 2024-09-15 23:52:45 UTC


README

描述

Kazetenn Pages是一个symfony包,允许您以编程方式处理基本页面。

安装

您可以使用

composer require elvandar/kazetennpages

来安装此包。

您还需要配置 stof/doctrineextensionsbundle

config/packages/stof_doctrine_extensions.yaml

stof_doctrine_extensions:
    orm:
        your_orm:
            timestampable: true

使用方法

该包提供了一种简单的数据模型来处理页面的程序性创建,以及一些路由和视图来显示这些页面。

配置

要使用包提供的路由,您需要将以下行添加到 config/routes.yaml

kazetenn_pages:
  resource: "@KazetennPages/Resources/config/routes.yaml"

config/packages/kazetenn-pages.yaml

kazetenn_pages:
    blog_url: ""

默认情况下,显示路由前没有前缀,但您可以使用此配置添加一个。

数据模型

该包围绕2个实体构建

Page

代表要显示的页面

在页面中,您可以定义

  • 标题
  • 别名
  • 父级
  • 内容列表

这将用于处理页面显示和URL

如果页面没有父级,其URL将是

/{blog_url}/{slug}

如果页面有父级,其URL将是

/{blog_url}/{parent_slug}/{slug}

PageContent

处理页面的内容。

在PageContent中,您可以定义

  • 内容
  • 模板
  • 父级
  • 排序
  • 对齐(垂直或水平)
  • 内容列表

内容是text/html。它始终使用rawtwig函数进行渲染。

模板允许您定义一个twig模板来个性化内容的渲染,而无需在数据库中存储HTML。

一个PageContent可以引用多个其他PageContent(子项)。使用对齐属性,您可以定义内容子项的渲染方式。通过这种方式,您可以轻松创建内容网格,允许您轻松排序内容。为此,PageContent的内容属性可以是null,允许您创建排序PageContent。

最后,排序属性允许您选择PageContent及其同级内容的渲染顺序。

许可证

页面包采用MIT许可证