ecshop通过后台主广告管理直接引入广告调用函数方法

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

先在ecshop增加代码

function get_flash_xml()
{
    $flashdb = array();
    if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml'))
    {
 
        // 兼容v2.7.0及以前版本
        if (!preg_match_all('/item_url="([^"]+)"\\slink="([^"]+)"\\stext="([^"]*)"\\ssort="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER))
        {
            preg_match_all('/item_url="([^"]+)"\\slink="([^"]+)"\\stext="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER);
        }
 
        if (!empty($t))
        {
            foreach ($t as $key => $val)
            {
                $val[4] = isset($val[4]) ? $val[4] : 0;
                $flashdb[] = array('src'=>$val[1],'url'=>$val[2],'text'=>$val[3],'sort'=>$val[4]);
            }
        }
    }
    return $flashdb;
}


该函数也是直接从ECSHOP后台管理所取。chinab4c整理的ecshop模板里使用方法范例:
 
<?php
$GLOBALS['smarty']->assign('index_ad',get_flash_xml());
?>
<div class="bigbanner">
 
<div class="section">
 <div id="bigFocusSlider" class="slide-box">
   <ul class="slide-items">
<!--{foreach from=$index_ad item=index_ad name=index_ad}--> 
<!-- {if $smarty.foreach.index_ad.index<12}-->  
     <li><a href="{$index_ad.url}" title="{$index_ad.text}" target="_blank"><img src="{$index_ad.src}" alt="{$index_ad.text}" width="1000" height="400" border="0" /></a></li>
<!--{/if}-->
<!--{/foreach}-->
                            
       </ul>
     </div>
</div>
 
</div>


这样就解决了后台更新主广告管理,不用FLASH,替换成JS效果的问题。  其实也没改动任何东西,是取了后台管理部分PHP代码。活学活用哦!(责任编辑:chinab4c)