我只是想知道是否有人在Magento格式化面包屑方面有任何经验?
我想将当前显示文本“HOME”的链接替换为图像。
我认为用图片替换一些文本会很简单,但似乎'HOME'文本/链接是动态创建的,因为这就是breadcrumbs.phtml中的所有内容:
<?php if($crumbs && is_array($crumbs)): ?>
<div class="breadcrumbs">
<ul>
<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
<li class="<?php echo $_crumbName ?>">
<?php if($_crumbInfo['link']): ?>
<a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a>
<?php elseif($_crumbInfo['last']): ?>
<strong><?php echo $this->htmlEscape($_crumbInfo['label']) ?></strong>
<?php else: ?>
<?php echo $this->htmlEscape($_crumbInfo['label']) ?>
<?php endif; ?>
<?php if(!$_crumbInfo['last']): ?>
<span>></span>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
答案 0 :(得分:4)
事实上,您可以隐藏第一个“Home”,而不会出现在您的面包屑中,而不会弄乱CSS并保持HTML清洁。
只需将规则“!$ _ crumbInfo ['first'] ”添加到if条件中,就像:
<?php if ($crumbs && is_array($crumbs)): ?>
<?php foreach ($crumbs as $_crumbName => $_crumbInfo): ?>
<?php if ($_crumbInfo['link'] && !$_crumbInfo['first']): ?>
<a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a>
<?php elseif ($_crumbInfo['last']): ?>
<?php echo $this->htmlEscape($_crumbInfo['label']) ?>
<?php elseif (!$_crumbInfo['first']): ?>
<?php echo $this->htmlEscape($_crumbInfo['label']) ?>
<?php else: ?>
<?php endif; ?>
<?php if (!$_crumbInfo['last'] && !$_crumbInfo['first']): ?>
»
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
答案 1 :(得分:2)
我认为这是在app / code / core / Mage / Cms / Block / Page.php中设置的。查看_prepareLayout()方法(我使用的是magento 1.3,所以这可能有点过时了)。
我看到你有几个选项需要更新。
答案 2 :(得分:1)
使用CSS,这是一场不值得的斗争:) 5行CSS将比试图破解面包屑渲染器更容易解决这个问题。
答案 3 :(得分:0)
无需为此编写任何代码,只需使用我们可以更改的翻译文件&#34; Home&#34;在面包屑中。
为此:
转到您的主题 - &gt;创建语言环境目录 - &gt;创建en_us目录 - &gt;创建translate.csv。
在这里只写下面的代码
&#34; Home&#34;,&#34;您的选择&#34;。
答案 4 :(得分:0)
修改主题的breadcrumbs.phtml文件:
/应用/设计/前端/ [YOUR_THEME] /default/template/page/html/breadcrumbs.phtml
如果您想用图像替换Home crumb:
<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
<li class="<?php echo $_crumbName ?>">
<?php if($_crumbInfo['first']): ?>
<a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>">
<img src="/your/image/path.png"/>
</a>
<?php elseif($_crumbInfo['link']): ?>
<a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a>
如果你想完全删除Home crumb,那就是我需要的东西:
<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
<?php if ($_crumbInfo['first']) continue ?>
<li class="<?php echo $_crumbName ?>">
<?php if($_crumbInfo['link']): ?>