2012-12-05 145 views
1

我想添加一個小的innerhtml函數到Magento的頂部鏈接。我隱藏了文本(「我的帳戶」,「我的願望清單」,「我的購物車」,「登錄/註冊」)並給他們發送圖像,而不是默認的文本鏈接。將innerhtml添加到頂部鏈接

看到下面的圖片。

innerhtml-on-toplink-hover

我想要做的是,當你將鼠標懸停在上面的鏈接按鈕中的一個,你在一個div某處拿到頂部鏈接的適當的標籤/名稱的按鈕旁邊。因此,如果您將鼠標懸停在「我的購物車」鏈接/按鈕上,即可在相應的div中看到文字「我的購物車」。

技術問題是不是 innerhtml部分,因爲我知道innerhtml是如何工作的。我的問題是:我在哪裏以及如何實現內部代碼片段,以便它能夠正確地適用於所有4個toplinks?

(基本上,它其實並不重要,這些文本鏈接被做成圖片鏈接,但是這是這樣你就不會問自己:「他爲什麼要這麼做?」)。


我已經試過是將部件添加到

的MyStore \程序\設計\前臺\基地\ DEFAULT \模板\網頁\模板\ links.phtml

或(永遠都)

mystore \ app \ design \ frontend \ base \ default \ template \ page \ template \ linksblock.phtml。 我用下面的代碼片段:

<script type="text/javascript"> function changeDescription(content) { document.getElementById('description').innerHTML = content; } </script>

<a href="#" onmouseover="changeDescription('<?php echo $this->getTitle() ?>')"> <!-- I also tried getLabel() instead of getTitle() -->

<div id="description"> lorem ipsum </div>

並試圖把在不同的地方在這些文件中(另發),但無論我把代碼,它攪亂了<ul>列表及其列表項。


p.s.我知道這些'按鈕'很醜。這只是暫時)


編輯:

我最好的嘗試(在其他不同的東西我),很可能是把它放在links.phtml這樣的:

<script type="text/javascript"> function changeDescription(content) { document.getElementById('description').innerHTML = content; } </script> 
<div id="description"> lorem ipsum </div> 
<?php $_links = $this->getLinks(); ?> 
<?php if(count($_links)>0): ?> 
<ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>> 
    <?php foreach($_links as $_link): ?> 
    <a href="#" title="<?php echo htmlspecialchars($this->getLabel()); ?>" onmouseover="changeDescription(this.title)"> 
     <?php if ($_link instanceof Mage_Core_Block_Abstract):?> 
      <?php echo $_link->toHtml() ?> 
     <?php else: ?> 
      <li<?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li> 
     <?php endif;?> 
     </a> 
    <?php endforeach; ?> 
</ul> 
<?php endif; ?> 

但無濟於事。無論我做什麼,它都會破壞<ul>內容的結構。

回答

0

爲什麼不乾脆:

<a href="#" 
    title="<?php echo htmlspecialchars($this->getTitle()); ?>" 
    onmouseover="changeDescription(this.title)"> 
...</a> 

注意,你已經得到了contentinhoud之間的不匹配您的changeDescsription功能。

+0

謝謝,我會嘗試。 – poepje

+0

哦,是的,'inhoud'是荷蘭語'內容',我忘了在這裏改變它,但是我沒有在實際使用的代碼中的不匹配;)我將編輯問題 – poepje

+1

到目前爲止仍然沒有運氣,我只是不能找出把代碼片放在哪裏。查看我的問題中的更新。 – poepje