silverstripe/lumberjack

一个模块,它可以让在 GridField 中管理页面变得容易,同时不会丢失你在 CMS 中习惯的功能。

安装数: 854 756

依赖者: 37

建议者: 2

安全: 0

星标: 33

关注者: 8

分支: 45

公开问题: 12

类型:silverstripe-vendormodule

3.2.0-beta1 2024-09-01 23:48 UTC

README

CI Silverstripe supported module

一个模块,它可以让在 GridField 中管理页面变得容易,同时不会丢失你在 CMS 中习惯的功能。

这个模块旨在用于当 SiteTree 超出可管理范围的情况。例如:博客、新闻板块、商店等。

这个模块是从 micmania1/silverstripe-blog 分离出来的。

安装

composer require silverstripe/lumberjack

功能

  • 轻松定义在 SiteTree 中显示哪些页面类型以及在 GridField 中管理哪些页面类型。
  • 保留所有 CMS 的功能,包括版本控制和预览。

使用方法

在这个例子中,我们有一个 NewsHolder 页面,它是我们新闻板块的根,包含 NewsArticleNewsPage。我们希望在网站树中显示 NewsPage,但在 GridField 中显示 NewsArticle

<?php

namespace MyModule\PageTypes;

use Page;
use SilverStripe\Lumberjack\Model\Lumberjack;

class NewsHolder extends Page
{
    private static $extensions = [
        Lumberjack::class,
    ];

    private static $allowed_children = [
        NewsArticle::class,
        NewsPage::class,
    ];
}
<?php

namespace MyModule\PageTypes;

use Page;

class NewsArticle extends Page
{
    private static $show_in_sitetree = false;
    private static $allowed_children = [];
}
<?php

namespace MyModule\PageTypes;

use Page;

class NewsPage extends Page
{
    private static $show_in_sitetree = true;
}

如果某个类没有明确定义 show_in_sitetree,则默认为 true。您可以使用 YAML 配置系统将该设置添加到核心类和模块中。不推荐将 LumberJack 扩展添加到 SiteTreePage 类。

SilverStripe\Blog\Model\Blog:
  extensions:
    - SilverStripe\Lumberjack\Model\Lumberjack

SilverStripe\Blog\Model\BlogPost:
  show_in_sitetree: false