ciricihq /
一个用于向应用添加自动XML和HTML网站地图的 CakePHP 插件
3.0.1
2016-05-27 09:36 UTC
Requires
- php: >=5.6.0
- composer-plugin-api: ~1.0
- cakephp/cakephp: ~3.1
- composer/installers: ~1.0
Requires (Dev)
- loadsys/loadsys_codesniffer: ~3.0
- phpunit/phpunit: ~4.8
- satooshi/php-coveralls: dev-master
This package is auto-updated.
Last update: 2024-09-08 06:47:11 UTC
README
Sitemap 提供了一种机制,用于显示 CakePHP 可以访问的一组表中的 Sitemap 样式信息(URL、更改频率、优先级和最后修改的日期时间)。
要求
- CakePHP 3.0.0+
- PHP 5.6+
安装
$ composer require loadsys/cakephp_sitemap
在你的 config/bootstrap.php
文件中,添加以下内容
Plugin::load('Sitemap', ['bootstrap' => false, 'routes' => true]);
或者
$ bin/cake plugin load Sitemap
使用方法
- 通过在
Sitemap.tables
中指定一个数组,添加要显示的 Sitemap 记录的表列表
Configure::write('Sitemap.tables', [ 'Pages', 'Sites', 'Camps', ]);
- 同时也要为每个表添加
Sitemap.Sitemap
行为
$this->addBehavior('Sitemap.Sitemap');
配置
- 默认的
Sitemap
行为配置选项为
'cacheConfigKey' => 'default', 'lastmod' => 'modified', 'changefreq' => 'daily', 'priority' => '0.9', 'conditions' => [], 'order' => [], 'fields' => [], 'implementedMethods' => [ 'getUrl' => 'returnUrlForEntity', ], 'implementedFinders' => [ 'forSitemap' => 'findSitemapRecords', ],
- 例如,要更改列出记录时的
changefreq
,更新相关Table
的addBehavior
方法调用,如下所示
$this->addBehavior('Sitemap.Sitemap', ['changefreq' => 'weekly']);
- 要自定义每个记录生成的 URL,在对应的
Table
类中创建一个名为getUrl
的方法。
public function getUrl(\Cake\ORM\Entity $entity) { return \Cake\Routing\Router::url( [ 'prefix' => false, 'plugin' => false, 'controller' => $this->registryAlias(), 'action' => 'display', $entity->display_id, ], true ); }
- 要自定义显示 Sitemap 时使用的模板,CakePHP 手册提供了有关 覆盖插件模板 的信息。
贡献
行为准则
本项目采用了贡献者公约作为其 行为准则。所有贡献者都应遵守此准则。 有可用的翻译。
报告问题
请使用 GitHub Issues 列出任何已知缺陷或问题。
开发
在开发此插件时,请进行分支操作,并为任何新开发提交 PR。
设置工作副本
$ git clone git@github.com:YOUR_USERNAME/CakePHP-Sitemap.git
$ cd CakePHP-Sitemap/
$ composer install
$ vendor/bin/phpcs --config-set installed_paths vendor/loadsys/loadsys_codesniffer,vendor/cakephp/cakephp-codesniffer
进行你的更改
$ git checkout -b your-topic-branch
# (Make your changes. Write some tests.)
$ vendor/bin/phpunit
$ vendor/bin/phpcs -p --extensions=php --standard=Loadsys ./src ./tests
然后提交并将你的更改推送到你的分支,并打开一个拉取请求。