g4b0/sitetree-walk

遍历SiteTree,并使用SiteTreeWalkListener接口的实现者,让他们在每个页面上执行操作。

安装次数: 1,653

依赖: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 1

开放问题: 2

类型:silverstripe-vendormodule

2.0.0 2018-05-10 12:34 UTC

This package is not auto-updated.

Last update: 2024-09-11 15:42:02 UTC


README

实现遍历整个SiteTree的烦人任务,以便对页面进行操作。

简介

这个模块本身不执行任何操作,它只是递归遍历SiteTree,并为每个实现了SiteTreeWalkListener接口的实现者提供钩子,让他们可以在每个页面上执行操作。

要求

  • SilverStripe >= 4.1 < 5.0

对于3.x版本的安装,请参阅1.x版本

安装

通过composer安装模块

composer require --no-update g4b0/sitetree-walk
composer update --no-dev g4b0/sitetree-walk

运行任务。

在运行任务之前,您需要实现自己的逻辑,扩展SiteTreeWalkListener接口。示例中提供了SiteTreeWalkPrint,它只是简单地打印出页面标题。要启用它,将成员变量SiteTreeWalkPrint::$enabled设置为true。SiteTreeWalkListener实现者的run()方法应该对已处理的页面返回true,对排除的页面返回false。以下为示例输出

#sake dev/tasks/SiteTreeWalk "flush=all"
Running Task SiteTreeWalk

Following SiteTreeWalkListener Implementors will be executed: 
	* SiteTreeWalkPrint

Continue? [y|n]y

Home 
Test 
	Test 2 
	Test 3 
Chi siamo 
Contattaci 
Pagina non trovata  *** Excluded from processing
Errore server  *** Excluded from processing
My Page 

################################################
Traversed Pages: 9

Processed Pages: 
	SiteTreeWalkPrint: 9
################################################