Ecshop后台管理自定义的js幻灯播放器

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



后台有个首页主广告管理!


通过这个接口上传的图片信息被保存到一个xm文件中
data/flash_data.xml

只需要写个函数 读取这个xml中 图片信息即可


看看 我们部分模板中演示效果

http://www.mywebphp.cn/qqred


看看xml文件的格式

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <bcaster>
  3. <item item_url="data/afficheimg/20121018tyfzos.jpg" link="http://www.mywebphp.cn" text="测试图片三" sort="0"/>
  4. <item item_url="data/afficheimg/20121018fcjvdp.jpg" link="http://www.mywebphp.cn" text="测试图片5" sort="0"/>
  5. <item item_url="data/afficheimg/20121018rrpmvo.jpg" link="http://www.mywebphp.cn" text="测试图片" sort="0"/>
  6. <item item_url="data/afficheimg/20121018msvtzl.jpg" link="http://www.mywebphp.cn" text="测试图片2" sort="0"/>
  7. <item item_url="data/afficheimg/20121018aensqc.jpg" link="http://www.mywebphp.cn" text="测试图片四" sort="0"/>
  8. <item item_url="data/afficheimg/20121018cdozrt.jpg" link="http://www.mywebphp.cn" text="测试图片6" sort="0"/>
  9. </bcaster>
复制代码


很明显 只需要读取item结点的 三个属性结点的值 即可!也就是属性结点:item_urllinktext的值

函数如下:

  1. //通过解析xml文件 得到上传的图片信息

  2. function get_xml_img() {

  3. $xml_file = $GLOBALS['ecs']->url().'data/flash_data.xml';

  4. $dom = new DOMDocument();
  5. $dom->load($xml_file);

  6. $arr= array();

  7. //通过标签获取结点这个和js非常像
  8. $item = $dom->getElementsByTagName('item');

  9. //循环所有item结点
  10. foreach($item as $key=>$value)
  11. {



  12. //通过getAttribute 获取属性结点值这个和js一模一样
  13. //把属性结点值存入二位数组中
  14. $arr[$key]['img_src'] = $value->getAttribute('item_url');
  15. $arr[$key]['img_link']=$value->getAttribute('link');
  16. $arr[$key]['img_text']=$value->getAttribute('text');

  17. }

  18. //最后返回数组
  19. return $arr;
  20. }
复制代码



然后在index.php中 给smarty赋值即可

  1. //设置自定义首页主广告

  2. //这个函数已经被我封装到 自定义的类中也可以直接调用函数
  3. $mywebphp = new MYWEBPHP();
  4. $img_info = $mywebphp->get_xml_img();
  5. $smarty->assign('img_info',$img_info);
复制代码


这样在模板 index.dwt中 可以直接引用图片信息了

比如 我们的红色QQ商城模板

  1. <ul id="slide_img">

  2. {foreach from=$img_info item=item}
  3. <li><a href="{$item.img_link}" target="_blank"><img src="{$item.img_src}" alt="{$item.img_text}"></a></li>
  4. {/foreach}
  5. </ul>
复制代码


是不是非常方便 ~~~

更多ecshop技术文档 请关注 北京麦维创想 技术博客

http://blog.mywebphp.cn/archives/71

麦维官网:www.mywebphp.cn

回答:
顶一下,顶一下


这样好的方法为啥没几个回复嗫?

楼主,你说的
//这个函数已经被我封装到 自定义的类中也可以直接调用函数

封装到 自定义的类 是指? 自己在include里面写个php,然后include进来?
这个幻灯一般不是首页才用而已吗,直接写在index.php最下面就好吧。

方法不错! 收藏下