我想要在dedecms里面实现以下功能,请大神帮我写一段代码,用dedecms标签或者自定义标签。
有两个可能:
1如果是新建模型或者是复制模型的话,那这里需要增加模型属性,channelid='模型ID',模型ID可以
去后台模型管理中查看。
2在模型中添加字段的时候,需要选择:在前台模版中显示 那个选项。
你能修改模型或者是新建模型,相信你应该可以对你能根据以上两点查到问题的。
首先修改plus/diyphp,在:
if($fieldinfo[1] == 'textdata')
{
${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
}
后面添加:
if($fieldinfo[0] == 'time')
{
${$fieldinfo[0]}=date("Y-m-d H:i:s");
}
在自定义字段里添加字段
提交时间:time
字段名称一定要和diyphp添加的字段名一致,在表单中调取:
<input type="hidden" name="time" id="time" value="">
type='hidden' 为隐藏字段,在前端不显示,用户提交后台会自动获取时间
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
您好,朋友。跟版网很高兴为您解答:
首先看了一下,如果需要修改自定义属性的话,常规就是修改dede_arcatt和dede_archives这两个表。看了你贴的图,修改的也没有错误。但是我不能确定您的期刊模型是不是独立模型,如果是独立模型,那么应该在独立模型的主表修改,而不是附件表。
如果确认不是独立模型,那么个人建议你先对这两个表进行一个回档,dede_arcatt这个可以直接删除,然后用织梦默认的那个表替换下,dede_archives的flag字段请参考官方默认的修改。将这两个表初始到最初状态试试。(修改前请做好数据备份。)
希望我的回答能够给您带来帮助。跟版网-专业织梦模板定制下载站 genbanorg打开plus/diyphp,里面有这样一段代码:
if($dsql->executenonequery($query))
{
$id
= $dsql->GetLastID();
if($diy->public
== 2)
{
//diyphpaction=view&diyid={$diy->diyid}&id=$id
$goto
=
"diyphpaction=list&diyid={$diy->diyid}";
$bkmsg
= '发布成功,现在转向表单列表页';
}
else
{
$goto
= !empty($cfg_cmspath) $cfg_cmspath : '/';
$bkmsg
= '发布成功,请等待管理员处理';
}
showmsg($bkmsg,
$goto);
}
修改这里面的网址就OK了,当然如果要跳转到前一页面,除了需要将$goto后面的值进行修改,还有个文件需要修改下,具体操作是:
1、修改上面提法的:
$goto ='javascript:void(null)"';
2、打开include下commonfuncphp文件,找到
<a
href='http://wwwdedecmsmubancom/{$gourl}'>如果你的浏览器没反应,请点击这里</a>
,将这个修改为:
a href='http://wwwdedecmsmubancom/{$gourl}'
onclick='historygo(-1)'>如果你的浏览器没反应,请点击这里
OK了,以上就是修改织梦DEDECMS自定义表单跳转页面链接的方法。
0条评论