Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

discuz X3.4的门户文章列表页本地+外链多图

[复制链接]
tuyuanma 发表于 2020-4-15 21:42:51 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


之前有写过很多相似的,我是每次用都不同,所以每次都记录一下。
. {2 T' q3 d/ I3 Y9 S: [( x这次希望达到的效果:
: }1 ^# O3 P' }6 T' h) b. d, k. p; }* ?, R; [+ ~4 @& D- e
如果本站上传小于3张图,显示1张。
8 H- v# N+ i; p. B! e6 r如果本站上传大于3张图,显示4张。
  @$ i5 L( }+ \4 l4 u如果没有上传图片但有外链图片小于3张,显示1张。
* P" a7 N* I' J9 O( z4 }* w: p. [* F% }. }如果没有上传图片但有外链图片大于3张,显示4张。
' A( |" _3 u0 w' d1 C远程附件的判断没加,算到外部图片吧。/ c! S% |) W! H" [, H. g  B. e6 B7 q  l0 t

, H# d0 {! z, A" w! ~5 O6 s, E大概就是这个意思,↓
3 ]. G1 u4 ~5 |, Z2 x8 v 1.jpg
- k( D/ k( R' B; O3 T. Q) H% A刚刚有点效果,有无bug还不清楚。; h( G! `& R7 Y6 T' x4 P* n

+ Q/ O7 }% j$ E. R+ F2 V在门户列表页模板里找到
  1. <!--{loop $list['list'] $value}-->5 J- o, B3 K% ^4 A* ]# L7 J6 m
  2. <!--{eval $highlight = article_title_style($value);}-->, t5 \3 R3 x$ C+ J
  3. <!--{eval $article_url = fetch_article_url($value);}-->
复制代码
在它下面加上
  1. <!--{eval $article_pic_num=DB::result_first("SELECT count(attachid) FROM ".DB::table("portal_attachment")." WHERE `aid`='$value[aid]'");}-->1 P9 ]$ Z! \, i+ t: w9 }4 t
  2. <!--{if $article_pic_num > 0 && $article_pic_num < 4}-->$ z" V" _1 I. I1 i! X0 {. o9 K* q. f' G
  3. <!--{eval $pic_limit = '1';}-->
    5 J; U$ l) _( b0 S8 ?$ S/ o! F
  4. <!--{elseif $article_pic_num > 3 && $article_pic_num < 8}-->
    $ @9 ?& O) Z  \( T; j' k# R# O
  5. <!--{eval $pic_limit = '4';}-->
    / h! |, K0 _' ~, n2 I  U% m5 _
  6. <!--{elseif $article_pic_num > 7}-->. k% O5 Y1 P$ ]# r0 t
  7. <!--{eval $pic_limit = '4';}-->1 h9 i: |1 i, Q# Q" R; c+ \' r
  8. <!--{/if}-->
    4 N  e+ ]5 h/ n  t! z$ m9 L" \6 z
  9. <!--{if $article_pic_num > 0}-->& g- Y3 f6 d- o  ~) Q* c
  10. <!--{eval $article_pic_list=DB::fetch_all("SELECT attachment,attachid,filename FROM ".DB::table("portal_attachment")." WHERE `aid`='$value[aid]' ORDER BY `attachid` DESC LIMIT 0,$pic_limit;");}-->
    ' `2 T) ~0 O3 A2 h( e2 Z% `
  11. <!--{/if}-->0 o/ U; k; Y# S) {) ~
  12. <!--{eval $article_all=DB::result_first("select content from ".DB::table("portal_article_content")." where aid='$value[aid]'");}-->
    * A5 \2 ?, ?$ ?- z. A8 k
  13. <!--{eval preg_match_all("/<[img|IMG].*?src=[\'|"](.*?(?:[\.gif|\.jpg|\.png]))[\'|"].*?[\/]?>/", $article_all, $ex_pic);}-->
    ! T; G; E" ~) \7 m9 n
  14. <!--{eval $ex_pic_num = count($ex_pic[1]);}-->
    - C8 t# j2 w( G; t* {
  15. <!--{if $ex_pic_num > 0 && $ex_pic_num < 4}-->" @' E. s5 n" Y
  16. <!--{eval $ex_pic_num = '1';}-->6 d8 _! Q; m! }
  17. <!--{elseif $ex_pic_num > 3}-->' [- H1 g% _" l
  18. <!--{eval $ex_pic_num = '4';}-->" A; T4 q( I6 d4 I2 N% i* M- ^* T: x
  19. <!--{/if}-->7 F2 A3 y, F5 O4 \" ^
  20. <div class="article_loop {if $pic_limit == 4}pic_4{/if} cl">
    3 S1 C/ i' z' I1 x) \6 Q# j! S* Q
  21.         <!--{if $pic_limit == 1}-->
    . e4 d6 u/ h9 B* ?3 Z+ @
  22.         <div class="content_body">  ^) ?* i1 [1 D. j: v$ F3 M
  23.                 <a href="$article_url" title="$value[title]"><img src="$value[pic]" alt="$value[title]"></a>        7 Z2 G0 m' a4 w4 {
  24.         </div>
    $ B+ N' M+ x5 F( ?% D2 x
  25.         <!--{elseif $ex_pic_num == 1 && $pic_limit == 0}-->( B, i+ r6 s/ m) C" N8 Y0 n
  26.         <div class="content_body">8 w7 [% |7 d6 I5 R  d: L
  27.                 <a href="$article_url" title="$value[title]"><img src="$ex_pic[1][0]" alt="$value[title]"></a>        
    # k" U/ v/ Z: ?; h
  28.         </div>
    ) y) ]0 Q5 M/ x) s
  29.         <!--{/if}-->
    2 Q4 H+ u1 U0 r4 F! r
  30.         <div class="content_infor"># o1 G$ R0 G3 u8 S
  31.         <h2><a href="$article_url" target="_blank" class="xi2" $highlight>$value[title]</a> <!--{if $value[status] == 1}-->({lang moderate_need})<!--{/if}--></h2>& d+ _* _; Y4 b! w5 h
  32.         <!--{if $pic_limit > 3}-->
    % g4 L, K$ F: G
  33.         <div class="more_pic cl">
    4 T3 x1 n; X0 o, k# j
  34.                 <!--{loop $article_pic_list $picvalue}-->
    4 h) f. L% _! [
  35.                 <a href="portal.php?mod=view&aid={$value['aid']}#{$picvalue['attachid']}" title="" target="" class="success"><img src="data/attachment/portal/{$picvalue['attachment']}" alt="{$picvalue['filename']}"></a>% g4 ^9 ]% @3 e% {* r" d/ F# r
  36.                 <!--{/loop}-->
      O: |7 o! x0 K+ {! o
  37.         </div>
    2 Y  ?( ~$ v' K% c: R
  38.         <!--{elseif $ex_pic_num > 3 && $pic_limit == 0}-->$ a9 ]' Z/ W4 d( J) w6 j# p  L' g, u
  39.         <!--{eval $i=1;}-->
    : `4 Z3 L6 L; z) s% I) K
  40.         <div class="more_pic cl">
    / c/ o9 y% x4 v( L& {& k
  41.                 <!--{loop $ex_pic[1] $ex_picvalue}-->+ k* z/ I* `9 ~) l
  42.                 <!--{if $i<5}-->
      v7 O: a) _7 H8 S/ t# x
  43.                 <a href="portal.php?mod=view&aid={$value['aid']}" title="" target="" class="success"><img src="{$ex_picvalue}" alt=""></a>
    * m4 K  s/ x! Q4 J
  44.                 <!--{/if}-->+ M% l! r4 t$ E) Z  ]5 m
  45.                 <!--{eval $i++;}-->
    $ i0 w! P* J' I9 y( t: T
  46.                 <!--{/loop}-->2 \  m- n. @/ _
  47.         </div>
    " R- e  s# B7 I9 ^  s& Y9 p
  48.         <!--{/if}-->
    0 }0 {7 L7 `/ L- F0 W) t2 C" t5 T, U
  49.         <span class="time"><i class="fa fa-clock-o fa-fw"></i>{$value[dateline]}</span>
    5 s  T& P3 o: u: J8 s8 T
  50.         <span class="pipe"></span>
    * r$ j% R1 v+ Z4 {! G
  51.         <span class="views"><i class="fa fa-eye fa-fw"></i>{$value[viewnum]}</span>0 v4 R7 i; y' {
  52.         <span class="pipe"></span>! L7 h& E- t6 o" f
  53.         <span class="reply"><i class="fa fa-comment-o fa-fw"></i>{$value[commentnum]}</span>6 O4 j0 v5 u7 p6 h, Z( |
  54.         <p>$value[summary]......</p>: d( M  H& q- ?$ V
  55. </div>- t4 j1 T9 E0 ~4 X' k
  56. </div>: d- C( @& q7 ~" m3 y, w8 {
复制代码
上面有两处数字有点问题的,一个是pic_limit判断两次等于4,是因为我模板显示8张图不好看,否则下面的4应该是8。改成8之后,下面的外链图片数量判断也要改。' P% y& t9 U) T: Z8 ]
很多代码可以写在一起,为了方便看逻辑分开写了。

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告
493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

快速回复 返回顶部 返回列表