随笔 - 432  文章 - 0  评论 - 15  阅读 - 63万

ecshop怎么以幻灯版调用首页主广告显示

今天在做一个商品网站我使用的是一套现成的ecshop模板了,这套模板下载下来多半是可以使用的,但是我发现第一屏的首页广告一直是不显示我想了很多办法都不显示了,后来一站长告诉我如何解决,下面我就来介绍ecshop调用flash广告的实现方法。
 

我的默认的是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;
}
复制代码

 

posted on   狼来了  阅读(631)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2014-12-25 多线程,线程池与BeginInvoke()
2014-12-25 C#线程 BeginInvoke和EndInvoke使用方法
2014-12-25 看看BeginInvoke的用法,亲爱的们
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示