Dede在文章内页调用栏目最新的文章怎么排除自身文章?

5 个回复


百度收录提交入口

CMSYOU – CMS企业网站定制专家

赞同来自:

DedeCMS获取当前文章的网址:
{dede:global.cfg_basehost/}{dede:geturl runphp='yes'}@me = GetCurUrl();{/dede:geturl}

实际上这还不是最好的办法,最好的办法是用GetOneArchive函数获取:这样可以避免是否静态、还是动态访问方式,使用下面的代码:
{dede:global.cfg_basehost/}{dede:php}$thisid = $refObj->Fields['id'];
$arcurl = GetOneArchive($thisid);
echo $arcurl['arcurl'];{/dede:php}
2020-05-08 22:22
0 条评论

分享

要参与问题请先登录或注册

0


百度收录提交入口

CMSYOU – CMS企业网站定制专家

赞同来自:

DedeCMS根据文章id查询当前文章ID所对应的相关信息:
{dede:sql sql='Select * from dede_archives where id=~id~'}
<img src="[field:litpic/]" alt="[field:title/]" style="max-height:150px; max-width:170px;" />    
{/dede:sql}

DedeCMS获取当前文档所在主表、附加表字段信息:
{dede:sql sql='Select down,title from dede_addonarticle JOIN dede_archives ON dede_addonarticle.aid = dede_archives.id where id = ~id~'} 
       <a href='[field:down/]' target='_blank'>[field:title/]</a> 
{/dede:sql}

其中down为新增字段。使用的时候,根据情况做改动。
2020-05-08 22:24
0 条评论

分享

要参与问题请先登录或注册

0


百度收录提交入口

CMSYOU – CMS企业网站定制专家

赞同来自:

DedeCMS模板中if else判断语句写法:
[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday)
@me = "<font color='red'>(new)</font>";
else @me = "";
[/field:senddate]

其中@me:就是当前字段的值,你可以在if中给其赋值,然后判断结束后它的值就变成你赋的值,打印出来。
如何在dedecms模板中使用 if else呢?这就需要我们多走一步,就是声明一下使用PHP语句: runphp=’yes’。

DedeCMS判断当前栏目下是否有子栏目可使用以下的代码进行判断:
{dede:field name=typeid runphp="yes"}
global $dsql;
$sql = "SELECT id From `dede_arctype` WHERE reid='@me' And ishidden<>1 order by sortrank asc limit 0, 100 ";
    $row = $dsql->GetOne($sql); 
if(@me=is_array($row))
@me="有子栏目";
else @me = "没子栏目";
{/dede:field}

2020-05-08 22:26
0 条评论

分享

要参与问题请先登录或注册

0


百度收录提交入口

CMSYOU – CMS企业网站定制专家

赞同来自:

DedeCMS织梦怎么获取当前文章页的文章ID号?
{dede:field.id/}

或者:
{dede:field name='aid'}{/dede:field}

就是html文件生成的那个{aid}序号。

DedeCMS织梦arclist标签里的if用法:
{dede:arclist row='6' titlelen='20'  imgwidth='80' imgheight='107' addfields='body'  typeid='15' channelid='1'}

        <div class="il_1">
            <div class="img"> 
                <img src="[field:litpic/]" /> 
                 <!-- <a href="[field:shorttitle/]"   class="butten" target="_blank">查看详细</a>
                  -->
                [field:shorttitle runphp=yes]
                $fields =  @me;
                if($fields != ''){
                    @me = '<a href="'.$fields.'"   class="butten" target="_blank">查看详细</a>';
                }else{
                    @me =  '<a    class="butten" target="_blank">敬请期待</a>';
                }
                [/field:shorttitle] 
            </div>
            <div class="ms">
              <h2 class="ms_h2">[field:title/]</h2>
               <p>[field:body function='cn_substr(html2text(@me),600)'/]...</p>
            </div>
        </div>
{/dede:arclist}

2020-05-08 22:27
0 条评论

分享

要参与问题请先登录或注册

0


百度收录提交入口

CMSYOU – CMS企业网站定制专家

赞同来自:

Dede在文章内页调用栏目最新的文章怎么排除自身文章?最好的办法是使用织梦自带的万能标签{dede:sql}:
关于DedeCMS万能标签SQL:

在需要调用单页文档的地方加入SQL万用标签
{ dede :sql sql=select body from dede_sgpage where aid=2}[field:body /]{/dede:sql}
相信熟悉SQL语言的朋友很容易看懂这句含义。意思其实就是选择数据表dede_sgpage 的body字段输入,aid=2这里的2表示你创建单页文档ID数字,你使用时做下相应修改即可。

DedeCMS调用列表排除自身文章ID具体代码:
{dede:php}
$typeid = $refObj->Fields['typeid'];
$id = $refObj->Fields['id'];
{/dede:php}
{dede:sql sql='Select * from #@__archives where typeid = ~typeid~ AND id!=~id~ LIMIT 0,10'}
<li class="duo-ct"><a href="[field:id function=GetOneArchiveURL(@me)/]">[field:title/]</a></li>
{/dede:sql}

其中GetOneArchiveURL函数是根据GetOneArchive函数衍生的,修改\include\helpers\archive.helper.php文件就好,如有疑问请联系CMSYOU客服,客服QQ2560980327。

2020-05-08 22:30
0 条评论

分享

要参与问题请先登录或注册

0

为什么被折叠?0 个回复被折叠