masterflash-ru / sitemap
sitemap 生成器
dev-master / 0.0.1.x-dev
2020-01-06 14:58 UTC
Requires
- php: ^7.2
- laminas/laminas-navigation: ^2.8
- laminas/laminas-view: ^2.10
This package is auto-updated.
Last update: 2024-09-07 02:22:16 UTC
README
该工具用于生成 sitemapindex,即模块可用地图的列表,为每个模块生成单独的地图。
目前处理程序已内置在 statpage 和 stream 中,自动运行。在骨架应用程序中,已内置骨架监听器在模块中以及请求处理器本身。
安装后,如果已安装 stream 模块,则将转储加载到数据库中。转储包含用于工作地图的附加组件。
模块本身处于初级阶段。
工作原理:在 modul.php 文件中,需要指定中断监听器和设置中断本身。
... public function onBootstrap(MvcEvent $event) { $this->ServiceManager=$event->getApplication()-> getServiceManager(); $eventManager = $event->getApplication()->getEventManager(); $sharedEventManager = $eventManager->getSharedManager(); //слушатель для генерации карты сайта $sharedEventManager->attach("simba.sitemap", "GetMap", [$this, 'GetMap']); } /** *обработчик события GetMap - получение карты сайта */ public function GetMap(Event $event) { $type=$event->getParam("type",NULL); $name=$event->getParam("name",NULL); $locale=$event->getParam("locale",NULL); //сервис который будет возвращать карту $service=$this->ServiceManager->build(GetMap::class,compact("type","locale","name")); return $service->GetMap(); }
以标准方式创建 GetMap 服务 - 在本模块配置中指定,包括工厂和自身服务。
此服务在调用模块的 sitemap 控制器时传递管理权,服务必须返回格式为生成 sitemapindex 的数组或生成 sitemap 的数据数组。传递给服务的内容:type = "sitemapindex" 或 "sitemap",locale = "ru_RU"(目前未使用),name = 字符串,该字符串是服务在请求 "sitemaindex" 时返回的地图名称。
注意:使用全局中断管理器,因此在调用时将调用该中断的所有监听器!因此,在处理程序(服务)内部需要检查名称(参数 name)是否属于该模块,如果不是,则需要立即返回空数组!