现代的拜师礼:寻民间好人、高手。我是帝国cms...

[原创]求网站建设高手非免费帮我建站
帝国cms - 安全、强大、稳定、灵活
用户头衔:书生
精华贴&&&:0
发贴数&&&:13
经验值&&&:56
注册时间:
【】&&&[第&1&楼]
[原创]求网站建设高手非免费帮我建站
因本人精力有限,工作较忙,没有太多的时间化在网站设计上,故请专业人士帮我做一个专业教育类网站。要求如下:1、网站源码要用帝国程序,我使用习惯了。2、网站设计美工要大方,清爽,具体的设计格式及参照样例可加QQ或淘宝网上交流详谈。3、设计制作的网站要用DIV+css代码执行。5、设计制作的网站要方便日后管理维护,严禁代码里面加任何的广告或病毒等。6、设计制作人要讲究诚信,信守诺言,要以我的要求及功能进行设计制作。7、费用及支付方式请网上详谈,首期设计制作费用我可以先支付30%。8、网站设计人员最好是在本论坛活跃会员,及有一定的威望为佳。本人联系QQ:& &&&联系淘宝帐号:myjxas
[该贴被修改 3 次,最后修改时间
22:40:28 ]
江西奥数网江西教育论坛
已设置保密
用户头衔:探花
精华贴&&&:
发贴数&&&:1859
经验值&&&:6369
注册时间:
【】&&&[第&2&楼]
已设置保密
用户头衔:举人
精华贴&&&:
发贴数&&&:159
经验值&&&:825
注册时间:
【】&&&[第&3&楼]
可联系我们,相关作品案例站: 爱设计工作室 已在帝国论坛免费放出的作品: 直接搜索下面的名称浙江农家乐整站模板免费发布(全站Div+css) 精选教育资讯类模板免费放出绿色清雅学校类***模板免费放出 晒一套基于帝国图集模型打造的精美图片站精美企业站整套模板免费放出圣诞快乐:提供超酷绚蓝娱乐资讯模板一套仿网奇E游绿色精美资讯模板一套免费才是王道【魔兽风格模板发布】贺6.6发布,提供一个绿色漂亮商业模板下载
[该贴被修改 1 次,最后修改时间
03:24:42 ]
已设置保密
shuangrong168
用户头衔:进士
精华贴&&&:
发贴数&&&:1101
经验值&&&:3969
注册时间:
【】&&&[第&4&楼]
二楼的不错
已设置保密
用户头衔:举人
精华贴&&&:0
发贴数&&&:163
经验值&&&:903
注册时间:
【】&&&[第&5&楼]
支持二楼!!!!!!!!!!!
鬼屋制作 帝国CMS防站QQ:
已设置保密
用户头衔:探花
精华贴&&&:0
发贴数&&&:7156
经验值&&&:18188
注册时间:
【】&&&[第&6&楼]
已设置保密
用户头衔:书生
精华贴&&&:0
发贴数&&&:29
经验值&&&:92
注册时间:
【】&&&[第&7&楼]
二楼的不错!
已设置保密
用户头衔:举人
精华贴&&&:0
发贴数&&&:315
经验值&&&:882
注册时间:
【】&&&[第&8&楼]
已设置保密
用户头衔:书生
精华贴&&&:0
发贴数&&&:8
经验值&&&:23
注册时间:
【】&&&[第&9&楼]
可以,北京中兴时代专业制作网站。合理
[该贴被修改 2 次,最后修改时间
13:54:12 ]
企业网站建设公司http://www.100zhan.net/
已设置保密
用户头衔:探花
精华贴&&&:0
发贴数&&&:2908
经验值&&&:8915
注册时间:
【】&&&[第&10&楼]
已设置保密
使用EBB代码
使用smile代码
自动分析url
自动分析img
&&(按 Ctrl+Enter 直接提交)
Powered by:&&Version 2.2.12082人阅读
我官方网站原文:
为什么要使用猜你喜欢功能,原因是:现在各大网站都有猜你喜欢功能,而且使用上猜你喜欢功能后还能给网站带来不少的流量,所以我就想为自己的网站加上猜你喜欢功能。
帝国CMS是没有现成的猜你喜欢功能的,但是有相关链接这个功能,然而帝国的相关链接这个功能不能跨表进行相关链接,更不能将标题进行中文分词,造成的相关链接并不是很好用。
根据观察各大网站的猜你喜欢功能,他们大部份也是使用相关链接来做的,为了能更好的体现出猜你喜欢功能,我的做法是使用手动添加和自动方式相结合的方式进行
手动添加就是新增一个字段,添加上这个文章相关的其它文章链接,这样做有什么好处呢,因为自动的有时不准,而且不能使用站外链接我的网站就有三个,所以加上这个功能是最合适的,三个网站可以相互增加外链。
同时带来流量。并且手工添加的认为是最靠前的,权重最高。自动获取的不一定靠前这就是为什么这个字段的原因。自动获取是改造了帝国的相关链接功能,但实现了跨多个模型数据表,同时引用了中文分词,将标题进行分词后再查找。
下面跟着我来实现帝国CMS猜你喜欢功能吧:
首先添加手动功能的猜你喜欢
首先增加一个字段,将你认为要实现此功能的数据表加上这个字段,我的网站是两个数据表
www_panshy_com_ecms_download
www_panshy_com_ecms_pansharticle
点击 系统 -& 数据表与系统模型 -& 管理数据表
右侧找到你想要添加字段的表,点管理字段,出来窗体后,点添加字段,按下图的方式增加,记得是副表就行
加完字段后,点击管理系统模型,按下图设置,记得最后钩选上 自动生成表单模板 最后确定即可
成功后增加信息时,将出现如下图所示的输入框
以上就是手工实现的猜你喜欢必须的工作,现在开始说自动的,也就是跨表实现相关链接
找到 \e\class 目录下的userfun.php文件,加入以下代码
&&function&utf8_strlen($string&=&null)&&{&&&&&&&&preg_match_all(&/./us&,&$string,&$match);&&&&&&&&return&count($match[0]);&&}&&&&&&function&GetOtherLink_in_outarr_list(&$outarr_list,&$strurl)&&{&&&&&&foreach&($outarr_list&as&$val)&&&&&&{&&&&&&&&&&&if(&stristr($val[1],&$strurl))&&&&&&&&{&&&&&&&&&&return&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&return&&&}&&
function&user_combo_otherlike_html(&$outarr_list,&$strrows&,&$beginhtml,&$endhtml)&&{&&&&&&$str&=&&&;&&&&&&$str_list&=&&&;&&&&&&&&&&&&$arr_count&=&count($outarr_list);&&&&&&&&&&&&if(&$arr_count&&&1&)&&&&&&{&&&&&&&&&&$str_list&=&$beginhtml.&暂无内容&.$endhtml;&&&&&&return&$str_list;&&&&&&}&&&&&&&$rows_list&=&explode(&,&,&$strrows);&&&&&$rows_count&=&count($rows_list);&&&&&&if(&$rows_count&!=&2)&&&&&&{&&&&&&&&&&$str_list&=&$beginhtml.&暂无内容&.$endhtml;&&&&&&return&$str_list;&&&&&&}&&&&&&&&&&&$index&=&$rows_list[0];&&&&&$num&=&$rows_list[1];&&&&&&&&&&&if(&$index&&&0&||&$index&&=&$arr_count)&&&&&{&&&&&&&$str_list&=&$beginhtml.&暂无内容&.$endhtml;&&&&&&return&$str_list;&&&&&}&&&&&&&&&for($i=$index;&$i&$arr_count;&$i++)&&&&&{&&&&&&&&&&$arr_temp&=&$outarr_list[$i];&&&&&&&&&&&&if(&count($arr_temp)&&==&2&)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&$str_link&=&'&a&target=_blank&href=&';&&&&&&&&&&&&$str_link&.=&$arr_temp[1];&&&&&&&&&&&&$str_link&.=&'&&title=&';&&&&&&&&&&&&$str_link&.=&$arr_temp[0];&&&&&&&&&&&&$str_link&.=&'&&';&&&&&&&&&&&&$str_link&.=&esub($arr_temp[0],&40,&'...');&&&&&&&&&&&&$str_link&.=&'&/a&';&&&&&&&&&&&&&&$str&=&$beginhtml.$str_link.$endhtml;&&&&&&&&&&&&$str_list&.=&$str;&&&&&&&&&&&&--$num;&&&&&&&&&&&&if(&$num&&=&0&)&&&&&&&&&&&&{&&&&&&&&&&&&&&break;&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&}&&&&&&&&&&if(&strlen($str_list)&&&1&)&&&&&{&&&&&&$str_list&=&$beginhtml.&暂无内容&.$endhtml;&&&&&}&&&&&&&&&&return&$str_list;&&}&&&&&&&&&&include&(&&sphinxapi.php&&);&&function&user_GetOtherLinkInfo(&$outarr_list,&$num,&$tbname,&$str_not_tagcid)&&{&&&&global&$navinfor,$empire,$dbtbpre,$class_r&;&&&&&$outarr_list&=&array();&&&&$arr_temp&=&array();&&&&&&&&$strcai_like&=&$navinfor['cai_like'];&&&&&&&&$cai_like_list&=&explode('[####]',&$strcai_like);&&&&$cai_like_count&=&count($cai_like_list);&&&&&&if(&$cai_like_count&&&0&)&&&&{&&&&&&&&foreach&($cai_like_list&as&$val)&&&&&&&&{&&&&&&&&&&&&&$arr_temp&=&explode('[##]',&$val);&&&&&&&&&&if(&count($arr_temp)&==&2&)&&&&&&&&&&{&&&&&&&&&&&&if(&!GetOtherLink_in_outarr_list($outarr_list,&$arr_temp[1]))&&&&&&&&&&&&{&&&&&&&&&&&&&&array_push($outarr_list,&$arr_temp);&&&&&&&&&&&&&&--$num;&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&}&&&&&}&&&&&&&&&&$num&=&read_tags_key_OtherLink($tbname,&$outarr_list,&$num,&$str_not_tagcid);&&&&}&&&&&&&&function&read_Sphinx_cai_like($tbname,&&$outarr_list,&$num)&&{&&&&global&$navinfor,$empire,$dbtbpre,$class_r&;&&&&&&&if(&strlen($tbname)&&&1&||&$num&&&1)&return&$num;&&&&&&&&&$arr_tbname&=&explode(',',&$tbname);&&&&&$tbname_count&=&count($arr_tbname);&&&&&&&&&&&&&$lvalue&=&(int)($num&/&$tbname_count);&&&&$lmod&=&(int)($num&%&$tbname_count);&&&&&&$arr_type_list&=&array();&&&&$arr_type&=&array();&&&&&&&&$curdata_id&=&$navinfor['id'];&&&&$cur_tbname&=&$class_r[$navinfor['classid']]['tbname'];&&&&&&&&$next_num&=&0;&&&&&&&&$sph&=&new&SphinxClient();&&&&&&&&&&&&&&&&$sph-&SetServer('localhost',&9312);&&&&&&$keywords&=&$sph-&BuildKeywords(&&aaaa&,&&&&&www_panshy_com&,&false&);&&return&;&&&&&&&&&&&&&&foreach&($arr_tbname&as&$val)&&&&{&&&&&&$arr_type[&dbname&]&=&$val;&&&&&&$arr_type[&num&]&=&$lvalue;&&&&&&if(&$lmod&&&0&)&&&&&&{&&&&&&&++$arr_type[&num&];&&&&&&&--$lmod;&&&&&&}&&&&&&$getcount&=&$arr_type[&num&];&&&&&&$getcount&+=&$next_num;&&&&&&$next_num&=&0;&&&&&&if(&$getcount&&&1&)&{&continue&;&}&&&&&&$index_name&=&&&;&&&&&if(&strcasecmp($arr_type[&dbname&],&&pansharticle&)&==&0&)&&&&&{&&&&&&&&$index_name&=&&www_panshy_com&;&&&&&}&&&&&else&if(&strcasecmp($arr_type[&dbname&],&&download&)&==&0&)&&&&&{&&&&&&&&&$index_name&=&&www_panshy_com_down&;&&&&&}&&&&&else&&&&&{&&&&&&&$next_num&=&&$getcount;&&&&&&&continue&;&&&&&}&&&&&&&&&&&$keywords&=&$sph-&BuildKeywords(&$navinfor['title'],&&&&&$index_name,&false&);&&&&&&&&&&&$str_not_id&=&&&;&&&&&&&if(&strcasecmp($arr_type[&dbname&],&$cur_tbname)&==&0&)&&&&&&{&&&&&&&&$str_not_id&=&$curdata_id;&&&&&&}&&&&&&&&&&&&&&$keygetcount&=&$getcount;&&&&&&if(&$keygetcount&&&0&)&&&&&&{&&&&&&&&&&$str_key_sql_keyboard&=&&&;&&&&&&&&&&$str_key_sql_title&=&&&;&&&&&&&&&&$str_key_sql&=&&&;&&&&&&&&&&&&&&&&foreach&($keywords&as&$keyval)&&&&&&&&&&{&&&&&&&&&&&&if(&utf8_strlen($keyval['normalized'])&&&1&)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&$str_key_sql_keyboard&.=&&&or&keyboard&like&'%&;&&&&&&&&&&&&&&&&$str_key_sql_keyboard&.=&$keyval['normalized'];&&&&&&&&&&&&&&&$str_key_sql_keyboard&.=&&%'&;&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_key_sql_title&.=&&&or&title&like&'%&;&&&&&&&&&&&&&&&&$str_key_sql_title&.=&$keyval['normalized'];&&&&&&&&&&&&&&&$str_key_sql_title&.=&&%'&;&&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&&$str_key_sql_keyboard&=&substr($str_key_sql_keyboard,&4);&&&&&&&&&&&$str_key_sql_title&=&substr($str_key_sql_title,&4);&&&&&&&&&&&$str_key_sql&=&$str_key_sql_keyboard.&&or&&.$str_key_sql_title;&&&&&&&&&&&&&&&&&&if(&strlen($str_key_sql)&&&0&)&&&&&&&&{&&&&&&&&&&$str_sql&=&&select&title,titleurl&from&{$dbtbpre}ecms_&;&&&&&&&&&&$str_sql&.=&$arr_type['dbname'];&&&&&&&&&&$str_sql&.=&&&where&(&;&&&&&&&&&&$str_sql&.=&$str_key_sql;&&&&&&&&&&$str_sql&.=&&)&;&&&&&&&&&&if(&strlen($str_not_id)&&&0&)&&&&&&&&&&{&&&&&&&&&&&&$str_sql&.=&&&and&id¬&in(&;&&&&&&&&&&&&$str_sql&.=&$str_not_id;&&&&&&&&&&&&$str_sql&.=&&)&;&&&&&&&&&&}&&&&&&&&&&&&&&$str_sql&.=&&&order&by&newstime&desc&limit&&;&&&&&&&&&&$limit_int&=&$keygetcount&+&count($outarr_list);&&&&&&&&&&$str_sql&.=&$limit_int;&&&&&&&&&&&&&&&&&&&$sql&=&$empire-&query($str_sql);&&&&&&&&&&$arr_item&=&array();&&&&&&&&&&&&&&&&&&&while($r=$empire-&fetch($sql))&&&&&&&&&&{&&&&&&&&&&&&&&if(&$keygetcount&&&1)&break;&&&&&&&&&&&&&&&&&&&&&&&&&&&$arr_item[0]&=$r['title'];&&&&&&&&&&&&&$arr_item[1]&=&$r['titleurl'];&&&&&&&&&&&&&&&if(&!GetOtherLink_in_outarr_list($outarr_list,&$arr_item[1]))&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&array_push($outarr_list,&$arr_item);&&&&&&&&&&&&&&&&--$keygetcount;&&&&&&&&&&&&&&&&--$num;&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&&&&&&&}&&&&&&}&&&&&&&&&&&&$next_num&=&$keygetcount;&&&&&&&&&&}&&&&&&&&return&$num;&&}&&&&&&function&read_tags_key_OtherLink($tbname,&&$outarr_list,&$num,&$str_not_tagcid)&&{&&&&&&global&$navinfor,$empire,$dbtbpre,$class_r&;&&&&&&if(&strlen($tbname)&&&1&||&$num&&&1)&return&$num;&&&&&&&&&$arr_tbname&=&explode(',',&$tbname);&&&&$tbname_count&=&count($arr_tbname);&&&&&&&&&&&&$lvalue&=&(int)($num&/&$tbname_count);&&&&$lmod&=&(int)($num&%&$tbname_count);&&&&&&$arr_type_list&=&array();&&&&$arr_type&=&array();&&&&&&$tag_str&=&$navinfor['infotags'];&&&&$curdata_id&=&$navinfor['id'];&&&&$cur_tbname&=&$class_r[$navinfor['classid']]['tbname'];&&&&&&$sql_tags_str&=&str_replace(&,&,&&','&,&$tag_str);&&&&&&&&$str_key_sql_keyboard&=&&&;&&&&$str_key_sql_title&=&&&;&&&&$str_key_sql&=&&&;&&&&$arr_key&=&array();&&&&if(&strlen($navinfor['keyboard'])&&&0&)&&&&{&&&&&&&&$arr_key&=&explode(',',&$navinfor['keyboard']);&&&&&&&&&&if(&count($arr_key)&&&0&)&&&&&&&&{&&&&&&&&&&foreach&($arr_key&as&$val)&&&&&&&&&&{&&&&&&&&&&&&$str_key_sql_keyboard&.=&&&or&keyboard&like&'%&;&&&&&&&&&&&&$str_key_sql_keyboard&.=&$val;&&&&&&&&&&&&$str_key_sql_keyboard&.=&&%'&;&&&&&&&&&&&&&&&&&&&&&&&&&$str_key_sql_title&.=&&&or&title&like&'%&;&&&&&&&&&&&&$str_key_sql_title&.=&$val;&&&&&&&&&&&&$str_key_sql_title&.=&&%'&;&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&$str_key_sql_keyboard&=&substr($str_key_sql_keyboard,&4);&&&&&&&&&&$str_key_sql_title&=&substr($str_key_sql_title,&4);&&&&&&&&&&$str_key_sql&=&$str_key_sql_keyboard.&&or&&.$str_key_sql_title;&&&&&&&&}&&&&}&&&&&&$next_num&=&0;&&&&&&&&&&&&&&&&&&&&&&&&foreach&($arr_tbname&as&$val)&&&&{&&&&&&$arr_type[&dbname&]&=&$val;&&&&&&$arr_type[&num&]&=&$lvalue;&&&&&&if(&$lmod&&&0&)&&&&&&{&&&&&&&++$arr_type[&num&];&&&&&&&--$lmod;&&&&&&}&&&&&&$getcount&=&$arr_type[&num&];&&&&&&$getcount&+=&$next_num;&&&&&&$next_num&=&0;&&&&&&if(&$getcount&&&1&)&{&continue&;&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$taggetcount&=&(int)($getcount/2);&&&&&&&&if(($getcount%2)&&&0&)&{&++$taggetcount;}&&&&&&&&&&&&&if(&$taggetcount&&&1&)&{&continue&;&}&&&&&&&&&&&&&$keygetcount&=&$getcount&-&$taggetcount;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$r=$empire-&fetch1(&select&*&from&{$dbtbpre}enewstable&where&tbname='&&.$arr_type[&dbname&].&'&&);&&&&&&$mid&=&$r['mid'];&&&&&&$str_not_id&=&&&;&&&&&&&if(&strcasecmp($arr_type[&dbname&],&$cur_tbname)&==&0&)&&&&&&{&&&&&&&&$str_not_id&=&$curdata_id;&&&&&&}&&&&&&$arr_item&=&array();&&&&&&if(!emptyempty($mid))&&&&&&{&&&&&&&&&&&&&&&&&&if(&strlen($sql_tags_str)&&&0&)&&&&&&&&&{&&&&&&&&&&&&&&$str_sql&=&&select&tagid&from&{$dbtbpre}enewstags&where&tagname&in('&.$sql_tags_str.&&')&;&&&&&&&&&&&&&&if(&strlen($str_not_tagcid)&&&0)&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&$str_sql&.=&&&and&cid¬&in(&;&&&&&&&&&&&&&&&&$str_sql&.=&$str_not_tagcid;&&&&&&&&&&&&&&&&$str_sql&.=&&)&&;&&&&&&&&&&&&&&}&&&&&&&&&&&&&&$sql&=&$empire-&query($str_sql);&&&&&&&&&&&&&&&&&&&&&&&$str_tag_id&=&&&;&&&&&&&&&&&&&&while($r=$empire-&fetch($sql))&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&$temp_tagid&=&$r['tagid'];&&&&&&&&&&&&&&&&&&&if(!emptyempty($temp_tagid))&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&if(&strlen($str_tag_id)&&&0&)&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&$str_tag_id&.=&&,&;&&&&&&&&&&&&&&&&&&&&&&&&&$str_tag_id&.=&&$temp_tagid;&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&$str_tag_id&=&&$temp_tagid;&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&$str_id_list&=&&&;&&&&&&&&&&&&&if(&strlen($str_tag_id)&&&0&)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&$str_sql&=&&select&{$dbtbpre}enewstagsdata.id&from&{$dbtbpre}enewstagsdata&where&&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&&{$dbtbpre}enewstagsdata.mid=&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&$mid;&&&&&&&&&&&&&&&&&&&$str_sql&.=&&&and&tagid&in(&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&$str_tag_id;&&&&&&&&&&&&&&&&&&&$str_sql&.=&&)&order&by&newstime&DESC&limit&&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&$taggetcount;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$sql&=&$empire-&query($str_sql);&&&&&&&&&&&&&&&&&&while($r=$empire-&fetch($sql))&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&$temp_id&=&$r['id'];&&&&&&&&&&&&&&&&&&&&&&&if(!emptyempty($temp_id))&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&if(&strlen($str_id_list)&&&0&)&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_id_list&.=&&,&;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_id_list&.=&&$temp_id;&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_id_list&=&&$temp_id;&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&if(&strlen($str_id_list)&&&0&)&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&$str_sql&=&&select&title,titleurl&from&{$dbtbpre}ecms_&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&$arr_type['dbname'];&&&&&&&&&&&&&&&&&&&$str_sql&.=&&&where&id&in&(&;&&&&&&&&&&&&&&&&&&&$str_sql&.=&$str_id_list;&&&&&&&&&&&&&&&&&&&$str_sql&.=&&)&;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(&strlen($str_not_id)&&&0&)&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&$str_sql&.=&&&and&id&!=&&;&&&&&&&&&&&&&&&&&&&&$str_sql&.=&$str_not_id;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_not_id&.=&&,&;&&&&&&&&&&&&&&&&&&&&$str_not_id&.=&$str_id_list;&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&$str_not_id&=&$str_id_list;&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$str_sql&.=&&&order&by&newstime&DESC&;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$sql&=&$empire-&query($str_sql);&&&&&&&&&&&&&&&&&&&&&&while($r=$empire-&fetch($sql))&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&$arr_item[0]&=$r['title'];&&&&&&&&&&&&&&&&&&&&&&&&$arr_item[1]&=&$r['titleurl'];&&&&&&&&&&&&&&&&&&&&&&&&&&&if(&!GetOtherLink_in_outarr_list($outarr_list,&$arr_item[1]))&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&array_push($outarr_list,&$arr_item);&&&&&&&&&&&&&&&&&&&&&&&&&&&&--$taggetcount;&&&&&&&&&&&&&&&&&&&&&&&&&&&&--$num;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&}&&&&&&}&&&&&&&&&&&&&&&&&&&&$keygetcount&+=&$taggetcount;&&&&&&if(&$keygetcount&&&0&)&&&&&&{&&&&&&&&if(&strlen($str_key_sql)&&&0&)&&&&&&&&{&&&&&&&&&&$str_sql&=&&select&title,titleurl&from&{$dbtbpre}ecms_&;&&&&&&&&&&$str_sql&.=&$arr_type['dbname'];&&&&&&&&&&$str_sql&.=&&&where&(&;&&&&&&&&&&$str_sql&.=&$str_key_sql;&&&&&&&&&&$str_sql&.=&&)&;&&&&&&&&&&if(&strlen($str_not_id)&&&0&)&&&&&&&&&&{&&&&&&&&&&&&$str_sql&.=&&&and&id¬&in(&;&&&&&&&&&&&&$str_sql&.=&$str_not_id;&&&&&&&&&&&&$str_sql&.=&&)&;&&&&&&&&&&}&&&&&&&&&&&&&&$str_sql&.=&&&order&by&newstime&desc&limit&&;&&&&&&&&&&$str_sql&.=&$keygetcount;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$sql&=&$empire-&query($str_sql);&&&&&&&&&&$arr_item&=&array();&&&&&&&&&&&&&&&&&&&while($r=$empire-&fetch($sql))&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&$arr_item[0]&=$r['title'];&&&&&&&&&&&&&$arr_item[1]&=&$r['titleurl'];&&&&&&&&&&&&&&&if(&!GetOtherLink_in_outarr_list($outarr_list,&$arr_item[1]))&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&array_push($outarr_list,&$arr_item);&&&&&&&&&&&&&&&&--$keygetcount;&&&&&&&&&&&&&&&&--$num;&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&}&&&&&&&&&&&&&&&&&}&&&&&&}&&&&&&&&&&&&&$next_num&=&$keygetcount;&&&&&&&&&&&&&&&&&&}&&&&&return&$num;&&}&&
猜你喜欢的原理
到此准备工作完成,接下来说说我实现的猜你喜欢的原理
&现在假设,你需要在你的内容页面获取14条猜你喜欢记录,其中关联到2个表模型,这里叫A,B,C三个表,当僧多粥少时,有些表是不能得到记录的。
现在有一个内容叫 ZZ 的,首先获取手工添加的,从上面添加的那个字段中获取,现在假设得到3条记录,保存起来
然后程序平均分配余下的记录数11条,A=3,B=3 ,C=3 发现还多出2条记录,那么A=4,B=4,C=3这是分配方式
现在开始查找记录,首先取A表的,上面最终分配是4条,这4条记录,要从tags和keys中获取,所以4除2 = 2 &tags=2 keys=2 (注 C表=3 这种情况是 tags=2 keys=1)
程序是先获取tags相关记录,再获取keys记录的,假设在A表中 tags& 只取出一条记录,余 1条记录,程序会将这一条传到keys中,这时keys = 3 然后,再次获取keys记录,最多3条
如果keys也只获取到1条,余2条,这2条会交给下一个表,B,也就是说 B = 4 + 2 = 6条记录,依此类推,处理完A,B,C三个表
程序在每次得到的记录时都会检查是不是有重的,没有的话才会将记录数减少,并将记录保存起来。
&如果发现还有没处理完的记录数,就可以调用中文分词处理程序获取相关记录。即&&read_Sphinx_cai_like 函数,当然也可以把这个顺序调过来,修改相关函数就可以
注:由于使用 Sphinx 中文分词后,帝国CMS生成内容特别慢,所以这个功能暂时保留,可以自行删除上面的相关函数。大家可以关注我的网站,随时会进行这个功以的补充。
&内容页代码添加,在body开头处添加
&? &&$arr_outarr_list; &&user_GetOtherLinkInfo($arr_outarr_list,&20,&&pansharticle,download&,&&1,2,3,4,5,6,7,8,9,10&); &&?&&&
其中 20 为要获取的记录数,&pansharticle,download 是要获取的表名,用逗号隔开,&&1,2,3,4,5,6,7,8,9,10“ 表示不需要关联的tags类别ID
上图中,管理数据表中显示粗体黑色字的就是表名,管理TAG分类中的ID就是上面的ID
好啦,在你要显示的地方加入
&?php echo user_combo_otherlike_html($arr_outarr_list, &0,5&, &&li&&, &&/li&&)?&
记录是从0开始记算的,上面的20条就是0 - 19& 所以 0, 5表示,从0条记录开始,取5条记录,其中,取得的每条记录使用 &li& 与 &/li&包围起来
好了,到此就剩下手工添加记录的方式呢
有关手工添加猜你喜欢的方法和相关文件请关注
到此帝国CMS猜你喜欢就算完成了,同时也实现了,跨表的相关链接,
虽不算完美,但也算是用最简单的办法,达到效果吧,希望有高手来完善,谢谢大家支持。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:92093次
积分:1166
积分:1166
排名:千里之外
原创:21篇
转载:13篇
评论:13条
(1)(2)(1)(1)(3)(5)(2)(1)(4)(2)(1)(1)(1)(2)(1)(3)(1)(1)(8)(1)帝国CMS导航的多个用法
拥有一个方便灵活的帝国CMS模板,能让你的网站独树一帜,使用起来更是得心应手。这里只是说到我做模板的一些经验,不涉及程序,对HTML有所了解的话,更容易理解。下边是帝国CMS模板怎样能更自动化的演示,希望能起个抛砖引玉的作用。具体要做什么样的效果,大家可以多动手试下
(1)、使用公共模板变量定义通用部分
一般可建立[!--temp.header--]
,[!--temp.footer--],[!--temp.sitename--],[!--temp.search--]之类的常用部分。然后在页面需要插入的地方直接插入。好处是修改时只需要修改这个变量,不必每个模板页去都去改。
注意:动态页面,如搜索,评论等不支持公共模板变量
(2)、网站通用导航(所有一级栏目)
页面模板内容:
[!--empirenews.listtemp--]&!--list.var1--&[!--empirenews.listtemp--]
列表内容模板
(list.var)
--------------------------------------------------------------------------------
&a href="[!--classurl--]"
_fcksavedurl=""[!--classurl--]""
title="[!--classname--]"&[!--classname--]&/a&
--------------------------------------------------------------------------------
标签调用 [showclasstemp]0,标签模板ID,0[/showclasstemp]
注意:如果在栏目页显示的是当前栏目的导航,可以加上单引号'0'----我是这样做的。如果ID号填的是为某个栏目的ID,则为特定栏目的导航
上传以下图片:
(3)、还是导航,在大栏目里显示小栏目。和上面差不多,但有点不同,加了个更多的链接
[showclasstemp]父栏目ID,标签模板ID,是否显示栏目信息数[/showclasstemp]
页面模板内容:
--------------------------------------------------------------------------------
&div&民间传统&/div&&div&
[!--empirenews.listtemp--]&!--list.var1--&[!--empirenews.listtemp--]
href="[!--bclassurl--]"&更多&&&/a&&/div&
--------------------------------------------------------------------------------
列表内容模板
(list.var)
--------------------------------------------------------------------------------
&a href="[!--classurl--]"
title="[!--classname--]"&[!--classname--]&/a&
--------------------------------------------------------------------------------
上传以下图片:
(4)、导航技巧真多,再告诉你一个用在栏目页和列表页的导航效果
class="column"&[showclasstemp]'selfinfo',标签模板ID,0[/showclasstemp]&/ul&
页面模板内容:
--------------------------------------------------------------------------------
[!--empirenews.listtemp--]&!--list.var1--&[!--empirenews.listtemp--]code]
列表内容模板
(list.var)
href="[!--classurl--]"&[!--classname--]&/a&&/li&
--------------------------------------------------------------------------------
为什么要用li呢?主要是方便修改样式,你想让它怎么显示就怎么显示,包括加边框,背景之类的
在你的样式表里这样定义
padding: 0;
margin: 0;
.column li {
width: 49%;
padding: 0
list-style:
background: url(icon_li4.gif) no-
这样它显示的就是一行二个栏目,如果是要它显示一行一个,则这样定义
.column li {
padding: 0
list-style:
background: url(icon_li4.gif) no-
如果要它是横向显示,则可以这样
.column li {
padding: 2px 4
list-style:
上传以下图片:
(5)、多用'selfinfo'
在栏目页和列表页,用'selfinfo'代替具体的ID号(你需要特别指定的除外)
[phomenews]、[ecmsinfo]、[phomeautopic]等都可以用这个。
(6)、善用循环子栏目数据标签
这个是值得推荐的。像下面的效果图,在以前是需要一个个自己定义,但有了这个标签,我们只需要一个标签调用就可以搞定,而且以后增加、删除子栏目都不需要再手动去改
标签调用:
[listsonclass]'selfinfo',显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片[/listsonclass]
页面模板内容:
--------------------------------------------------------------------------------
&div class="c1"&
&div class="pad-all"&
class="title2"&【[!--the.classname--]
[!--empirenews.listtemp--]&!--list.var1--&[!--empirenews.listtemp--]
&div class="more"&&a
href="[!--the.classurl--]"&更多&&&/a&&/div&
--------------------------------------------------------------------------------
列表内容模板
(list.var)
--------------------------------------------------------------------------------
&li&&a href="
/cms/ecms//9445.html"
title="[!--oldtitle--]"&[!--title--]&/a&
class="date"&([!--newstime--])&/span&&/li&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

参考资料

 

随机推荐