samsonos/seo_sitemap

此包的最新版本(dev-master)没有可用的许可信息。

创建网站地图的SamsonPHP模块

dev-master 2014-10-29 10:48 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:26:24 UTC


README

#为SamsonPHP框架创建网站地图的SamsonPHP模块

模块可以自动创建常见网站地图或不同部分(产品、分类等)的网站地图,并使用外部工具进行压缩。

自动网站地图生成

为了创建网站地图,您必须访问URL [域名]/sitemapcreate系统将自动创建

  • sitemap.xml XML文件,包含通用网站地图

###模块配置,提供两个可配置参数

  • array $schema 数组,其中键是网站地图名称,值是回调函数数组,该函数返回用于创建XNL 'url'对象和URL前缀的元素数组。值也可以包含数组集合
  • string $imageSchemaHandler 回调函数,该函数返回用于创建XML的图像集合

##此模块的示例配置类

class SitemapConfig extends \samson\core\Config
{
    public $__module = 'sitemapcreate';

    public $schema = array(
        'products' => array(
            array('getSmallProducts', 'small/'),
            array('getBigProducts', 'big/')
        ),
        'companies' => array('getCompaniesForSitemap, 'companies/'),
        'pages' => array('getPagesForSitemap', ''),
    );

    public $imageSchemaHandler = 'getImagesForSitemap';
}

外部处理器示例

在您的配置中,您必须定义您的回调函数,这些函数必须返回用于创建网站地图的资料集合(或结构)。如果您有大量数据,我们建议在您的函数中使用两个参数进行限制

  • integer $limitStart 限制起始位置
  • boolean & $response 如果函数必须再次调用,则返回true

###使用参数的示例

function getBigProducts($limitStart = 0, & $response = false) {
   $query = dbQuery('material')->cond('type', 2)->limit($limitStart*200, 200);
   $count_query = clone $query;

   if ($count_query->count() < 200) {
       $response = false;
   } else {
       $response = true;
   }
   return $query->exec();
}

###简单使用示例

function getCompaniesForSitemap() {
   return dbQuery('material')->cond('type', 3)->exec();
}

SamsonOS开发