我在盡我所能按照他們希望的方式編輯Magento設計(使用local.xml而不是編輯page.xml),但是系統是如此可怕和令人費解,它證明這樣做非常棘手。無法移動Magento中的top.links(topLinks)塊
我現在的問題是,我似乎無法將「top.links」塊移動到標題中的另一個塊中。目前在page.xml中,該塊位於標題塊內。我已經嘗試過在我的local.xml中完成所有工作,我嘗試了以下編輯。
從標題刪除top.links,添加「Hud」塊內。
<layout version="0.1.0">
<default>
<!-- Here is where we edit the header block -->
<reference name="header">
<remove name="top.links" />
<remove name="top.search" />
<!-- This is the block that holds the HUD -->
<block type="page/html" name="hud" as="hud" template="page/html/hud.phtml">
<block type="page/template_links" name="top.links" as="topLinks" />
</block>
</reference>
</default>
</layout>
注意的環節應該是棕色的盒子裏(這是HUD塊)。
NOT去除報頭中的top.links塊,但加入到鐵漢塊
<layout version="0.1.0">
<default>
<!-- Here is where we edit the header block -->
<reference name="header">
<remove name="top.search" />
<!-- This is the block that holds the HUD -->
<block type="page/html" name="hud" as="hud" template="page/html/hud.phtml">
<block type="page/template_links" name="top.links" as="topLinks" />
</block>
</reference>
</default>
</layout>
基於top.links的代碼創建新鏈接的模板,在提到這個HUD的塊如下。
<layout version="0.1.0">
<default>
<!-- Here is where we edit the header block -->
<reference name="header">
<remove name="top.links" />
<remove name="top.search" />
<!-- This is the block that holds the HUD -->
<block type="page/html" name="hud" as="hud" template="page/html/hud.phtml">
<block type="page/template_links" name="hud.links" as="hudLinks" template="page/template/hudLinks.phtml"/>
</block>
</reference>
</default>
</layout>
下面是hud.phtml
<!-- hud.phtml -->
<div id="hud">
<h3>Welcome</h3>
<?php echo $this->getChildHtml('hudLinks') ?>
<?php echo $this->getChildHtml('top.search') ?>
</div>
這帶來的最有趣的結果。我可以看到模板已找到,但沒有顯示。
我真的很無能與此有關。我在這裏做了完全錯誤的事嗎?對於它的價值,這裏是我用於hudLinks.phtml和top.links模板的代碼。
<?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): ?>
<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 endforeach; ?>
</ul>
<?php endif; ?>
如果是你自己的主題,我看不到編輯'page.xml'的問題。 – clockworkgeek 2010-12-15 17:57:04
我已經開始的主題基本上使用了Magento基礎中的page.xml文件。我試着用我自己主題的佈局文件夾中的page.xml文件覆蓋這個,但它似乎沒有工作。感謝您的答覆。 – 2010-12-16 09:07:20