关于织梦还算好用的几个调用

织梦的俩调用方法,各有利弊

TAG调用

废话不讲,先上调用代码:

1;指定tag标签调用

    <!--开始-->

{dede:sql sql="SELECT t.aid,t.tag,a.id,a.title FROM dede_taglist as t left join dede_archives a on t.aid = a.id where t.tag='锅炉价格' LIMIT 0 , 30"} 

<a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" title="[field:title/]">[field:title/]</a>

 {/dede:sql}<!--结束--> 

2;识别文章tag标签调用

<!--开始-->

 {dede:sql sql="SELECT t.aid,t.tag,a.id,a.title FROM dede_taglist as t left join dede_archives a on t.aid = a.id where t.tag=~tags~ LIMIT 0 , 6"} 

 <a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" title="[field:title/]">[field:title/]</a>

{/dede:sql}

<!--结束--> 

要注意的是,识别TAG标签调用在织梦里有限制。只能识别只有1个tag的文章,调取可以调取包含当前文章TAG的所有文章。

attachments-2019-01-B0OVsiP45c37e8d516eb9.png



attachments-2019-01-Ba2MGq335c37e9007f31d.png


如图我的网站调用,上面上指定关键词好调用篇数。下面是识别关键词的变量和篇数。

如果当前文章tag标签大于1时,识别当前文章TAG识别不了。顾调不出!(感谢天天开同学,费时费力的帮我弄了很长时间。)

attachments-2019-01-tKh2BHyM5c37e966eb200.png由于我当前这篇文章是一个TAG标签,第二段识别当前tag调用该是可以调出的!

attachments-2019-01-XiYFejUg5c37e9bd14ca2.png

重要的事情说三遍,第二段代码识别当前文章TAG调用只能识别有1个tag标签。如果其他人有解决办法可以告知,我也很想解决

                              第二段代码识别当前文章TAG调用只能识别有1个tag标签。如果其他人有解决办法可以告知,我也很想解决

                              第二段代码识别当前文章TAG调用只能识别有1个tag标签。如果其他人有解决办法可以告知,我也很想解决

以上是TAG调用,相信有不少用dede的在添加文章时都没设置TAG,这也有解决办法,修dede后台文件,改成批量添加。

1、打开dede/templets/content_list.htm,找到:

<a href="javascript:;" onClick="cAtts('attsDel',event,this)" class="coolbg">&nbsp;删除属性&nbsp;</a> 

在他后边添加:

<a href="javascript:;" onclick="EditArcs('tagsEdit',event,this)" class="coolbg"> 修改tags标签 </a>

2、打开dede/js/list.js,在文件最后边添加:

/*批量修改文档*/functionEditArcs(jname,e,obj){var qstr=getCheckboxItem();if(qstr==''){ 
alert('必需选择一个或多个文档!');return;}LoadQuickDiv(e,'archives_do.php?dopost=batchEditArchives&qstr='+qstr+'&dojob='+jname+'&rnd='+Math.random(),'tagsEditDlg','450px','160px');ChangeFullDiv('show');}


3.打开dede/archives_do.php,这个文件的最后四行是:

<?php 
//AJAX窗体结束 }?>

替换成

<?php 
//AJAX 窗体结束 }/* 
 * -------------------------------------------- 
 * function batchEditArchives(){} 
 * 批量修改文档 
 * -------------------------------------------- 
 * */elseif($dopost =='batchEditArchives'){if(!empty($aid)&& empty($qstr)){ 
        $qstr = $aid;} 
    $dojobname ='修改TAG标签';AjaxHead();//输出AJAX可移动窗体 
    $divname ='tagsEditDlg'; 
    echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">\r\n"; 
    echo "  <div class='titLeft'>{$dojobname}</div>\r\n"; 
    echo "  <div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' alt='封锁' title='封锁' /></div>\r\n"; 
    echo "</div>\r\n"; 
    echo "<form name='tagsEditDlgform' action='archives_do.php' method='post'>\r\n"; 
    echo "<input type='hidden' name='dopost' value='{$dojob}' />\r\n"; 
    echo "<input type='hidden' name='qstr' value='{$qstr}' />\r\n"; 
    echo "<table width='100%' style='margin-top:6px;z-index:9000;'>\r\n";?><trheight='28'><tdwidth="80"class='bline'>&nbsp;标 签:</td><tdclass='bline'><inputtype='text'name='tags'id="tags"value=''/>(','号分隔,单个标签小于12字节) 
    </td></tr><trheight='32'><tdwidth="80"class='bline'>&nbsp;文档ID:</td><tdclass='bline'> 
        <input type='text' name='tmpids' value="<?php echo $qstr;?>" style='width:310px;overflow:hidden;' /> 
    </td></tr><trheight='32'><tdcolspan='2'align='center'style='padding-top:12px'><inputname="imageField"type="image"src="images/button_ok.gif"width="60"height="22"class="np"border="0"style="cursor:pointer"/> 
        &nbsp;&nbsp; 
        <img src="images/button_back.gif" width="60" height="22" border="0" onclick='HideObj("<?php echo $divname;?>");ChangeFullDiv("hide");' style="cursor:pointer" /> 
    </td></td></tr></table></form><?php 
//AJAX 窗体结束 }//修改标签结束 /* 
 * ------------------------------ 
 * 修改标签详细操作 
 * function tagsEdit(){} 
 * ------------------------------ 
 * 
 * */ 
elseif ($dopost =='tagsEdit'){//CheckPurview('a_Commend,sys_ArcBatch'); if(!empty($aid)&& empty($qstr)){ 
        $qstr = $aid;}if($qstr==''){ShowMsg("参数无效!", $ENV_GOBACK_URL);exit();}if(empty($tags)){ShowMsg("必需输入tags标签!", $ENV_GOBACK_URL);exit();} 
    $tags = str_replace(',',',', $tags); 
    $tagss = explode(',',$tags);if(empty($tagss)){ShowMsg("必需输入tags标签!", $ENV_GOBACK_URL);exit();} 
  
    $arcids = ereg_replace('[^0-9,]','',ereg_replace('`',',', $qstr)); 
    $arcids_arr = explode(',', $arcids);if(empty($arcids_arr)){ShowMsg("参数无效!", $ENV_GOBACK_URL);exit();}foreach($arcids_arr as $id){/* 
        * 处理修改后的Tag 
        */ 
        $oldtag =GetTags($id); 
        $oldtags = explode(',',$oldtag);foreach($tagss as $tag){ 
            $tag = trim($tag);if(isset($tag[255])|| $tag!=stripslashes($tag)){continue;}if(!in_array($tag,$oldtags)){InsertOneTag($tag,$id);}}foreach($oldtags as $tag){if(!in_array($tag,$tagss)){ 
                $dsql->ExecuteNoneQuery("Delete From `js_taglist` where aid='$id' And tag like '$tag' "); 
                $dsql->ExecuteNoneQuery("Update `js_tagindex` set total=total-1 where tag like '$tag' ");}else{ 
                $dsql->ExecuteNoneQuery("Update `js_taglist` set `arcrank` = '$arcrank', `typeid` = '$typeid' where tag like '$tag' ");}}}ShowMsg("成功修改选中文档的tags标签!", $ENV_GOBACK_URL);exit();}

然后上传更新,得到的效果如下:

attachments-2019-01-Sa9fvSoU5c37ecf0780ac.png

删除TAG就不用说了吧,直接后台批量维护》》TAG标签管理

OVER

自定义属性调用

这个应该不用介绍怎么调,但是有很多人不会加,

后台-系统-SQL命令行工具。

insert into `dede_arcatt`(sortid,att,attname) values(9,'dd','标签1');

insert into `dede_arcatt`(sortid,att,attname) values(10,'d','标签1');

insert into `dede_arcatt`(sortid,att,attname) values(11,'d1','标签2');

insert into `dede_arcatt`(sortid,att,attname) values(12,'d2','标签3');

 ……

 alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','dd','d','d1','d2') default NULL;

代码第1行:values(9,'d','新自定义属性') 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到 10,11,12...,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“收费”是中文名称,是方便人们直观地勒戒自定义属性的含义的,可以根据需要改为“网络”、“新闻头条”等。

代码第2行: set ('c','h','p','f','s','j','a','b','dd','d','d1','d2') ,括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,dd排序第9位,则对应第一行代码中添加的自定义属性““评论dd”。

弄完后就像我这样:

attachments-2019-01-hRjMiNCQ5c37f0a578eb8.pngattachments-2019-01-mYedSppZ5c37f11e72a8f.png

我用的都是笨办法。组合使用会弥补很多,这些都是我在解决我的问题网上搜集的2个方法!




10 条评论

请先 登录 后评论
吹出去的牛要牵回来
吹出去的牛要牵回来

牵不回来就和牛一起走吧!

3 篇文章

作家榜 »

  1. admin 14 文章
  2. 张晓杰 12 文章
  3. 赵小顺 11 文章
  4. 吴越²⁰¹⁸ 9 文章
  5. 超凡SEO顾问 5 文章
  6. SEO游击队长 5 文章
  7. 苒苒 Babygo 5 文章
  8. IG 4 文章

你可能感兴趣的文章

相关问题