ecshop 首页图片广告轮播修改flash改为js-方法很简洁
2015-06-30 14:21
781 查看
这个很常见,因为现在比起flash难以修改,js更加符合人们的使用习惯,而默认ecshop还是用flash来做的,这点非常不好,下面说一下如何修改
第一步:index.php里加了一个方法,调用XML文件;function get_flash_xml()
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]);
//print_r($flashdb);
}
}
}
return $flashdb;
}
第二步:在index.php中找到 $smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告
在下面添加
/*jdy add 0816 添加首页幻灯插件*/
$smarty->assign("flash",get_flash_xml());
$smarty->assign('flash_count',count(get_flash_xml()));
第三: 将在index_ad.lbi中调用循环就可以了
<!--{foreach from=$flash name=myflash item=flash}-->
<LI><A href="{$flash.url}"target=_blank><IMG height=425 alt=""src="{$flash.src}"width=734></A></LI>
<!--{/foreach}-->
第四,JS效果可以自己在网上找,自己套用循环调用数据即可,但是不要用jquery的JS,否则会和ecshop冲突。
第一步:index.php里加了一个方法,调用XML文件;function get_flash_xml()
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]);
//print_r($flashdb);
}
}
}
return $flashdb;
}
第二步:在index.php中找到 $smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告
在下面添加
/*jdy add 0816 添加首页幻灯插件*/
$smarty->assign("flash",get_flash_xml());
$smarty->assign('flash_count',count(get_flash_xml()));
第三: 将在index_ad.lbi中调用循环就可以了
<!--{foreach from=$flash name=myflash item=flash}-->
<LI><A href="{$flash.url}"target=_blank><IMG height=425 alt=""src="{$flash.src}"width=734></A></LI>
<!--{/foreach}-->
第四,JS效果可以自己在网上找,自己套用循环调用数据即可,但是不要用jquery的JS,否则会和ecshop冲突。
相关文章推荐
- javascript中filter方法
- JS更换图片
- RapidJSON 代码剖析(四):优化 Grisu
- 利用JavaScript和Google API在网页中加入地图
- gruntjs
- Newtonsoft.Json高级用法
- .net使用Newtonsoft.Json.dll解析json过程的几种特殊情况处理
- JS实现简单的图书馆享元模式实例
- JS建造者模式基本用法实例分析
- JS模式之简单的订阅者和发布者模式完整实例
- JS模式之单例模式基本用法
- js日历学习
- 201506300917_《Javascript权威指南(第六版)——类和模块、定义类三步法、定义简单类的函数 》(P200-210)
- js简单工厂模式用法实例
- JavaScript中地理位置API的使用
- Javascript的setTimeOut()和setInterval()的定时器用法
- jstree 插件的使用笔记(一)
- JS获取今天是星期几
- 超赞的动手创建JavaScript框架的详细教程
- extjs中regex和vtype区别以及regex的详细用法