Home > IT > Sth. About DeDeCMS

Sth. About DeDeCMS

分享家:Addthis中国

这几天和Cricket一起做一个网站。

我们选择用了DeDeCMS做后台。

我负责做个图书连载部分。

DeDeCMS粗看一下感觉是个功能挺不错的CMS,其实深入研究才发现它的局限性还是很大。

其中一个最让我头疼的就是Tag的局限性。

以“图书连载”模块为例,客户要求的杂志板块,首页面要有所发布的每期的列表链接

类似

XX年第X期

XX年第X期

……

这个利用CMS的tag很容易就能搞定。

但是客户还需要首页上还必须有最新一期的封面图片、简介和目录预览。

原以为这个是个很方便的事情,调用它的tag就行了。很搞笑的是这个CMS关于单书本内容的tag不可以在“图书连载”模块的主页上进行调用,Faint!后来考虑用这个CMS的一个叫SQL的tag,可以通过SQL语句读取数据库信息显示在页面上,这个功能到也能解决问题,于是乎一试。没成功!

仔细一看说明,被雷到了,这个tag只能非扩展模块调用……“图书连载”作为扩展模块不能用。

最后实在是没办法了,只能利用自定义tag的手动写php代码连接MySql数据库来读取里面的内容来达到客户的要求。

{dede:field runphp='yes'}
	$dbcnx = @mysql_connect("localhost", "root", "XXXXXXX");
	$dbnum=@mysql_select_db("dedecmsv51utf8", $dbcnx);
	$result = @mysql_query("select dede_story_content.title from dede_story_books inner join dede_story_content on dede_story_books.id = dede_story_content.bookid where dede_story_books.id = (select max(dede_story_books.id) from dede_story_books) order by dede_story_content.addtime");
	while ( $row = mysql_fetch_array($result) ) 
	{
		@me=@me."<li><img src=\"images/arrow_blue.gif\" />".$row["title"]."</li>";
	}
{/dede:field}

DeDeCMS现已经是挺受欢迎的一个PHP的CMS,不过在易用性上还是有待提高的。对于不会PHP+MySql的用户,这个问题就不太好解决了。CMS的初衷就是为了让大多数人在DeDeCMS配置好的情况下都能方便的管理网站内容。更改网站外观也不需要懂PHP,只要HTML+CSS做个模板+一些DeDe的tag就搞定了。现在就为了一个并不是很复杂的功能而需要用户自己写PHP显然违背了CMS的初衷。

当然作为一个算是个程序员的我,如果就因为写这么小段PHP代码而大发牢骚完全是没必要的,只是觉得DeDeCMS还是有很多不足之处需要改进。

PS:如果哪位朋友在模板上添加上面的运行自写PHP代码的自定义标签,不能生成你需要的页面,可能是你的DeDeCMS没有自写PHP的标签功能,你需要在pub_dedetag.php文件里面做些小小修改,网上很多,在这我就不赘述了。不同的版本的DeDeCMS有些有此功能,有些没有(这个也让我觉得很奇怪……)。当然也有另外一个可能性就是这位朋友写的PHP代码有问题,就无法正确运行>_<

PS:本日志内容仅限于DEDECMS4.X,以后的新版本无论是功能php文件的位置和bug的修复上应该都会有所不同

You don't feel like leaving comments? Please leave your palm-print.
懒得留言?那留下您的掌印吧。
Categories: IT Tags: ,
  1. you
    August 18th, 2008 at 11:34 | #1

    有字天书, 加油~

  1. April 6th, 2009 at 17:54 | #1

:D 8) :down: 8O :!: :halo: :evil: :heart: :kiss: :lol: :money: :mrgreen: :x :| :pirate: :?: :oops: :roll: :P :( :) :o :up: :vangry: :twisted: ;) :? :cry:

也许您会觉得ReCAPTCHA验证码很繁琐,会认为他和其他所有的验证码一样让你厌烦。那请点击这里,您会了解到ReCAPTCHA为人类文化的传承做出了多大的贡献。请您也为人类知识的保存和传递也出一份力吧,谢谢!


Additional comments powered by BackType

    Posts Nav.