g4b0 / sitetree-walk
遍历SiteTree,并使用SiteTreeWalkListener接口的实现者,让他们在每个页面上执行操作。
2.0.0
2018-05-10 12:34 UTC
Requires
- silverstripe/cms: ~4.1
- silverstripe/framework: ~4.1
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 ################################################