Adapt/add 到 concrete5 (5.7) 中的 Events::dispatch 的变量
Adapt/add to variable for Events::dispatch within concrete5 (5.7)
“concrete/jobs/generate_sitemap.php”文件是生成站点地图的file/job。这将调度事件“on_sitemap_xml_ready”(第 82 行)。现在我所做的是,在我的包的 controller.php 文件中添加了一个事件监听器,如下所示:
Events::addListener('on_sitemap_xml_ready', function ($event) {
/* @var $event GenericEvent */
if ($event->hasArgument('xmlDoc')) {
$xmlDoc = $event->getArgument('xmlDoc');
$changeFrequency = 'weekly';
$priority = 0.8;
$xmlNode = $xmlDoc->addChild('url');
$xmlNode->addChild('loc', 'the-location');
$xmlNode->addChild('lastmod', 'last-modified-over here');
$xmlNode->addChild('changefreq', empty($changeFrequency) ? Config::get('concrete.sitemap_xml.frequency') : $changeFrequency);
$xmlNode->addChild('priority', is_numeric($priority) ? $priority : Config::get('concrete.sitemap_xml.priority'));
}
});
我需要知道的是,我怎样才能真正更改已经设置的参数($xmlDoc),所以我创建和添加的这个节点实际上也与站点地图一起生成?因为现在,我的代码只会执行,但不会更改参数($xmlDoc 在 generate_sitemap.php 中定义,并且不会用我的 cahnges 检索)。所以我的页面不会添加到 sitemap.xml。我应该在这里做什么?是否可以添加我的页面,或者我是否需要覆盖此作业或...
好的,我的(浏览器)缓存似乎在这里做了一些可怕的事情。我在原文 post 中提到的代码就像一个魅力... facepalm
“concrete/jobs/generate_sitemap.php”文件是生成站点地图的file/job。这将调度事件“on_sitemap_xml_ready”(第 82 行)。现在我所做的是,在我的包的 controller.php 文件中添加了一个事件监听器,如下所示:
Events::addListener('on_sitemap_xml_ready', function ($event) {
/* @var $event GenericEvent */
if ($event->hasArgument('xmlDoc')) {
$xmlDoc = $event->getArgument('xmlDoc');
$changeFrequency = 'weekly';
$priority = 0.8;
$xmlNode = $xmlDoc->addChild('url');
$xmlNode->addChild('loc', 'the-location');
$xmlNode->addChild('lastmod', 'last-modified-over here');
$xmlNode->addChild('changefreq', empty($changeFrequency) ? Config::get('concrete.sitemap_xml.frequency') : $changeFrequency);
$xmlNode->addChild('priority', is_numeric($priority) ? $priority : Config::get('concrete.sitemap_xml.priority'));
}
});
我需要知道的是,我怎样才能真正更改已经设置的参数($xmlDoc),所以我创建和添加的这个节点实际上也与站点地图一起生成?因为现在,我的代码只会执行,但不会更改参数($xmlDoc 在 generate_sitemap.php 中定义,并且不会用我的 cahnges 检索)。所以我的页面不会添加到 sitemap.xml。我应该在这里做什么?是否可以添加我的页面,或者我是否需要覆盖此作业或...
好的,我的(浏览器)缓存似乎在这里做了一些可怕的事情。我在原文 post 中提到的代码就像一个魅力... facepalm