分亨一个ecshop模板中调用后台设置的轮播图片和链接的方法

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



ecshop后台设置的轮播图片和链接不是存放在mysql数据库中,而是存放在data/flash_data.xml中,在模板中不能直接调用,我写了一个函数,解析出data/flash_data.xml的图片地址和链接用于模板

一、在index.php中增加一个函数
  1. /***获取首页广告***/
  2. function get_index_ad()
  3. {
  4. $flashdb = array();
  5. if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml'))
  6. {
  7. $uri = $GLOBALS['ecs']->url();
  8. $content = file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml');
  9. $xml = **xml_load_string($content);
  10. if (!empty($xml))
  11. {
  12. foreach ($xml as $key => $item)
  13. {
  14. $attr = $item->attributes();
  15. $item_url =strpos($attr['item_url'], 'http') === false? $uri . $attr['item_url']:$attr['item_url'];
  16. $flashdb[] = array('src'=>trim($item_url),'url'=>trim($attr['link']),'text'=>trim($attr['text']),'sort'=>trim($attr['sort']));
  17. }
  18. }
  19. }
  20. return $flashdb;
  21. }
复制代码
二、在index.php中增加$smarty变量的赋值

$smarty->assign('index_ad', get_index_ad());// 首页轮播

三、在index.dwt中就可以调用了
  1. {foreach from=$index_ad item=iad}
  2. <a href="{$iad.url}" target="_blank" tabindex="{$iad.text}"><img src="{$iad.src}" /></a>
  3. {/foreach}
复制代码

四、这样我们就很容易在ecshop中使用其它的轮播效果,页图片和链接而是ecshop后台设置

一点小技巧,希望对大家有帮助,原创分亨,转载请注明来自 http://bbs.topit.cn/thread-1563-1-1.html

回答:
楼主写的方法不错,支持下

ec二次开发及问题咨询QQ群:95250464这里可以帮你解决问题