网站开发 · 2025年4月23日

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后台管理所取。好模板整理的 里使用方法范例:

  <?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代码。活学活用哦!