分享好友 最新动态首页 最新动态分类 切换频道
PHPCMS v9城市分站插件
2024-12-26 14:59

PHPCMS自带的有多站点功能,但是用过的朋友都知道,自带的多站点功能有很多的不方便之处,例如站点栏目没法公用,每个站点都需要创建模型、每个站点都需要单独添加内容,还有站点必须静态化。如果你内容很多这些功能当然无可厚非,但是实际情况我们网站内容不会这么多的,所以决定开发一款简单使用的PHPCMS城市分站插件。

演示站点:全国分站列表 - 郑州腾石网络科技有限公司--专注于网站建设、网站推广

phpcms城市分站插件的优势
1、后台一键导入全国城市,无需一个一个的手动添加
2、每个分站都支持动态、静态、伪静态,还支持绑定二级域名,并仍然支持动态静态伪静态。 
3、可以任意定义每个分站的标题、关键词、描述、版权以及支持自定义url。如果不填,则默认调用分站通用设置
4、每个分站都支持自定义模板风格
5、前端调用方便,在不修改phpcms官方默认调用的前提下,尽量减少对模板调用的修改,仅修改分站首页、面包屑、分页以及每个循环前处理一下内容链接等
6、设置为静态的分站,可点击“一键生成”,自动帮你生成分站全站

分站列表截图
 

PHPCMS v9城市分站插件



 



后台截图
 


 


 


 



安装使用教程

一、后台操作
1、上传源码到对于目录,然后后台---模块----模块管理----找到分站插件,点击安装插件
2、安装之后打开“分站管理”---首先进行“分站设置”,设置通用标题,关键词描述和底部版权,以及设置自定义url。
3、导入城市,打开分站列表---导入城市,可根据自己需要导入对应级别即可,如果城市不多可以自己手动添加
4、对每个分站站点单独设置每个分站域名、关键词,是否静态化、以及设置自定义url。

注意
1、多次点击导入城市,会自动安装分站设置重新更新所有分站
2、对分站操作之后,记得点击“更新分站缓存”

二、前端调用
1、安装之后会自动在模板风格中创建文件夹fenzhan(如果创建到了default中,可以手动转移到你自己的风格中
2、可以把你的content里边用到的模板复制一份到fenzhan文件夹中,模板修改
(1)、fenzhanlist.html为分站列表页
首页访问路径:{APP_PATH}index.php?m=fenzhan&c=index&a=index或者{fzsiteurl(0)}。当然你也可以自己写,调用代码是(注:分站主键是$sid

  1. {pc:fenzhan action="sitelists" num="1000" parentid="0" order="listorder DESC"} 
  2. {loop $data $r} 
  3.  <span><a href="{$r['url']}">{$r['name']}</a></span> 
  4. {/pc} 


(2)、fenzhan中所有的模板的头部调用分站的头部{template "fenzhan","header"},底部头部{template "fenzhan","footer"},同理其他页面也调用分站页面。(调用content模板不会自动帮你处理链接的
(3)凡是调用栏目或者调用列表的地方在{loop $data $r} 之前加入代码
如果是对栏目的调用则加:{php $data = checkUrl($data,$sid,1)}(其中1表示是处理栏目
如果是对列表的调用则加:{php $data = checkUrl($data,$sid)}

  1. {pc:content action="lists" catid="13" num="1" thumb="1" siteid="$siteid" order="listorder DESC"} 
  2. {php $data = checkUrl($data,$sid)} 
  3. {loop $data $r} 

(4)需要分页的地方,需要加入参数 sid="$sid",同时分页代码改成:{$fzpages},例

  1. {pc:content action="lists" catid="$catid" num="12" order="listorder desc,id DESC" page="$page" sid="$sid"} 
  2. {php $data = checkUrl($data,$sid);} 
  3. {loop $data $r} 
  4.          ...... 
  5. {/loop} 
  6. {/pc} 
  7. <div id="pages">{$fzpages}</div> 


(5)分站模板常用调用

  1. {fzsiteurl($sid)}//分站首页($sid=0的时候标识分站列表) 
  2. {fzcatpos($catid,$sid)};//面包屑导航 
  3. {$copyright};//分站底部导航 
  4. {$city};//城市名称 
  5. {$dirname}//城市路径 
  6. {$SEO['site_name]}//SEO调用和默认用法一样,自动转换城市关键词 

(6)打开phpcmslibsclasses emplate_cache.class.php找到代码(120行左右

  1. $arr = array('action','num','cache','page', 'pagesize', 'urlrule', 'return', 'start'); 

里边加参数sid,改成

  1. $arr = array('action','num','cache','page', 'pagesize', 'urlrule', 'return', 'start','sid'); 

然后找到代码

  1. $str .'$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);'; 

在后边新增代码

  1. if(isset($sid)){ 
  2.      $str .='$sid = intval('.$sid.');'; 
  3.      $str .'$fzpages = fzpages($'.$op.'_total, $page, $pagesize, $urlrule,"",$sid);'; 

(7)在phpcmslibsfunctionsglobal.func.php添加对分站分页的处理函数

  1.  
  2. function fzpages($num, $curr_page, $perpage = 20, $urlrule '', $array = array(),$sid=0,$setpages = 10) { 
  3.     if(!$sid) return pages($num, $curr_page, $perpage, $urlrule, $array,$setpages); 
  4.     $fenzhan = getcache('fenzhan_sid_'.$sid, 'fenzhan'); 
  5.     if(defined('URLRULE') && $urlrule ='') { 
  6.         $urlrule = URLRULE; 
  7.         $array = $GLOBALS['URL_ARRAY']; 
  8.     } elseif($urlrule ='') { 
  9.         $urlrule = url_par('page={$page}'); 
  10.     } 
  11.     $multipage ''; 
  12.     if($num > $perpage) { 
  13.         $page = $setpages+1; 
  14.         $offset = ceil($setpages/2-1); 
  15.         $pages = ceil($num / $perpage); 
  16.         if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages); 
  17.         $from = $curr_page - $offset; 
  18.         $to = $curr_page + $offset; 
  19.         $more = 0; 
  20.         if($page >= $pages) { 
  21.             $from = 2; 
  22.             $to = $pages-1; 
  23.         } else { 
  24.             if($from <= 1) { 
  25.                 $to = $page-1; 
  26.                 $from = 2; 
  27.             }  elseif($to >= $pages) { 
  28.                 $from = $pages-($page-2); 
  29.                 $to = $pages-1; 
  30.             } 
  31.             $more = 1; 
  32.         } 
  33.          
  34.         $multipage .'<a class="a1">'.$num.L('page_item').'</a>'; 
  35.         if($curr_page>0) { 
  36.             $multipage .' <a href="'.fzpageurl($urlrule, $curr_page-1, $array,$sid).'" class="a1">'.L('previous').'</a>'; 
  37.             if($curr_page==1) { 
  38.                 $multipage .' <span>1</span>'; 
  39.             } elseif($curr_page>6 && $more) { 
  40.                 $multipage .' <a href="'.fzpageurl($urlrule, 1, $array,$sid).'">1</a>..'; 
  41.             } else { 
  42.                 $multipage .' <a href="'.fzpageurl($urlrule, 1, $array,$sid).'">1</a>'; 
  43.             } 
  44.         } 
  45.         for($i = $from; $i <= $to; $i++) { 
  46.             if($i != $curr_page) { 
  47.                 $multipage .' <a href="'.fzpageurl($urlrule, $i, $array,$sid).'">'.$i.'</a>'; 
  48.             } else { 
  49.                 $multipage .' <span>'.$i.'</span>'; 
  50.             } 
  51.         } 
  52.         if($curr_page<$pages) { 
  53.             if($curr_page<$pages-5 && $more) { 
  54.                 $multipage .' ..<a href="'.fzpageurl($urlrule, $pages, $array,$sid).'">'.$pages.'</a> <a href="'.fzpageurl($urlrule, $curr_page+1, $array,$sid).'" class="a1">'.L('next').'</a>'; 
  55.             } else { 
  56.                 $multipage .' <a href="'.fzpageurl($urlrule, $pages, $array,$sid).'">'.$pages.'</a> <a href="'.fzpageurl($urlrule, $curr_page+1, $array,$sid).'" class="a1">'.L('next').'</a>'; 
  57.             } 
  58.         } elseif($curr_page==$pages) { 
  59.             $multipage .' <span>'.$pages.'</span> <a href="'.pageurl($urlrule, $curr_page, $array,$sid).'" class="a1">'.L('next').'</a>'; 
  60.         } else { 
  61.             $multipage .' <a href="'.fzpageurl($urlrule, $pages, $array,$sid).'">'.$pages.'</a> <a href="'.fzpageurl($urlrule, $curr_page+1, $array,$sid).'" class="a1">'.L('next').'</a>'; 
  62.         } 
  63.     } 
  64.     return $multipage; 
  65.  
  66. function fzpageurl($urlrule, $page, $array = array(),$sid=0) { 
  67.     if(strpos($urlrule, '~')) { 
  68.         $urlrules = explode('~', $urlrule); 
  69.         $urlrule = $page < 2 ? $urlrules[0] : $urlrules[1]; 
  70.     } 
  71.     $city ''; 
  72.     $domain ''; 
  73.     if($sid){ 
  74.         $fenzhan = getcache('fenzhan_sid_'.$sid,'fenzhan'); 
  75.         $city = $fenzhan['dirname']; 
  76.         $domain = trim($fenzhan['domain']); 
  77.     } 
  78.     $findme = array('{$page}','{$city}'); 
  79.     $replaceme = array($page,$city); 
  80.     if (is_array($array)) foreach ($array as $k=>$v) { 
  81.         $findme[] '{$'.$k.'}'; 
  82.         $replaceme[] = $v; 
  83.     } 
  84.     $url = str_replace($findme, $replaceme, $urlrule); 
  85.     $url = str_replace(array('http://','https://','//','~'), array('~','~','/',SITE_PROTOCOL), $url); 
  86.     if(substr($url,0,4) !'http'){ 
  87.         if($domain){ 
  88.             $url = $domain.ltrim($url,'/'); 
  89.         }else{ 
  90.             $url = APP_PATH.ltrim($url,'/'); 
  91.         } 
  92.     }else{ 
  93.         if($domain){ 
  94.             $url = str_replace(APP_PATH,$domain,$url); 
  95.         } 
  96.     } 
  97.     return $url; 
最新文章
文章提取关键词_jieba(IF-IDF/TextRank)
对每个句子进行分词和词性标注处理过滤掉除指定词性外的其他单词,过滤掉出现在停用词表的单词,过滤掉长度小于2的单词将剩下的单词中循环选择一个单词,将其与其后面4个单词分别组合成4条边。
李开复2024年的关键词是AI2.0
来源:@中国企业家杂志微博
百度的关键词排名是多少?如何提升网站排名,让您的业务脱颖而出
百度非常注重网站内容的质量和相关性。如果网站提供的内容对用户有价值,能够满足用户的需求,百度就会优先考虑将其排名提升。因此,确保网站内容丰富、原创且与关键词密切相关,是提升排名的关键。关键词的选择和合理布局至关重要。在网页
搜索权益双周加速营问答:站点LOGO权限与百度小程序相关问题 二
以下是的第二部分,也是官方对百度百度小程序的相关答疑,大家可以仔细看看。悦然网络工作室建议大家在做企业网站建设时从一开始就考虑到百度小程序制作和适配,争取做好网站就能开通百度站点LOGO权限和等权限。收集:答:站点Logo在PC端、
重写标题:抖音快手业务官网优化
随着抖音和快手两款短视频平台的崛起,越来越多的企业开始将它们作为推广和营销的渠道之一。而官网作为企业的门户网站,在吸引流量和提高转化率方面也扮演着重要的角色。本文将探讨如何优化抖音和快手业务官网,从而提升流量和转化率。想要
酒店民宿预订小程序公众号源码搭建系统开发
前言:酒店民宿预订小程序公众号源码搭建系统开发酒店民宿预订小程序公众号源码搭建系统开发旨在为用户提供一个便捷、高效的在线预订平台,同时帮助民宿和酒店业主高效管理房源和订单。以下是对该系统开发功能的详细介绍:注册与登录支持手
浦东爱采购采购平台
爱采购服务商介绍百度爱采购是做什么的?效果怎么样?爱采购效果好不好,别人说了不算,就算是相同的行业,你做了,不一定效果好,因为这个跟售后有很大的关系,如果维护的好,效果确实可以,下面爱采购服务商小编带大家了解关于百度爱采购
王者荣耀中最让人讨厌的五种玩家,瞎指挥排第五,第一名令人发指
“妈蛋!心情不好想玩游戏开心下,结果打完后心情更特么差了!”最近看到粉丝在评论里给哔哥留言,抱怨玩游戏的时候遇到各种奇葩队友,简直让人想爆粗。哔哥玩游戏一向都是“人不犯我我不犯人”,要是有人**……不要方,哔哥教你怎么样一条
笔记本怎么更新驱动
笔记本电脑的驱动更新是保持系统稳定和硬件性能的重要步骤。以下是几种常见的驱动更新方法,帮助您轻松完成驱动更新。首先,可以通过设备管理器来更新驱动程序。右键点击屏幕左下角的“开始”菜单,选择“设备管理器”。在设备管理器中,展
济南专业SEO推广公司助力企业网络营销飞跃
济南SEO推广推荐公司,专业提供全方位网络营销服务,助力企业高效提升品牌知名度,实现网络营销腾飞。凭借精湛技术和丰富经验,助您在竞争激烈的市场中脱颖而出。随着互联网的飞速发展,越来越多的企业开始重视,希望通过互联网拓展市场,
相关文章
推荐文章
发表评论
0评