phpcms和dedecms的区别是什么?

phpcms和dedecms的区别是什么?,第1张

一、用户界面

后台界面:Phpcms的后台则比较简洁,菜单数量并不多,但各种功能很全,后台首页提供的统计功能使人人网站基本情况一目了然。美中不足的是没有一键更新功能,网站的html代码、首页、栏目等需要分别更新。

二、数据控制能力

Phpcms的数据控制能力比dedecms强一些。 从时间上来说,用dedecms生成100个html文件的时间,phpcms可以生成2000个。dedecms的搜索性能极差,搜索局限性大。而phpcms可以做到自定义字段都是搜素条件,而且速度快,后台的数据控制灵活性Phpcms比dedecms强很多,我们在Phpcms后台可以有很多方式在查找数据,自定义一页显示数据的行数。 dedecms不可能做到。

三、SEO方面

网站的seo优化没有dedecms设计的好,dedecms可以很简单的在后台控制url的生成方式,并且重命名,而Phpcms貌似很复杂(Phpcms自定义URL规则技巧),最重要的是官方不给一点详细的说明。

四、运营与广告

在PC V9里边,站群的概念有点突出,这一点上思维先进。广告管理:PHPCMS略胜一筹,Phpcms形成了广告位和广告的两个概念,用户可以定义广告位,进而管理广告。广告位控制广告出现的位置,只需点去选择即可,对代码的依赖性比较低,十分方便站长投放。DedeCMS的广告管理对广告对象的属性概念模糊,广告位控制甚至还需要通过代码来进行,菜鸟们肯定要下大力气琢磨一番了。

五、模板定制与设计

从模板开发上,dedecms面向的是初级站长,甚至不懂编程的计算机爱好者都可以,而且,dedecms的标签都不允许编程({dede:php}除外),完全都是模板标签操作,入门非常简单,当然了这也是以牺牲可定制性为代价的。

phpcms的模板制作,也采样了dede同意的方式,标签式,但是这个要比dedecms宽松的多,你可以在里面嵌入php代码,可以在模板里面编程,虽然这是软件开发的大忌,但是模板的灵活性明显增加了,用户有了更多的权限和方式去实现自己想要的效果。

databasephp是数据库连接配置文件,但我们进行修改配置是有两个地方需要修改:

路径:/caches/configs/databasephp

路径:/phpsso_server/caches/configs/databasephp

其中第一个为主要内容系统数据连接数据库的配置文件,第二个为phpcms系统用户系统phpsso连接数据库所需配置文件。

很多对phpcms不了解的童鞋往往因为忘记了修改第二个配置文件而导致"网站能正常显示但用户不能注册登录"的问题,所以如果你的网站用到了用户系统第二个也不要忘记修改哦~

原因分析:

在phpcms模板中栏目标签数据的获取方式跟文章列表等标签的获取方式有所不同,它并非读取数据库而来,而是直接调用栏目信息的缓存文件(一个存在缓存文件中的大数组)来根据标签中指定的属性条件来过滤最后返回你指定的数据。

而在上面提到的它的过滤过程中,并没有使用到order属性,于是,你在order里写的数量限制条件就无效了因为根本没用。

解决办法:

在给出解决办法之前先给予你现在代码的几个修改意见,也会在后面解决办法里面用到:

第一点,栏目数据中并没有id字段。栏目数据表的主键字段为catid,所以你在order条件中以id为排序字段是无效的。

第二点,limit条件写在order属性中是不规范的。这种写法在别的标签里使用时屏蔽了num属性的作用理论上可行,但是不符合phpcms的标签规范的,order属性用于指定获取数据的排序方式,我们使用num属性来指定获取数据的数量,可以使用属性start指定读取数据的起始位置

根据以上两点,我们使用get万能标签来达到读取数据库获取栏目信息的目的:

{pc:get sql="select  from phpcms_category where parentid=46 order by catid desc" num="3" start="2"}

<!--sql命令中数据表前缀直接写phpcms_即可,系统会自动替换为有效前缀,不能在sql里写limit条件,要使用num和start属性指定-->

{loop $data $n $x}

      <a href="{$x[url]}" title="{$x['catname']}"  class="sunb">{$x[catname]}</a>

{/loop}

{/pc}

PS:

在loop标签中看到你使用了title字段,在栏目的数据中没有这个字段所以这里调用它是无效的,一般我们在调用文章列表时使用它,虽然不会影响当前讨论的问题但也提一下以便你优化。

更多pc标签使用方法和属性详解可以参考phpcms的官方手册以及iphpcms的pc标签全面总结视频教程有全面深入的讲解。

如果你有php程序开发基础,也可以自己定义开发新的栏目标签来解决,内容模块自定义标签文件:/phpcms/modules/content/classes/content_tagclassphp

针对一个网站的页面,我们一般分为 首页、栏目列表页、(文章)内容页,那么,我们就从这三个方面分别看下在phpcms v9里怎样设置title标题使其更加符合SEO规则。

首先,网站首页:

因为首页是网站中独立唯一的,那么它的title在后台有针对性的单独设置。后台设置位置:后台 - 设置 - 站点管理 -(对应站点)修改 - SEO设置 - 站点标题。

另外,如果没有设置seo的站点标题,那么上侧的“站点名”会作为首页title来显示。

当然,以上是表面上系统使用起来后台设置首页title的操作方法,从程序的角度,首页title的调用是通过首页的“标签”来调用的,默认模板的调用如下:

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

那么,你可以更改此处的代码来自由调用你想放入的内容,并结合if判断灵活显示。另外,其中的$SEO数组由phpcms全局函数库中的seo()方法生成,可对此方法进行二次开发来定制你自己的生成机制。

栏目列表页:

同样,先来看下栏目列表页的title内容在后台的操作位置:

后台 - 内容 - 管理栏目 -(栏目列表选择对应的栏目右侧)修改 - SEO设置选项卡 - 栏目标题。

在栏目列表页的title内容优先显示此处的内容,如果此处没有设置,那么显示栏目名称+首页title内容。

在默认模板中栏目列表页的title调用标签同上,只是内容会根据seo()方法传入的$catid参数不同而自动变化。

当然,你也可以使用其他标签自由调用你想要的内容或修改定制你的调用规则。

内容页:

内容页的title内容即添加文章内容时的“标题”+网站名称。默认模板中的调用标签写法仍然同上,也是由seo()方法自动调用。可自定义修改。

综上所述,除了到后台对应位置设置你的title内容外,在页面模板中主要通过标签调用数组$SEO中的内容,而$SEO中的内容是seo()方法调用后台你填写的对应title内容产生的。可通过修改标签规则或seo方法的php程序来定义你的调用内容。

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/meirong/10482243.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-07
下一篇2023-11-07

发表评论

登录后才能评论

评论列表(0条)

    保存