先在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后台管理所取。最模板整理的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代码。活学活用哦!(责任编辑:最模板) |