khanhicetea / php-sitemap
XML站点地图生成
5.1.2
2018-01-05 20:39 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^6.4
README
一个生成XML站点地图的工具。通过SitemapBundle与Symfony集成。
安装
composer require "thepixeldeveloper/sitemap"
基本用法
生成典型的(<urlset>)站点地图。
<?php declare(strict_types=1); use Thepixeldeveloper\Sitemap\Urlset; use Thepixeldeveloper\Sitemap\Url; use Thepixeldeveloper\Sitemap\Drivers\XmlWriterDriver; $url = new Url($loc); $url->setLastMod($lastMod); $url->setChangeFreq($changeFreq); $url->setPriority($priority); $urlset = new Urlset(); $urlSet->add($url); $driver = new XmlWriterDriver(); $urlset->accept($driver); echo $driver->getOutput();
生成父(<sitemapindex>)站点地图。
<?php declare(strict_types=1); use Thepixeldeveloper\Sitemap\SitemapIndex; use Thepixeldeveloper\Sitemap\Sitemap; use Thepixeldeveloper\Sitemap\Drivers\XmlWriterDriver; // Sitemap entry. $url = new Sitemap($loc); $url->setLastMod($lastMod); // Add it to a collection. $urlset = new SitemapIndex(); $urlSet->add($url); $driver = new XmlWriterDriver(); $urlset->accept($driver); echo $driver->output();
扩展
支持以下扩展: Image、Link、Mobile、News和Video。它们的工作方式如下(以图像为例):
<?php declare(strict_types=1); use Thepixeldeveloper\Sitemap\Urlset; use Thepixeldeveloper\Sitemap\Url; use Thepixeldeveloper\Sitemap\Extensions\Image; $url = new Url($loc); $url->setLastMod($lastMod); $url->setChangeFreq($changeFreq); $url->setPriority($priority); $image = new Image('https://image-location.com'); $url->addExtension($image); ...
高级用法
处理指令
您可以在输出中添加以下处理指令。
<?php declare(strict_types=1); use Thepixeldeveloper\Sitemap\Drivers\XmlWriterDriver; $driver = new XmlWriterDriver(); $driver->addProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="/path/to/xslt/main-sitemap.xsl"');
这将添加在文档开始之前。
<?xml-stylesheet type="text/xsl" href="/path/to/xslt/main-sitemap.xsl"?>