phpcms v9建站问题集锦

1、phpcms页面中head的SEO写法


{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}


2、phpcms v9 调用默认模板轮播器
第一步、打开默认模板的header.html,将以下2行代码复制到自己页面底部。



第二步、打开默认模板的index.html,找到下面代码复制到自己页面。

{pc:content action="position" posid="1" order="listorder DESC" thumb="1" num="5"}
{loop $data $r} {$r['title']} {/loop}
{/pc}

第三步、将默认模板的index.html页面拉到页面底部,找到以下js代码,同样复制到自己页面的底部位置。


第四步、打开默认css的default_blue.css文件,找到默认幻灯片的css代码,复制到自己的css文件中。

/* 默认幻灯片 */
.FocusPic{zoom:1;position:relative; overflow:hidden}
.FocusPic .content{overflow:hidden}
.FocusPic .changeDiv a{position:absolute;top:0px;left:0px;display:none;}
.FocusPic .title-bg,.FocusPic .title{position:absolute;left:0px;bottom:0;width:434px;height:30px;line-height:30px;overflow:hidden}
.FocusPic .title-bg{background:#000;filter:alpha(opacity=50);opacity:0.5;}
.FocusPic .title a{display:block;padding-left:15px;color:#fff; font-size:14px;}
.FocusPic .change{bottom:4px;height:20px;right:3px;*right:5px;_right:4px;position:absolute;text-align:right;z-index:9999;}
.FocusPic .change i {background:#666;color:#FFF;cursor:pointer;font-family:Arial;font-size:12px;line-height:15px;margin-right:2px;padding:2px 6px; font-style:normal; height:15px;display:inline-block;display:-moz-inline-stack;zoom:1;*display:inline;}
.FocusPic .change i.cur {background:#FF7700;}

第五步、打开phpcms后台,带有略缩图的文章发布时勾选上底部的“首页焦点图推荐”并保存。

:如果想控制调用指定ID栏目和修改幻灯显示的数目时,可在第二步的代码

{pc:content action="position" posid="1" order="listorder DESC" thumb="1" num="5"}

中修改。 其中posid表示栏目id,num表示幻灯图数目,对后面的数字进行修改即可。

第六步、后台生成首页、更新缓存,刷新前台页面。

3、首页搜索功能
a、phpcms v9 全站搜索的使用说明:
许多人在使用phpcms v9 时,发现不管在搜索栏输入什么条件,都搜不到内容,经研究发现,phpcms v9的搜索功能,需要在网站有内容后进行一次“重建索引”操作,具体如下:
全站搜索的设置:添加搜索分类后->模块配置(勾选全站搜索)->重建索引。
b、复制phpcms v9模板中的search完整模块;
c、首页模板中搜索框代码:


    
    

d、搜索模块中自己的搜索结果页面需修改以下内容(该页面不能出现str_cut,否则搜索结果会出现font标签,且字体颜色不变红)
只要在v9的搜索页面嵌入{$ CATEGORYS[11][url]} 或者其它栏目调用标签,v9的搜索结果就会出错。
原因是返回数组名冲突:
首先,打开phpcms\modules\search\index.php文件,大概190行,把

$data = isset($data) ? $data : '';

修改成

$data2 = isset($data) ? $data : '';

其次,搜索结果页面模板的循环标签(循环搜索结果的标签)中的$ data修改成$ data2即可。
然后,复制list.html重命名为index.html(搜索空信息时可用)。
最后,自定义搜索结果页面栏目的显示方式必须为以下方式(注意:$ dataa与搜索返回的数组$ data,防冲突):

{pc:content action="category" catid="0" num="12" siteid="$siteid" order="listorder ASC" return="dataa"}

{/pc}

4、Phpcms V9网站从本地迁到服务器的设置
注意:本地不能修改phpcms后台中的后台访问域名(设置–>安全配置–>后台访问域名),否则会导致后台打不开。
(1)进行后台设置->站点管理,对相应的站点的域名进行修改。
(2)修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名(注意:先不要修改“动态域名配置地址”,不然有可能造成网站的后台会打不开),修改/caches/configs/system.php中web_path为’/’,否则后台登录验证码无法显示。
(3)进入内容->附件管理->附件地址替换。把附件地址批量的替换为新的地址。
(4) 修改数据库中v9_news表的thumb和url字段路径、v9_news_data表的content字段中的路径、v9_banner表的thumb字段路径,导出完整sql文件。
(5)将/caches/configs/database.php中数据库密码修改成服务器中数据库密码(否则后台打不开),若不知道服务器数据库密码,且服务器中有其他网站,则可查看同服务器中其他网站数据库密码。
(6)把全站都生成一次。
(7)更新系统缓存。点击后台右上角的“更新缓存”按钮。
(8)打包程序及sql文件并上传服务器。
(9)将程序解压到正确位置,导入sql文件至服务器数据库。
(10)登录后台,修改phpcms后台中的后台访问域名(设置–>安全配置–>后台访问域名)。
注意事项
如果页面出现Warning: date() expects parameter 2 to be long, string given in…\www\phpcms\libs\functions\global.func.php on line 457
针对global.func.php错误,基本上都是因为修改了后台中的.php文件,在保存php文件时,编码错误导致的。
解决方法:重新打开文件,把编码改成“ANSI”,就解决了。

5、phpcms v9生成静态页面的路径去掉html目录的方法
打开 /caches/configs/system.php 文件
找到

'html_root' => '/html',//生成静态文件路径

修改为

'html_root' => '',//生成静态文件路径

按以上方法修改即可去掉路径中的html目录,也可以将html修改成其它路径。

6、修改页面路径的方式
登录后台->扩展->修改url规则->内容->管理栏目->添加或修改->生成HTML设置->内容页URL规则->选择it/product选项即可使url路径变为类似www.hiretianxia.cn/wen/6.html页面。

7、phpcms v9首页banner图后台添加方法(需有首页banner栏目)


8、后台编辑页面的自定义方法(比如首页banner图栏目)
登录后台->内容->内容相关设置->模型管理->添加新模型->修改字段管理(不需要的禁用)->新建栏目->选择此新建模型即可。

9、phpcms标签输出的汉字乱码
问题描述:用的是phpcms v9_gbk版本,模板也是gbk的,phpmyadmin用的gbk_chinese_ci的编码
原因:是保存时的编码不正确
解决办法:使用记事本打开html文件->文件另存为->选择编码ANSI(在简体中文Windows操作系统中,ANSI编码代表GBK编码)->保存->替换原文件(先备份)->后台更新即可。
延伸:phpcms静态页面乱码问题
问题描述:phpcms网站安装时设置的编码方式是UTF-8,数据库编码方式也是 UTF-8,页面上的编码方式也是UTF-8,但是html中自己手动输入的汉字就是乱码,而从数据库中取出来的汉字一切正常。
原因:是页面的编码方式不一致造成的。
解决办法:找到相应html,以记事本的方式打开,然后另存为html,但是编码必须选择UTF-8,这样使页面的编码方式与设置的编码方式一致。

10、phpcms v9登录后台时出现以下情况的处理办法:
phpcms v9建站问题集锦_第1张图片
在这里插入图片描述
a、原因一:未开启InnoDB引擎。
mysql输入

show engines;

查询各引擎开启状态;如未开启,打开mysql配置文件,找到 skip-innodb项,将其改成

#skip-innodb

之后重启mysql服务即可开启InnoDB引擎。
b、原因二:v9_log等文件损坏。
修复(可在phpmyadmin数据库列表页下方的选中项中选择修复表,也有可能修复不成功)或拷贝其他phpcms v9网站的同文件覆盖(有时拷贝一个站的不行就多拷贝几个站的同文件尝试)。

11、phpcms v9模板必须包含以下页面
index.html、category.html、list.html、show.html

12、phpcms v9模板不能放置带有中文名称的页面
如category -副本.html,如果存在则会导致后台管理栏目中的模板设置中的栏目首页、列表页、内容页模板选项消失。

13、phpcms分页问题
除首页外,从第二页往后,及点击上一页、下一页等均出错,原因是路径错误,少了个根目录(除非网站内容直接放在www下面,不自建网站文件夹),但上传到服务器后正常。

14、phpcms v9编辑器添加动态地图(需要用地图的show.html重建个模板,以免详情页冲突)
登录后台->内容->模型管理->字段管理->添加字段->选择地图字段(字段名需与详情页中调用的一致)->在这里插入图片描述(接口选百度地图,key登录百度地图开放平台API->文档开发->JavaScript API->立即使用->创建应用->选择浏览器端,添加白名单,提交->获得AK秘钥)->地图尺寸(手机端width320px,以免显示过大)->提交->更新栏目缓存及其他->修改phpcms/modules/content/fields/map/output.inc.php(先备份),将在这里插入图片描述修改成在这里插入图片描述并保存->详情模板中调用{$map}即可显示,如果弹出
phpcms v9建站问题集锦_第2张图片
可能是未添加白名单。
注意:隐藏地图审图号的方法,在地图模板页面地图调用代码上方添加以下样式即可:

				

15、解决phpcms自带CKEditor编辑器中img标签自动添加style样式的问题-禁止自动设置width和height:
替换statics/js/ckeditor/plugins/image/dialogs/image.js文件即可,替换的image.js文件在/phpcms_v9编辑框img替换文件/(这是我的文件,大家需要自己从网上找)中,编辑文章时必须要清除格式。
注:已经添加到数据库的文章可批量修改

update v9_news_data set content=replace(content,'width:','data-width:');
update v9_news_data set content=replace(content,'height:','data-height:');
update v9_news_data set content=replace(content,'data-height: auto','height: auto');

16、phpcms v9自带采集功能使用详解
登录后台->内容->采集管理->添加采集点->填写规则(此步易出错)->提交后点击测试->显示列表(查看获取内容是否完整,否则修改)->无误后点击采集网址->采集内容->内容发布->选择需要的已采集列表导入(不需要的可删除)->选择需要导入到的栏目名称提交->跳转后更新(否则打不开采集的文章)即可
注意事项
(1)采集经常会失败,就是什么都没采集到。因为目标网页太复杂,所以尽量选择干净的网页去采集。设置的采集规则要尽量通用。
(2)采集时乱码但编码和被采集网站一致,可换其他编码尝试。
(3)重要!!! 坑爹的phpcms在这个地方有个bug,如果第一次成功采集,第二次再进行采集的时候会出现“没有找到网址列表,请先进行网址采集”的问题。

phpcms v9建站问题集锦_第3张图片
解决方案
如果出现些问题,用MYSQL管理工具,清除v9_collection_history这个表的所有内容即可。
不过还有一个小技巧就是,因为你采集一次过后,导出内容后,这些内容就没有啥用了,可以删除了,如果你在后台一页一页删除实在是太麻烦了,也可以直接删除v9_collection_content 这个表中的所有内容即可,还可以在已导入中把已导入的全部删除。
(4)phpcms采集时,部分新闻已导入但不显示
特征:观察数据库的phpcms_collection_content表可以发现,未显示的数据,data字段中content被截断。且网站后台采集管理中,已采集已导入而无法显示的信息,点“查看’,内容为空。
原因:该字段为text类型,当新闻内容超出大小限制时,自动截断,造成结构被破坏,因而导入内容时不显示。
解决方法:更改phpcms_collection_content表中data字段的类型为mediumtext或者更大。
(5)phpcms采集时,导入内容的发布时间和更新时间与原信息的时间不符,显示为当前时间
原因:phpcms_collection_content表中data字段中显示的为time,而文章主表中字段为inputtime和updatetime。在 phpcms\modules\collection\node.php文件的导入文章到模型的处理函数import_content()中未考虑到字段的不同,导致时间无法正确插入。
解决方法:在phpcms\modules\collection\node.php文件的import_content()函数中,在

if ($node[‘content_page’] == 1) $sql[‘paginationtype’] = 2;

前加入

$sql[’inputtime’] = $V[’data’][‘time’];
$sql[’updatetime’] = $v[‘data’][‘time’];

17、Phpcms v9在后台实现全站搜索,而不是按照栏目来搜索
在phpcms/modules/content/content.php文件中搜索

$where = 'catid='.$catid.' AND status='.$status;

大概在67行左右,位于函数init()内,改成

$where = 'catid>0 AND status='.$status;

即可(此方法搜索后会导致后台每一个栏目都有全部文章,不可取,建议使用插件,插件直接在网上搜索)。

18、phpcms中万能字段使用详解
登录后台->内容->模型管理->添加模型(如租房模型,也可在原模型中直接添加字段)->保存后选择租房模型字段管理->添加字段并保存(字段类型:万能字段;作为主表字段;字段名;字段别名;相关参数写法如下:姓名:{xingming}问诊细致(填整数):{xizhi}可带换行符< br/>)->继续添加附属字段(也在租房模型字段管理中)->填写字段信息并保存(字段类型、字段名、字段别名、相关参数、作为万能字段附属字段)->依次添加其他附属字段->管理内容->添加内容即可,模板中调用如:{$xizhi},如下图所示:

phpcms v9建站问题集锦_第4张图片
  添加万能字段 tenement 别名为 租房信息详情 ,并在相关参数中加入附属字段设置,如下图所示:
  
phpcms v9建站问题集锦_第5张图片
  接下来添加万能字段 tenement 的附属字段,并在字段设置中,选择为万能字段附属字段,以户型室huxingshi为例,其它附属字段同样的操作,如下图所示:
  
phpcms v9建站问题集锦_第6张图片
  其它字段同上操作,完成后模型添加效果如下:
  
phpcms v9建站问题集锦_第7张图片
  说明:利用万能字段还可以做出更多的效果,也可以看一下内容模型里的系统内置投票字段。

19、联动菜单使用详解
联动菜单常用于区域选择,分类选择等位置,v9内置联动菜单字段,结合扩展功能里联动菜单的设置,即可做出多级菜单的联动效果,效果如下图所示:

phpcms v9建站问题集锦_第8张图片
  下面以为租房模型添加一个所在区域联动菜单为例,说明联动字段的使用, 首先添加联动菜单数据,并选择菜单风格和应用站点范围(V9 支持多站点站群系统),如下图所示:
  
phpcms v9建站问题集锦_第9张图片
  接下来为刚才添加的联动菜单,添加菜单数据,如下图所示:
  
phpcms v9建站问题集锦_第10张图片
添加子菜单,如下图所示:

phpcms v9建站问题集锦_第11张图片
  添加完联动菜单数据以后,接下来进行联动菜单字段的添加,字段类型选择联动菜单,然后在相关参数设置选项,选择刚才添加的联动菜单项,如下图所示:
  
phpcms v9建站问题集锦_第12张图片
  添加完成以后,在模型应用栏目,添加信息时,就会出现联动菜单选择框,效果如下图所示:
  
phpcms v9建站问题集锦_第13张图片
20、phpcms更换模板后的设置
启用新模板->站点管理->选择新模板->管理栏目->修改->模板设置(选择新模板)->模型管理->修改->选择新模板->全站更新

你可能感兴趣的:(CMS)