对于政府项目中文章多节点功能的开发理解
作者:小二
发布时间:2012-06-29
来源:本站原创
点击数:
看了《一文多节点-感受Zoomla!逐浪CMS的多节点文章属性功能》http://www.zoomla.cn/product/pub/418.shtml,就想在自己的逐浪CMS个人版中,增加这项功能,试想一个功能可以多个节点共享,该有多好,结果总是不能正常实施,郁闷。
后来在论坛找到了多个帖子,并看了原文,才知道为了配合多节点,需要有专用标准,其标签逻辑:
ZL_MultiNode表中拥有N_ID、N_ItemID、N_NodeID三个字段,其中N_ItemID、N_NodeID两个字段分别对应主表ZL_CommonModel表中的GeneralID和NodeID。
用户在调用一条信息的时候,如:select * from ZL_CommonModel where NodeID=[id变量],只要加上新的条件即可,如下所示:
select * from ZL_CommonModel where NodeID=[id变量] or GeneralID in (select N_itemID from ZL_MultiNode where N_NodeID=[id变量])
针对这一项操作,必须对原标签逻辑进行重新修改,才能输出。
亦即:系统并没有默认标签适应前台展示,需要自己动手设计才能得到实现。
为此,我与官方进行联系咨询,得到的回复如下:
采用一文多节点的模式添加文章,事实上在管理中会带来一个逻辑的混乱,比如:在节点管理下删除文章,如果这篇文章属于多个节点,当一处删除了,其它处是不是也归为删除?
如果一处删除,其它处不删除,那么其它同级的文章是不是所谓的删除也是删除当前节点?而事实上系统上每一篇文章都有一个表状态记录在zl_commonmodel.Status中,状态码为:99。
因而,我们推荐的多节点实现方式,可以有三种:
1、采用系统的添加为新文章,并称为其它节点,多而实现多节点的功能,这样各个文章独立。
2、在模型中,增加一个跳转链接模型,从而实现跳转--这也是目前包括新浪、搜狐、网易在内的所有大站的架构,并以此增加PV值。
3、采用多节点文章标签来设计定义,这是我们不推荐的,但有部份政务客户需要此功能,有所保护,需要在商业版中购买或设计专用标签来实现。
其实在逐浪CMS中,标签的实现方式各有不同,八仙过海各显神通,关键在于自己的实施方法~