簡體   English   中英

Magento的皮膚URL“默認”替換為“主題”?

[英]Magento skin url 'default' replaced with 'theme'?

我在magento和header.phtml中使用了自定義主題,並使用了以下代碼:

<div class="logo">
    <a href="<?php echo $this->getUrl('') ?>">
        <img src="<?php echo $this->getSkinUrl('').'images/logo_white.gif'//$this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" />
    </a>
</div>   

首次加載主頁時,getSkinUrl給出了以下路徑:

http://site.address.com/skin/frontend/THEME/DEFAULT/images/logo_white.gif

但是,當我加載任何其他頁面時,我得到:

http://site.address.com/skin/frontend/THEME/THEME/images/logo_white.gif

我找不到為什么不在任何地方都無法更改皮膚路徑的原因。 唯一的不同是,我們有一種效果,可以在徽標的基礎上疊加一個徽標以更改顏色:

<?php if ($this->getIsHomePage()):?>
<div class="back-header">
    <div class="logo">
        <a href="<?php echo $this->getUrl('') ?>">
            <img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" />
        </a>
    </div>
</div>
<?php endif;?>

但這是以前工作的嗎?

讓我知道你們的想法。 謝謝!

在管理System(Menu) -> Configuration -> General(Sidebar) -> Design -> Header(Section) -> Logo Image Src設置URL。 並確保您的主題定義了此定義,否則在您的定義不存在的地方將發生Magento后備。 然后將硬編碼的鏈接還原回$this->getLogoSrc()

我不知道這是否可以回答您的問題,但可以解決您的問題。
絕對不要將getSkinUrl()與空參數一起使用。
所以代替這個:

echo $this->getSkinUrl('').'images/logo_white.gif'

采用

echo $this->getSkinUrl('images/logo_white.gif');

Magento在當前主題中尋找指定的路徑。 如果找到它,則將URL返回到資源。 如果沒有,它將查找您設置為默認主題的主題,如果不存在,它將從base/default返回該資源的url,而忽略該資源是否存在。

[編輯] 我可能也有一個想法,為什么您在不同的頁面上獲得不同的值。
header.phtml中,徽標的代碼應分為2部分。 一個用於主頁,另一個用於其余頁面。 也許您只修改了一個。

<?php if ($this->getIsHomePage()):?> <-- for homepage-->
    <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
<?php else:?><-- for the rest of the pages-->
    <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
<?php endif?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM