定制 axllent/silverstripe-sitemap 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

axllent/silverstripe-sitemap

最新稳定版本:1.0.2

Composer 安装命令:

composer require axllent/silverstripe-sitemap

包简介

Sitemap support SilverStripe

README 文档

README

This extension adds sitemap functionality to your SilverStripe website. It is heavily based on googlesitemaps, however does things a little differently, adding in support for basic custom filters when adding DataObjects, and removing some CMS integration, pagination of results, and JavaScript support. The sitemap is hard-coded to have a maximum of 1000 dataobjects per sitemap (due to memory use), and will automatically split your sitemaps into multiple if there are more.

Requirements

  • SilverStripe 3.0+

Installation

composer require axllent/silverstripe-sitemap

Basic usage

Simply install the module. To check the sitemap is working, go to http://yoursite.com/sitemap.xml?flush=1. By default it will add your SiteTree pages (with "show in search" enabled), however you can also optionally add DataObjects provided they are mapped to URLs.

Specifying the Sitemap location in your robots.txt file

Sitemap: http://yoursite.com/sitemap.xml

Adding DataObjects

DataObjects can easily be added too, assuming of course that those DataObjects have unique URLs on your site. DatObjects must either have a Link() function, or alternatively have a SitemapAbsoluteURL() function (which will override Link()). The SitemapAbsoluteURL() function must return an absolute URL, Link() will get automatically converted.

To add a DataObject to your sitemap you can simply add the following to your mysite/_config.php:

Sitemap::register_dataobject('MyDataObject');

Additional options are available:

Sitemap::register_dataobject('MyDataObject', array(
	'filter' => array('ShowOnWeb' => 1),
	'where' => '"ExpiryDate" >= \'' . date('Y-m-d') . '\' OR "ExpiryDate" IS NULL',
	'exclude' => array('StockLevel' => 0),
	'filterByCallback' => function($dataobject, $list) {return $dataobject->canView();}
	'frequency' => 'weekly', // always, hourly, daily, weekly, monthly, yearly, never
	'priority' => 0.5 // Valid values range from 0.0 to 1.0
));

Google Notifications

Publishing & unpublishing of SiteTree pages can automatically send a "ping" to Google. Please note that this is turned off by default and does not apply to saving of DataObjects. Also note that you must have registered your sitemap with Google's webmaster tools first.

To enable change notifications to Google:

Sitemap::enable_google_notifications();

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: The
  • 更新时间: 2025-10-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固