GVKun编程网logo

织梦artlist标签增加notypeid属性过滤掉某些栏目(织梦常用调用标签)

5

如果您对织梦artlist标签增加notypeid属性过滤掉某些栏目感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于织梦artlist标签增加notypeid属性过滤掉某些栏

如果您对织梦artlist标签增加notypeid属性过滤掉某些栏目感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于织梦artlist标签增加notypeid属性过滤掉某些栏目的详细内容,我们还将为您解答织梦常用调用标签的相关问题,并且为您提供关于dedecms织梦arclist标签调用副栏目的文章、dedecms织梦arclist标签调用副栏目的新闻、dedecms织梦artlist和list标签调用图集图片实现办法、dedecms织梦artlist和list标签调用图集图片实现方法的有价值信息。

本文目录一览:

织梦artlist标签增加notypeid属性过滤掉某些栏目(织梦常用调用标签)

织梦artlist标签增加notypeid属性过滤掉某些栏目(织梦常用调用标签)

 
*近在对自己做的小站的栏目进行扩展和细分,由原来的七个一级栏目变成十二个一级栏目,每个一级栏目再细分为四到八个二级栏目,以便更好的管理内容。但我遇到了一个问题,其中一个栏目我不想让它在首页的*新文章列表中显示,按照织梦现有的办法,就是在arclist标签的typeid属性里把想显示文章的栏目ID全部设置上,但这样做栏目ID太多了,以后维护起来也麻烦,于是我想既然arclist支持flag和noflag,那么应该也要支持typeid 和notypeid吧?经过一番测试,再跟踪了一下源码,发现织梦并不支持notypeid,那怎么办?
 
打开/include/taglib/arclist.lib.php文件,找这段代码(大概在130行):
 
return lib_arclistDone
       (
         $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
         $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
         $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
         $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'),
          $ctag->GetAtt('noflag'),
         $tagid,$pagesize,$isweight         
     );
在*后括号*后加上(注意前面的逗号):
 
,$ctag->GetAtt('notypeid')
 
 
然后再找到这一段代码(大概在168行):
 
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
$imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
$innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, 
$noflag='',$tagid='', $pagesize=0, $isweight='N')
 
在括号的*后加上(注意前面的逗号):
 
,$notypeid=0
 
*后再找到这一句:
$orwheres[] = ' arc.arcrank > -1 ';
 
在其前面增加以下代码:
 
if(!empty($notypeid)) 
{
    $orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")";
}
 
这样,代码就修改完毕了。保存之后就在arclist标签里试试看notypeid属性吧。对于网站栏目多,内容显示时又错综复杂的情况,这样的属性还是蛮实用的。
调用方法:
{dede:arclist row=6 orderby=pubdate type='image.' imgwidth='108' imgheight='150' channelid='1' notypeid='9'}
本文章网址:http://www.ppssdd.com/code/1313.html。转载请保留出处,谢谢合作!

dedecms织梦arclist标签调用副栏目的文章

dedecms织梦arclist标签调用副栏目的文章

织梦dedecms的功能已经非常强大,但是需要也是在不断需要的,我们有时也需要去更改一下系统的某些功能,

比如说我今天就需要arclist标签能调用副栏目的文章,只需要更改/include/taglib/arclist.lib.PHP 。
 
if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
替换为
if($CrossID=='') {
          $orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';
} else {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';
}
 
之前我没有加括号,造成了很严重的问题。
 
dede arclist标签调用副栏目的文章 ,
 
修改完成后是下面这样,
//if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';
//else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';
                 if($CrossID=='') {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';
                 } else {
$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.'))';
                }

dedecms织梦arclist标签调用副栏目的新闻

dedecms织梦arclist标签调用副栏目的新闻

 

织梦DEDECMS的功能已经特别强大,但是需要也是在不断需要的,我们有时也需要去更改一下系统的某些功能,

比如说我今天就需要arclist标签能调用副栏目的新闻,只需要更改/include/taglib/arclist.lib.php 。
 

if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';

else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';

替换为

if($CrossID=='') {

          $orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';

} else {

$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';

}
 

之前我没有加括号,造成了很严重的问题。
 

dede arclist标签调用副栏目的新闻 ,
 

修改完成后是下面这样,

//if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';

//else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';

                 if($CrossID=='') {

$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') or arc.typeid2 in ('.GetSonIds($typeid).'))';

                 } else {

$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') or arc.typeid2 in ('.GetSonIds($typeid).','.$CrossID.'))';

                }

本文章网址:http://www.ppssdd.com/code/14021.html。转载请保留出处,谢谢合作!

dedecms织梦artlist和list标签调用图集图片实现办法

dedecms织梦artlist和list标签调用图集图片实现办法

 

我们在做织梦源码开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。织梦58整理了个一个这样功能的自定义函数。调用后效果如下

dedecms织梦artlist和list标签调用图集图片实现办法

函数代码

请将代码加入到 /include/extend.func.php 文件中

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

 

    function Getimgurls($aid,$num=4)    

    {

        global $dsql;

        $imgurls = $result = '';

        $imgrow = $dsql->GetOne( "Select imgurls From `dede_addonimages` where aid='$aid' ");

        $imgurls = $imgrow['imgurls'];

        if($imgurls != '')

        {

            $dtp = new DedeTagParse();

            $dtp->LoadSource($imgurls);

            $images = array();

            if(is_array($dtp->CTags))

            {

                foreach($dtp->CTags as $ctag)

                {

                    if($ctag->GetName() == 'img')

                    {

                        $row = array();

                        $row['width'] = $ctag->GetAtt('width');

                        $row['height'] = $ctag->GetAtt('height');

                        $row['imgsrc'] = trim($ctag->GetInnerText());

                        $row['text'] = $ctag->GetAtt('text');

                        $images[] = $row;

                    }

                }

            }

            $dtp->Clear();

            $i = 0;

            foreach($images as $row)

            {

                if($i == $num) break;

                if($row['imgsrc'] != '')

                {

#p#分页标题#e#

                    $result .= "<li><img src='{$row['imgsrc']}' alt='{$row['text']}' width='70' height='70'></li>";

                }

                $i++;

            }

            return $result;

        }  

    }

    //<li><img src='{$row['imgsrc']}' alt='{$row['text']}' width='70' height='70'></li> 

    // 这个图片的样式都可以根据自己需要进行自定义调整。织梦源码网

 

前台源码调用代码

1

2

3

4

5

6

7

 

    {dede:arclist}

    [field:id function=Getimgurls(@me,4)/]

    {/dede:arclist}

 

    {dede:list pagesize='10'}

    [field:id function=Getimgurls(@me,4)/]

    {/dede:list}

本文章网址:http://www.ppssdd.com/code/12254.html。转载请保留出处,谢谢合作!

dedecms织梦artlist和list标签调用图集图片实现方法

dedecms织梦artlist和list标签调用图集图片实现方法

我们在做织梦模板开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。织梦58整理了个一个这样功能的自定义函数。调用后效果如下

dedecms织梦artlist和list标签调用图集图片实现方法

函数代码

请将代码加入到 /include/extend.func.PHP 文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    function Getimgurls($aid,$num=4)    
    {
        global $dsql;
        $imgurls = $result = '';
        $imgrow = $dsql->Getone( "Select imgurls From `dede_addonimages` where aid='$aid' ");
        $imgurls = $imgrow['imgurls'];
        if($imgurls != '')
        {
            $dtp = new DedeTagParse();
            $dtp->LoadSource($imgurls);
            $images = array();
            if(is_array($dtp->CTags))
            {
                foreach($dtp->CTags as $ctag)
                {
                    if($ctag->GetName() == 'img')
                    {
                        $row = array();
                        $row['width'] = $ctag->GetAtt('width');
                        $row['height'] = $ctag->GetAtt('height');
                        $row['imgsrc'] = trim($ctag->GetInnerText());
                        $row['text'] = $ctag->GetAtt('text');
                        $images[] = $row;
                    }
                }
            }
            $dtp->Clear();
            $i = 0;
            foreach($images as $row)
            {
                if($i == $num) break;
                if($row['imgsrc'] != '')
                {
                    $result .= "
                }
                $i++;
            }
            return $result;
        }  
    }
    //
    // 这个图片的样式都可以根据自己需要进行自定义调整。www.dede58.com织梦模板网

 

前台模板调用代码

1
2
3
4
5
6
7
    {dede:arclist}
    [field:id function=Getimgurls(@me,4)/]
    {/dede:arclist}
 
    {dede:list pagesize='10'}
    [field:id function=Getimgurls(@me,4)/]
    {/dede:list}

我们今天的关于织梦artlist标签增加notypeid属性过滤掉某些栏目织梦常用调用标签的分享已经告一段落,感谢您的关注,如果您想了解更多关于dedecms织梦arclist标签调用副栏目的文章、dedecms织梦arclist标签调用副栏目的新闻、dedecms织梦artlist和list标签调用图集图片实现办法、dedecms织梦artlist和list标签调用图集图片实现方法的相关信息,请在本站查询。

本文标签: