ECSHOP首页轮播图调用不出来的有效处理办法
时间:2024年01月31日
/来源:网络
/编辑:佚名
商城建站考虑用ECSHOP,其实选用什么软件不重要,重要的是资源多就行,不然再好用没人研究也是浪费精力。网上有许多免费的模板,对要求不算高的用户来说,已经足够了。
首先下载的模板如果只包含 /themes/模板,那么恭喜你,这样的模板99%有问题,不是这里调用不出来就是那里有代码错误。
免费的模板自然存在许多问题,对新手来说是比较伤脑筋,这当然也包括笔者在内...遇到过首页轮播图无法调用出来的错误没有?这里分享一下经验。
许多效果都可以采用SuperSlide进行整合,这里就不提供下载链接,直接搜就是了。笔者选择这个插件基本可以搞定现有的JS效果,引用也简单。ECSHOP轮播图默认的是flash,搜索引擎不抓取。有自定义播放器,这两者只可以选择其中一个。先把轮播图填写完之后,按下图切换至自定义。
1.用代码编辑器打开/index.php
找到
$smarty->display('index.dwt', $cache_id);
下面增加
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;
}
找到
$smarty->assign('auction_list',index_get_auction());// 拍卖活动
下面加上:
$smarty->assign('playerdb',get_flash_xml());// FLASHJS广告
2.用代码编辑器打开/index_ad.lbi,也可新建一个/index_ad2.lbi
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- {if $index_ad eq 'sys'} -->
<script type="text/javascript">
var swf_width=534;
var swf_height=200;
</script>
<script type="text/javascript" src="data/flashdata/{$flash_theme}/cycle_image.js"></script>
<!-- {elseif $index_ad eq 'cus'} -->
<!-- {if $ad.ad_type eq 0} -->
<a href="{$ad.url}" target="_blank"><img src="{$ad.content}" width="534" height="200" border="0"></a>
<!-- {elseif $ad.ad_type eq 1} -->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="534" height="200">
<param name="movie" value="{$ad.content}" />
<param name="quality" value="high" />
<embed src="{$ad.content}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="534" height="200"></embed>
</object>
<!-- {elseif $ad.ad_type eq 2} -->
<div id="picBox">
<ul id="show_pic" style="left:0;">
{foreach from=$playerdb item=item key=key}
<li><a href="{$item.url}" target="_blank"><img src="{$item.src}" alt="{$item.text}" /></a></li>
{/foreach}
</ul>
<ul id="icon_num">
{foreach from=$playerdb item=item name=picsitem key=key}
<li <!--{if $smarty.foreach.picsitem.iteration eq 1}-->class="active" <!--{/if}-->>{$item.text}</li>
{/foreach}
</ul>
</div>
{$ad.content}
<!-- {elseif $ad.ad_type eq 3} -->
<a href="{$ad.url}" target="_blank">{$ad.content}</a>
<!-- {/if} -->
<!-- {else} -->
<!-- {/if} -->
3.用编辑器打开/themes/模板/index.dwt
在</head>之前引入上传好的SuperSlide的js,具体的路径自己把握,我是放到根的js目录下,
<script type="text/javascript" src="/js/jquery1.42.min.js"></script>
<script type="text/javascript" src="/js/jquery.SuperSlide.2.1.1.js"></script>
4.后台设置
自定义选项里,选择广告类型为代码,粘贴的代码比许多帖子的要少得多,代码如下:
<script type="text/javascript">
jQuery(".slideBox").slide({mainCell:".bd ul",autoPlay:true});
</script>
给个全通栏的参考样式,个性的就自己写咯
.slideBox{width:100%;height:500px;overflow:hidden;position:relative;border:1px solid #ddd;}
.slideBox .hd{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1; }
.slideBox .hd ul{overflow:hidden;zoom:1;float:left;}
.slideBox .hd ul li{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff; cursor:pointer;}
.slideBox .hd ul li.on{background:#f00;color:#fff;}
.slideBox .bd{position:relative;height:100%;z-index:0;}
.slideBox .bd li{zoom:1;vertical-align:middle;}
.slideBox .bd img{width:100%;height:500px;display:block;}
总结
用下载的模板的时候一定要注意路径
首先下载的模板如果只包含 /themes/模板,那么恭喜你,这样的模板99%有问题,不是这里调用不出来就是那里有代码错误。
免费的模板自然存在许多问题,对新手来说是比较伤脑筋,这当然也包括笔者在内...遇到过首页轮播图无法调用出来的错误没有?这里分享一下经验。
许多效果都可以采用SuperSlide进行整合,这里就不提供下载链接,直接搜就是了。笔者选择这个插件基本可以搞定现有的JS效果,引用也简单。ECSHOP轮播图默认的是flash,搜索引擎不抓取。有自定义播放器,这两者只可以选择其中一个。先把轮播图填写完之后,按下图切换至自定义。
1.用代码编辑器打开/index.php
找到
$smarty->display('index.dwt', $cache_id);
下面增加
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;
}
找到
$smarty->assign('auction_list',index_get_auction());// 拍卖活动
下面加上:
$smarty->assign('playerdb',get_flash_xml());// FLASHJS广告
2.用代码编辑器打开/index_ad.lbi,也可新建一个/index_ad2.lbi
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- {if $index_ad eq 'sys'} -->
<script type="text/javascript">
var swf_width=534;
var swf_height=200;
</script>
<script type="text/javascript" src="data/flashdata/{$flash_theme}/cycle_image.js"></script>
<!-- {elseif $index_ad eq 'cus'} -->
<!-- {if $ad.ad_type eq 0} -->
<a href="{$ad.url}" target="_blank"><img src="{$ad.content}" width="534" height="200" border="0"></a>
<!-- {elseif $ad.ad_type eq 1} -->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="534" height="200">
<param name="movie" value="{$ad.content}" />
<param name="quality" value="high" />
<embed src="{$ad.content}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="534" height="200"></embed>
</object>
<!-- {elseif $ad.ad_type eq 2} -->
<div id="picBox">
<ul id="show_pic" style="left:0;">
{foreach from=$playerdb item=item key=key}
<li><a href="{$item.url}" target="_blank"><img src="{$item.src}" alt="{$item.text}" /></a></li>
{/foreach}
</ul>
<ul id="icon_num">
{foreach from=$playerdb item=item name=picsitem key=key}
<li <!--{if $smarty.foreach.picsitem.iteration eq 1}-->class="active" <!--{/if}-->>{$item.text}</li>
{/foreach}
</ul>
</div>
{$ad.content}
<!-- {elseif $ad.ad_type eq 3} -->
<a href="{$ad.url}" target="_blank">{$ad.content}</a>
<!-- {/if} -->
<!-- {else} -->
<!-- {/if} -->
3.用编辑器打开/themes/模板/index.dwt
在</head>之前引入上传好的SuperSlide的js,具体的路径自己把握,我是放到根的js目录下,
<script type="text/javascript" src="/js/jquery1.42.min.js"></script>
<script type="text/javascript" src="/js/jquery.SuperSlide.2.1.1.js"></script>
4.后台设置
自定义选项里,选择广告类型为代码,粘贴的代码比许多帖子的要少得多,代码如下:
<script type="text/javascript">
jQuery(".slideBox").slide({mainCell:".bd ul",autoPlay:true});
</script>
给个全通栏的参考样式,个性的就自己写咯
.slideBox{width:100%;height:500px;overflow:hidden;position:relative;border:1px solid #ddd;}
.slideBox .hd{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1; }
.slideBox .hd ul{overflow:hidden;zoom:1;float:left;}
.slideBox .hd ul li{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff; cursor:pointer;}
.slideBox .hd ul li.on{background:#f00;color:#fff;}
.slideBox .bd{position:relative;height:100%;z-index:0;}
.slideBox .bd li{zoom:1;vertical-align:middle;}
.slideBox .bd img{width:100%;height:500px;display:block;}
总结
用下载的模板的时候一定要注意路径
新闻资讯 更多
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法