ecshop自定义首页flash幻灯片 自定义首页主广告效果
注:在开发一个项目的时候用到了这个问题,百度之后找到解决的方案,对作者的尊重贴出原文地址(http://blog.sina.com.cn/s/blog_6ad6243801016ymg.html)
1、查找根目录的index.php文件,找到下面代码:
$links = index_get_links();
$smarty->assign(‘img_links’, $links[‘img’]);
$smarty->assign(‘txt_links’, $links[‘txt’]);
$smarty->assign(‘data_dir’, DATA_DIR);
后面添加:
/* 自定义首页幻灯片 */
$uri = $GLOBALS[‘ecs’]->url();
$playerdb = get_flash_xml();
$i = 1;
foreach ($playerdb as $key => $val)
{
if (strpos($val[‘src’], ‘http’) === false)
{
$playerdb[$key][‘src’] = $uri . $val[‘src’];
}
$playerdb[$key][‘short_url’] = str_replace($uri, ‘/’, $playerdb[$key][‘url’]);
$playerdb[$key][‘sort’] = $i++;
}
$smarty->assign(‘playerdb’, $playerdb);
2、在index.php文件最后面添加如下代码:
/* 自定义首页广告 */
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;
}
3、在库文件:模板目录/library/index_ad.lbi添加标签:
{foreach from=$playerdb item=item key=key}
链接地址:{$item.url}
文字描述:{$item.text|escape:html}
图片地址:{$item.src}
{/foreach}
OK,成功解决。