wakers/cms-structure-module

Wakers CMS 5 的结构模块

1.0.4-alpha 2019-08-11 00:53 UTC

This package is auto-updated.

Last update: 2024-09-11 14:48:22 UTC


README

模块允许定义数据结构。根据选择的规则生成编辑表单。根据其他规则,将表单中的数据传递到模板。

它是如何工作的?

观看视频: 如何在15分钟内实现单页网页(定制)

组件

  1. Frontend\Printer - 打印结构中的数据。
  2. Frontend\RecipeSummaryModal - 所有定义的结构规则的概述。
  3. Frontend\RecipeModal - 创建和编辑结构规则。
  4. Frontend\RecipeRemoveModal - 删除整个结构规则。
  5. Frontend\RecipeSlugModal - 创建、编辑和概述结构规则中的slug(键)。
  6. Frontend\RecipeSlugRemoveModal - 从结构规则中删除slug(键)。
  7. Frontend\VariableSummaryModal - 结构规则中所有变量的概述。
  8. Frontend\VariableModal - 在结构规则中创建和编辑变量。
  9. Frontend\VariableRemoveModal - 从结构规则中删除变量。
  10. Frontend\StructureModal - 自动生成的用于添加和编辑结构值的表单。
  11. Frontend\StructureRemoveModal - 删除结构。

结构分类

  • 静态是网站重复的部分 - 菜单、页眉、页脚等。
  • 动态不重复,例如新闻、文章等。

结构输出

结构也可以分类。存在4种基本方法来输出结构,请参阅 Wakers\StructureModule\Repository\PrinterRepository

有必要详细了解方法 - 非常重要要知道它们接受哪些参数以及如何从数据库中获取数据。

按类别输出方法(categorySlugs)

  1. findByCategorySlugs
  2. findRecursiveByCategorySlugs

按规则键输出方法(recipeSlugs)

  1. findByRecipeSlugsAndPage
  2. findRecursiveByRecipeSlugsAndPage

在模板中可以使用

加速写入,它将调用相应的函数,传递参数,并将返回的结果作为 (flat / tree) 数组 返回,对象类型为 Wakers\StructureModule\Entity\StructureResult

{* Rekurzivní výpis statických struktur dle recipeSlugs *}

{control structurePrinter [
    'method' => 'findRecursiveByRecipeSlugsAndPage',
    'params' => [
        'recipeSlugs' => [
            'staticke-menu'
        ],
        'sort' => 'ASC',

    ],
    'template' => 'static/navbar.latte'
]}
{* Výpis dynamických struktur dle kategorií (categorySlugs) *}

{control structurePrinter [
    'method' => 'findByCategorySlugs',
    'params' => [
        'categorySlugs' => [
            'aktuality'
        ],
        'paginationLimit' => 1,
        'sort' => 'DESC',
        'filterByPagePublished' => TRUE
    ],
    'template' => 'dynamic/homepageNews.latte'
]}
{* Výpis dynamických struktur dle recipeSlugs - svázaných s určitou page *}

{control structurePrinter [
    'method' => 'findByRecipeSlugsAndPage',
    'params' => [
        'recipeSlugs' => [
            'news'
        ],
        'sort' => 'DESC',
        'page' => $presenter->template->pageEntity,
    ],
    'template' => 'dynamic/newsDetail.latte'
]}

添加和编辑结构

结构必须以某种方式创建和编辑,因此在sandbox中预先准备好了文件 _buttons.latte,其中包含用于简化使用的预定义块。