服务器搭建

Yii2生成sitemap,yii2-sitemap-module Yii2 module for automatically generating XML Sitemap

PHPer 2020-03-29 234次浏览 0条评论 0 0 0
两个都是Yii2的扩展https://www.yiiframework.com/extension/mubat/yii2-sitemap-generator mubat/yii2-s...

两个都是Yii2的扩展

https://www.yiiframework.com/extension/mubat/yii2-sitemap-generator

mubat/yii2-sitemap-generatorYii2 widget for sitemap generation

yii2-sitemap-generator

Simple widget forYii2 frameworkto generate sitemap.

SupportXMLformat generation.

Support multi language.

Installation

Composer

The preferred way to install this extension is throughComposer.

Either run`php composer require mubat/yii2-sitemap-generator`

or add`"mubat/yii2-sitemap-generator" : "~1.0"to the require section of yourcomposer.json`

Widget contains 2 models:

  1. Sitemap- base model. It containsSitemapElementarray and methods to generate XML. If$languagesarray published, model will generate'alternate'links.
  2. SitemapElement- represents one<url>element. It contains:
    • $loc-requrired- page url (as array). Before insert into XML it will be process byyii2\helpers\Url::toRoute()method.
    • $updated_at-optional- last page update;
    • $changefreq-requrired, default'weekly'- from class constant.
    • $priority-requrired, default0.4- page priority.

https://www.yiiframework.com/extension/yii2-sitemap-module

yii2-sitemap-moduleYii2 module for automatically generating XML Sitemap

  1. Installation
  2. Usage
  3. Resources

Yii2 module for automatically generatingXML Sitemap.

Installation

The preferred way to install this extension is throughcomposer.

Either run

php composer.phar require --prefer-dist "himiklab/yii2-sitemap-module" "*"

or add

"himiklab/yii2-sitemap-module" : "*"

to the require section of your application'scomposer.jsonfile.

Usage

  • Configure thecachecomponent of your application's configuration file, for example:
'components' => [
    'cache' => [
        'class' => 'yii\caching\FileCache',
    ],
]
  • Add a new module inmodulessection of your application's configuration file, for example:
'modules' => [
    'sitemap' => [
        'class' => 'himiklab\sitemap\Sitemap',
        'models' => [
            // your models
            'app\modules\news\models\News',
        ],
        'urls'=> [
            // your additional urls
            [
                'loc' => '/news/index',
                'changefreq' => \himiklab\sitemap\behaviors\SitemapBehavior::CHANGEFREQ_DAILY,
                'priority' => 0.8,
                'news' => [
                    'publication'   => [
                        'name'          => 'Example Blog',
                        'language'      => 'en',
                    ],
                    'access'            => 'Subscription',
                    'genres'            => 'Blog, UserGenerated',
                    'publication_date'  => 'YYYY-MM-DDThh:mm:ssTZD',
                    'title'             => 'Example Title',
                    'keywords'          => 'example, keywords, comma-separated',
                    'stock_tickers'     => 'NASDAQ:A, NASDAQ:B',
                ],
                'images' => [
                    [
                        'loc'           => ,
                        'caption'       => 'This is an example of a caption of an image',
                        'geo_location'  => 'City, State',
                        'title'         => 'Example image',
                        'license'       => 'http://example.com/license',
                    ],
                ],
            ],
        ],
        'enableGzip' => true, // default is false
        'cacheExpire' => 1, // 1 second. Default is 24 hours
    ],
],
  • Add behavior in the AR models, for example:
use himiklab\sitemap\behaviors\SitemapBehavior;

public function behaviors()
{
    return [
        'sitemap' => [
            'class' => SitemapBehavior::className(),
            'scope' => function ($model) {
                /** @var \yii\db\ActiveQuery $model */
                $model->select(['url', 'lastmod']);
                $model->andWhere(['is_deleted' => 0]);
            },
            'dataClosure' => function ($model) {
                /** @var self $model */
                return [
                    'loc' => Url::to($model->url, true),
                    'lastmod' => strtotime($model->lastmod),
                    'changefreq' => SitemapBehavior::CHANGEFREQ_DAILY,
                    'priority' => 0.8
                ];
            }
        ],
    ];
}
  • Add a new rule forurlManagerof your application's configuration file, for example:
'urlManager' => [
    'rules' => [
        ['pattern' => 'sitemap', 'route' => 'sitemap/default/index', 'suffix' => '.xml'],
    ],
],

Resources

登录 | 立即注册

更新于:2020-03-29 01:13:31
    您需要登录后才可以评论。 登录 | 立即注册
    相关内容

    Yii2小部件Widget

    Widgets 小部件kop/yii2-scroll-pager:瀑布滚动翻页 样式不怎么好看,必须点击更多才能加载更多yii2-widget-linkpager:带分页大小的分页栏 用了,还不错的yii2-ajaxf...

    Yii2模型简介

    模型Model是MVC模型中的M,是业务数据、业务规则和业务逻辑的对象。Yii很好的展现了这点,用户可用创建自己定义的模型,比如给一个的表单定义一个模型,这样就把表...

    Yii2模型简介-属性

    Yii2模型简介-场景

    Yii2模型简介-验证规则

    Yii2模型简介-块赋值

    Yii2模型简介-非安全属性

    Yii2模型简介-数据导出

    Yii2模型简介-字段

    Yii2模型简介-最佳实践

    Yii2扩展整理

    这里整理一些自己实测好用的Yii2扩展 20200406

    【坑,勿用】Yii的yii-xunsearch扩展,支持中文的搜索引擎,支持全文索引全文搜索

    简单,易用的yii2导入和导出组件( illusion/yii2-excel)

    Yii2 学习内容整理

    Yii2片段缓存详解yii2常用表单处理方法php yii2 出现mysql-gone-away-2006解决Yii2 数据操作DAO【翻译】 MySQL中yii2使用原生sql CURD...

    Yii2片段缓存详解

    yii2常用表单处理方法

    php yii2 出现mysql-gone-away-2006解决

    Yii2 数据操作DAO

    【翻译】 MySQL中yii2使用原生sql CURD

    一篇为你讲透Yii2的widget

    Yii2模块学习

    Yii2提交表单提示无法验证

    解决Yii2 在线上服务器无法访问GII 和BUG工具栏问题

    Yii2 Model的一些常用验证rules规则

    关于Yii2控制器的layout属性

    yii2如何开启debug工具栏

    使用Yii2发送邮件

    Yii2多表联结子查询的应用

    学习yii2.0——数据缓存、片段缓存、页面缓存、http缓存

    Yii2 获取模块名、控制器名、方法名

    收发邮件(Mailing) | Yii 2.0 权威指南

    Yii2中各种文本框的使用 [ 2.0 版本 ]

    Yii2行为(Behavior)简介

    使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。 通过将行为绑定到一个类,可以使类具有行为本身所定义的属性和方法,就好像类本来就有这些属...

    揭秘yii2中行为的方法是如何注入到组件类中去的,应该说行为如何和组件关联的

    推荐内容

    MySQL数据库设计总结

    规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字...

    什么是B-Tree

    二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

    查问我看笔记功能的实现过程-全文搜索待开启,试试yiisoft/yii2-sphinx

    查问我看笔记功能的实现的重点就是全文搜索,如果不用Yii自带的ActiveRecord的话,就要找扩展,先找了个yii-xunsearch,不行太差了,又找了yiisoft/yii2-elasticsearch,...

    yii2框架中使用sphinx使用搜索引擎 多条件选择搜索

    运行php composer.phar require --prefer-dist yiisoft/yii2-sphinx

    超省心游戏加速:Wireguard+udp加速(CentOS版)--(实测:超不省心),以后搜帖...

    Wireguard+udpspeeder+udp2raw游戏加速方案 ---------------------------------------错误报告及解决-----------...

    wireguard+udpspeeder+udp2raw多用户配置

    Wireguard+udpspeeder+udp2raw游戏加速方案改进版-实测有效

    基于CentOS7 Centos8平台搭建邮件服务器

    EwoMail​在Centos8上安装了,各种坑,各种报错。这个集成包太臃肿了。 20200416 EwoMail 已经弃用,国内的一家公司搞的坑爹产品。 20200418

    如何在RHEL8 / CentOS8上安装Webmin

    设置postfix作为邮件发送服务器

    使用Yii2遇到的问题整理

    Yii的东西很多,学习和使用的时候遇到了各种各样的问题,这里记录整理下,方便大家分享。composer安装kartik-v/yii2-mpdf时报错,这里记录下 Yii2用compos...

    Yii2用composer更新时遇到的错误

    Yii2 用composer update 时提示'git' 不是内部或外部命令,也不是可运行的程序或批处理文件

    Yii2​用composer安装kartik-v/yii2-mpdf时报错,成功解决后,再让其支持中文。

    使用Yii2的setFlash和bootstrap.min.js遇到的问题,bootstrap.min.js的bug?

    Yii2的action不支持大小写吗?其实是支持的

    composer install 使用tips-网上找的composer install的使用技巧方法