webit/sitemap-bundle

Web-IT Sitemap Bundle

安装: 113

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

2.0.0 2020-01-24 10:37 UTC

This package is auto-updated.

Last update: 2024-08-24 20:34:05 UTC


README

Sitemap Symfony 2 集成

安装

Composer: 在 composer.json 中添加 webit/sitemap-bundle

{
    "require": {
        "php":              ">=5.3.2",
        "webit/sitemap-bundle": "dev-master"
    }
}

使用方法

在 Kernel 中注册 Bundle

添加以下行

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new Webit\Bundle\SitemapBundle\WebitSitemapBundle(),
    // ...
);

创建实现 Webit\Sitemap\Exposer\UrlExposerInterface 的类

namespace MyProject;

use Webit\Sitemap\Exposer\UrlExposerInterface;
use Webit\Sitemap\Model\UrlSet;
class MyExposer implements UrlExposerInterface
{
    /**
     * @return UrlSet
     */
    public function getUrlSet()
    {
        $urlSet = new UrlSet();
        
        $url = new Url();
        $url->setLocation('http://page.url/my-site');
        $urlSet->addUrl(new Url());
        
        // add to $urlSet all urls you need 
        
        return $urlSet;
    }
}

在 Service Container 中注册您的 UrlExposer 并标记为 webit_sitemap.url_exposer

<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="https://symfony.ac.cn/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="https://symfony.ac.cn/schema/dic/services
        https://symfony.ac.cn/schema/dic/services/services-1.0.xsd">

    <parameters>
        <parameter key="my_project.my_exposer.class">MyProject\MyExposer</parameter>
    </parameters>

    <services>
        <service id="my_project.my_exposer" class="%my_project.my_exposer.class%">
            <tag name="webit_sitemap.url_exposer" />
        </service>
    </services>
</container>

或者

parameters:
    my_project.my_exposer.class: MyProject\MyExposer
    
services:
    my_project.my_exposer:
        class: %my_project.my_exposer.class%
        tags:
            - { name: webit_sitemap.url_exposer }

导入 sitemap 路由

sitemap:
    prefix: /
    resource: @WebitSitemapBundle/Resources/config/routing.xml

前往 http://your-domain.com/sitemap 查看生成的文件