我正在尝试将一个小的innerhtml函数添加到Magento的顶部链接。我没有隐藏文本链接,而是隐藏了文本(“我的帐户”,“我的愿望清单”,“我的购物车”,“登录/注册”)并为其提供了图像。
见下图。
我要做的是,当您将鼠标悬停在其中一个顶部链接按钮上时,您会在按钮旁边的div中的某个位置获得该顶部链接的相应标签/名称。因此,如果您将鼠标悬停在“我的购物车”链接/按钮上,您会在相应的div中看到“我的购物车”文字。
技术问题是不是 innerhtml部分,因为我知道innerhtml是如何工作的。我的问题是:我在哪里以及如何实现innerhtml代码的各个部分以使其适用于所有4个顶部链接?
(基本上,将这些文字链接制作成图像链接并不重要,但这样你就不会问自己“他为什么要这样做?”。)
我尝试过将部件添加到
的MyStore \应用\设计\前端\基\默认\模板\页面\模板\ links.phtml
或(从不两者)
的MyStore \应用\设计\前端\基\默认\模板\页面\模板\ 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 :(得分:0)
为什么不简单:
<a href="#"
title="<?php echo htmlspecialchars($this->getTitle()); ?>"
onmouseover="changeDescription(this.title)">
...</a>
请注意,您在changeDescsription函数中的content
和inhoud
之间存在不匹配。