各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > phpcms

phpcms v9手机站不支持组图($pictureurls)的修改(简单二次开发)

管理员 2022-08-28
phpcms
290

phpcms v9自带的手机门户网站,有时候我们需要用到组图功能$pictureurls,我在做的时候发现,如果$pictureurls中只有一张图片会正常显示,但是如果有两张或两张以上的图片的时候,就会出现错误,调用组图的代码为:

  1. {loop $pictureurls $k $v} 

  2. <img src="{$v[url]}" 

     width="380" height="286"  alt="{$title}"/> 

  3. {/loop} 

当有多个图片时:


此时我们会发现,组图的图片路径没有被真正读取,所以就得需要简单的二次修改了!

打开phpcmsmoduleswapindex.php,找到大概121-160行

  1. if($pictureurls) { 

  2.             $pictureurl = pic_pages($pictureurls); 

  3.             $isshow = 0;             

  4.             //进行图片分页处理       

  5.             $PIC_POS = strpos($pictureurl, '[page]'); 

  6.             if($PIC_POS !== false) { 

  7.                 $this->url = pc_base::load_app_class('wap_url''wap'); 

  8.                 $pictureurls = array_filter(explode('[page]', $pictureurl)); 

  9.                 $pagenumber = count($pictureurls); 

  10.                 if (strpos($pictureurl, '[/page]')!==false && ($CONTENT_POS<7)) { 

  11.                     $pagenumber--; 

  12.                 } 

  13.                 for($i=1; $i<=$pagenumber; $i++) { 

  14.                     $pageurls[$i] = $this->url->show($id, $i, $catid, $typeid); 

  15.                 } 

  16.                 $END_POS = strpos($pictureurl, '[/page]'); 

  17.                 if($END_POS !== false) { 

  18.                     if(preg_match_all("|[page](.*)[/page]|U", $pictureurl, $m, PREG_PATTERN_ORDER)) { 

  19.                         foreach($m[1] as $k=>$v) { 

  20.                             $p = $k+1; 

  21.                             $titles[$p]['title'] = strip_tags($v); 

  22.                             $titles[$p]['url'] = $pageurls[$p][0]; 

  23.                         } 

  24.                     } 

  25.                 } 

  26.                  

  27.                 //当不存在 [/page]时,则使用下面分页 

  28.                 $pages = content_pages($pagenumber,$page, $pageurls, 0); 

  29.                 //判断[page]出现的位置是否在第一位  

  30.                 if($CONTENT_POS<7) { 

  31.                     $pictureurl = $pictureurls[$page]; 

  32.                 } else { 

  33.                     if ($page==1 && !empty($titles)) { 

  34.                         $pictureurl = $title.'[/page]'.$pictureurls[$page-1]; 

  35.                     } else { 

  36.                         $pictureurl = $pictureurls[$page-1]; 

  37.                     } 

  38.                 }        

  39.             }            

  40.         } 

这段代码意思是当$pictureurls存在时,需要对$pictureurls进行分页处理,这样就导致了组图读取不出来的情况,如果你的组图属性属于自定义的属性,你可以对$pictureurls重新命名,比如改成$pictureurls2等等,还有一种方法比较干脆就是直接注释掉或者删除掉以上这些代码,这样就不需要对$pictureurls做任何处理,直接读取出来,但是这样也就是丧失了图片分页功能(一般也没多大用,分页可以用幻灯片效果实现),ok 完成!


相关推荐

扫码关注

qrcode

QQ交谈

回顶部