【问题标题】:Replace an img src value based on a referring URL's query string根据引用 URL 的查询字符串替换 img src 值
【发布时间】:2011-05-24 19:54:44
【问题描述】:

我有一个 Magento 商店,我想根据引用 URL 是否包含特定的查询字符串或查询字符串值 (adnetwork=as) 替换 img 的 src 值,如果不是简单地保留图像原样.

这样简单吗,我到处找答案,甚至在各种论坛上问也没有用。

这是我到目前为止所拥有的,似乎是正确的语法,只是 Firebug 报告它无法加载图像 URL,它只是显示“”。路径是正确的,并且已经过测试。

<?php

// Path for default image source
$logo = $this->getSkinUrl('images/logo.gif');

// Get the referrer url from the $_SERVER array, or false if it's empty
$referrer = empty($_SERVER['HTTP_REFERER']) ? false : $_SERVER['HTTP_REFERER'];

// If the referrer exists
if($referrer) {

    // parse the url for the query
    $query_str = parse_url($referrer, PHP_URL_QUERY);

    // If there's a query string
    if(!empty($query_str)) {
        // Parse it and put the array into $components
        parse_str($query_str, $components);

        // If the "adnetwork" component is set
        if(!empty($components['adnetwork'])) {
            // Set the $logo var to the adnetwork image source
            $logo = $this->getSkinUrl('images/logo-no-number.gif');
        }
    }
}

?>

<div class="header">

    <img class="shop24" src="<?php echo $this->getSkinUrl('images/shop-24.gif') ?>" alt="Shop Online 24 Hours a Day"/>

    <div class="shopping-bag"><?php echo $this->getChildHtml('topcart')?></div>

    <div id="fplogo"><a href="<?php echo $this->getUrl('') ?>" title="Sale Basins - Clickbasin.co.uk"><img src="<?php echo $logo; ?>" alt="Sale Basins - Clickbasin.co.uk" /></a></div>

    <img src="<?php echo $this->getSkinUrl('images/side_logo_promo.gif') ?>" alt="Promotion" class="side-logo-promo"/>

    <?php echo $this->getChildHtml('topMenu') ?>

    <?php //<?php echo $this->getLogoSrc() ?>

</div>

希望你能帮到大家。谢谢。

【问题讨论】:

    标签: php query-string referrer


    【解决方案1】:

    你不应该只是简单地回应$logo吗?您将图像分配给$logo,但您从未将任何内容设置为$logo

    【讨论】:

    • 我确实有 最初在图像源中,尽管这不起作用。只是不加载图像。
    • 实际上,如果您查看上面的代码,特别是
    • 你测试过代码是否通过if语句吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签