2014-01-13 52 views
0

我使用的Magento和我header.phtml自定義主題,用下面的代碼:Magento皮膚網址'默認'取代'主題'?

<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;?> 

不過那是以前的工作?

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

回答

0

我不知道這是否回答你的問題,但它可能會解決你的問題。
你永遠不要使用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?> 
+0

謝謝,但我曾經使用過一個空的getSkinUrl(),並沒有指定「其他」,它已經工作。很奇怪。 – user3179784

+0

也許你只是幸運。 :)無論如何,你不應該使用一個空參數的方法。 – Marius

1

在管理System(Menu) -> Configuration -> General(Sidebar) -> Design -> Header(Section) -> Logo Image Src中設置URL。並確保你的主題定義了這一點,否則Magento會在你的定義不存在的地方出現。然後恢復硬編碼的鏈接回到$this->getLogoSrc()