默认的是index_ad.lbi模板有一个$flash变量了,但在搜索搜索没发现
<!--{foreach from=$flash name=no item=flash}--> <li class="li{$smarty.foreach.no.iteration}"><a href="{$flash.url}" target="_blank"><img src="{$flash.src}"/></li><!--{/foreach}--><!--{foreach from=$flash name=no item=flash}--> <li> {$smarty.foreach.no.iteration} </li> <!--{/foreach}-->
然后我在index.php文件搜索flash变量没有,只发现这样一个代码
/* 首页主广告设置 */$smarty->assign('index_ad', $_CFG['index_ad']); if ($_CFG['index_ad'] == 'cus') { $sql = 'SELECT ad_type, content, url FROM ' . $ecs->table("ad_custom") . ' WHERE ad_status = 1'; $ad = $db->getRow($sql, true); $smarty->assign('ad', $ad);}
发现没办法使用了,我调用时也不会显示广告主的广告,于是网上搜索一下看到一段这样的文字
在首页index.php的代码:$smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告
在这个代码下面加入下面代码:
$smarty->assign("flash",get_flash_xml());$smarty->assign('flash_count',count(get_flash_xml()));
如果以上两步没有调用首页主广告,然后再index.php中加入如下代码:
/** * 首页显示主广告区所需代码 * @return array */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;}