Magento のトップ リンクに小さな innerhtml 関数を追加しようとしています。デフォルトのテキスト リンクの代わりに、テキスト (「マイ アカウント」、「マイ ウィッシュリスト」、「マイ カート」、「ログイン/登録」) を非表示にして、画像を表示しました。
下の画像を参照してください。
私がやろうとしているのは、トップリンクボタンの1つにカーソルを合わせると、ボタンの隣のdivのどこかにあるそのトップリンクの適切なラベル/名前を取得することです. したがって、「マイ カート」リンク/ボタンにカーソルを合わせると、対応する div に「マイ カート」というテキストが表示されます。
innerhtml の仕組みは知っているので、技術的な問題はinnerhtml の部分ではありません。私の質問は: 4 つのトップリンクすべてで正しく動作するように、innerhtml コードの一部をどこにどのように実装すればよいですか?
(基本的に、これらのテキスト リンクを画像リンクにすることは問題ではありませんが、これは、「なぜ彼はそうしたいのか?」と自問しないようにするためです。)
私が試したのは、パーツを追加することです
mystore\app\design\frontend\base\default\template\page\template\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>
リストとそのリスト項目がめちゃくちゃになります。
psこれらの「ボタン」は醜いです、私は知っています。一時的なものです(;_;)
編集:
私の最善の試みは(私が他のさまざまなことの中で)おそらく、次のように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>
ます。