phpcms网站后台新建栏目不能在网站目录生成文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpcms网站后台新建栏目不能在网站目录生成文件相关的知识,希望对你有一定的参考价值。
比如新建栏目 热点评论 选择生成到根目录,html_root指示的路径文件我也有啊,可服务器空间不生成这个栏目的文件夹,首页点击这个栏目也就没有了列表页,后台所有能更新和生成功能都用了,网站目录里就是没有。求帮助求生成啊!
(同样的做法在本地可以生成,不过文件里面的所有路径都是本地路径,难道是要在本地生成后改好路径再上传到空间吗?或者直接在空间里新建各个栏目的文件,然后把列表页和内容页的模版放里面?)
linux的权限比windows的复杂,你如果是通过打包上传的,文件打包后权限不能完全继承,你还可以试试不打包直接上传
2种方法都建议你先试下第一种 参考技术A 你查看一下目录的写入权限有没有给上。
phpcms 标题设置
phpcms v9网站首页的标题可以控制,但是栏目页,内容页的标题非常的长,用户体验不好修改模板文件header html的<title> < title>改成
修改模板文件header.html的
内容页的header要新建个模板,header_content.html,复制header.html的代码,把
- <title>......</title>
- 改成
- <title>{if isset($SEO[\'title\']) && !empty($SEO[\'title\'])}{$SEO[\'title\']}{/if}{$SEO[\'site_title\']}</title>
修改show.html模板第一行,{
- <title>......</title>改成<title>{$title} - 站长168 </title>
- template "content","header"}改成{template "content","header_content"}
大功告成,更新下首页、栏目页、内容页。
phpcms v9的SEO首页和栏目页以及内容页都是可以独立配置的。
下面来解读一下它的SEO代码在不同页面的不同意思以及具体的使用方法:
0.优先级总结:内容SEO > 栏目SEO > 站点SEO
1.<title>{if isset($SEO[\'title\']) && !empty($SEO[\'title\'])}{$SEO[\'title\']}{/if}{$SEO[\'site_title\']}</title>
在首页,它的意思是:如果后台配置了站点SEO,则显示“SEO站点标题”,否则显示“站点名”。
在栏目页,它的意思是:如果配置了栏目SEO(即META Title(栏目标题)),那么栏目标题将显示为“栏目标题 - SEO站点标题或站点名”,否则显示为“栏目名称 - SEO站点标题或站点名”
在内容页,它的意思是:“文章标题 - SEO站点标题或站点名”
2.<meta name="keywords" content="{$SEO[\'keyword\']}">
在首页:SEO站点关键词
在栏目页:如果配置了META Keywords(栏目关键词),将显示栏目关键词,否则将显示SEO站点关键词
在单页:如果配置了META Keywords(栏目关键词)且在管理内容处给该单页填写了关键词,那么会显示在管理内容处填写的关键词;如果配置了栏目关键词且管理内容处未填写关键词,则显示栏目关键词;如果二者均为空,则显示SEO站点关键词;如果三者全为空,则此处也为空
在内容页:将显示该篇内容的关键词,为空则不显示
3.<meta name="description" content="{$SEO[\'description\']}">
在首页:SEO站点描述
在栏目页:如果配置了META Description(栏目描述),将显示栏目描述,否则将显示SEO站点描述
在单页:同在栏目页
在内容页:将显示该篇内容的摘要,为空则不显示
4.单页的一些问题:
当在管理栏目处添加了单页而没在管理内容出给该单页添加标题时,前台进入该单页你会发现该页面的<title>处显示的是SEO站点标题或站点名,然而设置栏目标题也没作用。。。
方案一:若该单页不作为父栏目使用,在管理内容处给该单页加个标题就OK啦。
方案二:在该单页作为父栏目之前就先在管理内容处给它添加标题,然而这样后期不好更改(可进入数据库直接更改或让作为父栏目的单页可编辑)
方案三:直接以该单页的栏目名称作为<title>,这样子就可以了:<title>{$catname} - {$SEO[\'site_title\']}</title>
方案四:使用万能的if语句(终极完美方案)
将\\phpcms\\modules\\content\\index.php中约277行(不同版本的行数可能不同,建议直接搜索)与\\phpcms\\modules\\content\\classes\\html.class.php中约308行的$SEO = seo($siteid, 0, $title,$setting[\'meta_description\'],$keywords);均改为:
- if($title){
- $SEO = seo($siteid, 0, $title,$setting[\'meta_description\'],$keywords);
- }
- else{
- $SEO = seo($siteid, $catid, $title,$setting[\'meta_description\'],$keywords);
- }
使用方案四,单页的SEO栏目标题便可用啦!新添加的单页会以“栏目名称 - 站点标题或站点名”作为标题;如果设置了栏目标题,则显示为“栏目标题 - 站点标题或站点名”;如果在管理内容处添加了标题,则会显示为“标题 - 站点标题或站点名”,当单页做为父栏目时,可直接更改其栏目名称或设置栏目标题来控制它!
效果如下:
- 首页标题:站点标题 - 站点副标题
- 栏目标题:栏目标题 - 栏目名 - 站点标题
- 文章标题:文章标题 - 站点标题
以上是关于phpcms网站后台新建栏目不能在网站目录生成文件的主要内容,如果未能解决你的问题,请参考以下文章