本帖最后由 hnloser 于 2009-4-8 15:10 编辑
其实是增加一个专题功能性的东西,我查一下,DZ官方还暂时还没有。这个功能可以扩展很多有用功能,提二次开发都提供一个小小思路.
先看看演示:http://2xyk.com/?action-model-name-xykky-itemid-14 大家注意内容下面的本卡优惠信息,就是自动调用资讯中相关的信息
1、 在资讯中增加了自义字段(银行名称或是你自己想要的)
2、 找到Modelview.php文件,找到这个代码
//分类
$query = $_SGLOBAL['db']->query('SELECT f.*, ff.name AS upname FROM '.tname($_SGET['name'].'categories').' f LEFT JOIN '.tname($_SGET['name'].'categories').' ff ON ff.catid=f.upid WHERE f.catid=\''.$item['catid'].'\'');
$thecat = $_SGLOBAL['db']->fetch_array($query);
$guidearr = array();
$guidearr[] = array('url' => empty($channels['menus'][$modelsinfoarr['modelname']]) ? S_URL.'/m.php?name='.$modelsinfoarr['modelname'] : $channels['menus'][$modelsinfoarr['modelname']]['url'],'name' => $modelsinfoarr['modelalias']);
if(!empty($thecat['upname'])) {
$guidearr[] = array('url' => S_URL.'/m.php?name='.$modelsinfoarr['modelname'].'&mo_catid='.$thecat['upid'], 'name' => $thecat['upname']);
}
$guidearr[] = array('url' => S_URL.'/m.php?name='.$modelsinfoarr['modelname'].'&mo_catid='.$thecat['catid'], 'name' => $thecat['name']);
3、在下面我增加了以下代码:
//相关优惠文章
$unews = $comment =array();
$query = $_SGLOBAL['db']->query("SELECT i.*, ii.* FROM supe_spacenews i ,supe_spaceitems ii where i.itemid=ii.itemid and i.customfieldtext like '%".$thecat['name']."%'"); //查询数据库,这里表我是直接根据加入前缀表名查询的(这也就是为什么要求大家按默认前缀安装的原因),你也可以按官方提供的方式查询
//foreach($unews as $unewsvalue){
//$unewsvalue['subject']=$unews['subject'];
//}
while ($comment = $_SGLOBAL['db']->fetch_array($query)) {
$comment['subject'] =$comment['subject'];
$comment['url'] = S_URL.'/?action-viewnews-itemid-'.$comment['itemid'];
$i++;
$unews[] = $comment;
}
//END
4、找到/model/data/xykky/(模型的模版的文件,看你自己定义的名称而定)目录下的view.html.php文件
本卡优惠信息:<BR>
<!--{loop $unews $value}-->
<a href="$value" target="_blank">$value[subject]</a><BR>
<!--{/loop}-->
文件中的这段的代码就是调用的代码.
5、此功能演示,[url]http://2xyk.com/?action-model-name-xykky-itemid-14,请注意下面的 本卡优惠信息,调用的就是相关的文章。大家可以根据些思路扩展相应的功能。
到此结束,下面是供大家参考的
二、相关调用说明:
1、首页换灯片:在后台找到广告设置,换灯--- Javascript调用,进行编辑设置就可以了。
2、关于首页数据调用说明:
示例:(红字是说明文字)
<!--{block name="spacenews" parameter="catid/3/order/i.dateline DESC,i.viewnum DESC/limit/0,6/cachetime/900/subjectlen/100/subjectdot/1/cachename/hotnews1/tpl/data"}--> //这个调用数据
<!--{loop $_SBLOCK['hotnews1'] $value}-->//循环展示调用的数据
<LI><A title="$value[subject]"
href="$value[url]" target=_blank>$value[subject]</A>
</LI>
<!--{/loop}-->//循环展示调用的数据结束
参数说明:数据调用说明(如果你看不懂这些也没事,请看第三点)
order ------------------------------以什么方式排序,常见的排序方式如下几种:
displayorder --------------以后台设置的显示顺序排序
views DESC ---------------- 以查看数递减的方式排序
replies DESC -------------- 以回复数递减的方式排序
posts DESC ---------------- 以帖子数递减的方式排序
m.posts DESC -------------- 以会员贴子数递减的方式排序
m.oltime DESC ------------- 以会员在线时间递减的方式排序
u.dateline DESC ----------- 以会员注册时间递减的方式排序
i.goodrate DESC ----------- 以信息好评数递减的方式排序
u.spaceallnum DESC -------- 以会员个人空间的信息总数递减排序
u.spaceblognum DESC ------- 以会员个人空间的日志总数递减排序
g.usernum DESC ------------ 以圈子会员数递减的方式排序
g.lastpost DESC ----------- 以圈子最后更新时间递减的方式排序
limit ------------------------------ 显示多少条信息
0,100 --------------------- 显示100条
dateline --------------------------- 发布时间范围,以秒(s)为单位
2592000 ------------------- 2592000秒,即:3天
showdetail ------------------------- 是否显示信息摘要
1 ------------------------- 1为显示(0为不显示)
messagelen ------------------------- 摘要显示的长度,以字节数为单位
160 ----------------------- 显示160个字节信息
subjectlen ------------------------- 主题的显示长度,以字节数为单位
40 ------------------------ 显示40个字节信息
type ------------------------------- 设置信息的类型
notype --------------------- 设置信息的类型
0 ------------------------ 日志(1 为不限制信息类型)
forum --------------------- 二级版块的信息
goods --------------------- 商品的信息
news ---------------------- 资讯的信息
video --------------------- 影音的信息
filetype --------------------------- 设置附件的类型
image --------------------- 图片附件
lastpost --------------------------- 最后回复时间范围,以秒(s)为单位
2592000 ------------------- 2592000秒,即:3天
subjectdot ------------------------- 显示主题时,如果主题长度大于显示长度,末尾是否加点
1 ------------------------- 末尾加点(0为末尾不加点)
messagedot ------------------------- 显示摘要时,如果摘要长度大于显示长度,末尾是否加点
1 ------------------------- 末尾加点(0为末尾不加点)
showattach ------------------------- 是否显示附件信息
1 ------------------------- 显示附件信息
haveattach ------------------------- 是否必须包含附件
1 ------------------------- 必须包含附件
isstar ----------------------------- 空间之星
1 ------------------------- 是
perpage ---------------------------- 每页显示的信息条数
15 ------------------------ 显示15条
regdate ---------------------------- 注册时间范围,以秒(s)为单位
2592000 ------------------- 2592000秒,即:3天
3、如果你不会写调用,那也简单,你可以先去后台模块管理中创建模块,然后点击对的要创建的基本模块,按照提示设置。 在写调用中有三点你要注意的地方:
第一:模块名,这个你要写自己想调用类型或是栏目,便于记忆,如:资讯热点
第二:变量名,如hotnews,这个很重要,这是把把获取的数据集合放置到一个模块变量中。在模板文件中可以使用 $_SBLOCK[变量名] 来调用该数据集合。红字就是要在调用到的。
如:
<!--{loop $_SBLOCK['hotnews'] $value}-->
<LI><A title="$value[subject]"
href="$value[url]" target=_blank>$value[subject]</A>
</LI>
第三:在 选择模块风格文件 中选取 只获取数据 ,提交保存。得到如下面这样的代码段,<!--{block name="spacenews" parameter="catid/3/order/i.dateline DESC,i.viewnum DESC/limit/0,6/cachetime/900/subjectlen/100/subjectdot/1/cachename/hotnews1/tpl/data"}--> 这个数据库的调用代码
组合:
<!--{block name="spacenews" parameter="catid/3/order/i.dateline DESC,i.viewnum DESC/limit/0,6/cachetime/900/subjectlen/100/subjectdot/1/cachename/hotnews/tpl/data"}-->
<!--{loop $_SBLOCK['hotnews'] $value}-->
<LI><A title="$value[subject]"
href="$value[url]" target=_blank>$value[subject]</A>
</LI>
//这个便是完整的调用 |