2010-11-23 4 views
2

Magentoのブレッドクラムをフォーマットした経験がある人はいないでしょうか?Magento - ブレッドクラムで「ホーム」を置き換えるには?

現在、「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>&gt;</span> 
      <?php endif; ?> 
      </li> 
     <?php endforeach; ?> 
    </ul> 
</div> 
<?php endif; ?> 

答えて

1

CSSを使用すると、実際にはそれほど価値のない戦いです。CSSの5行は、ブレッドクラムレンダラーをハックしようとするよりは簡単に問題を処理します。

2

これはapp/code/core/Mage/Cms/Block/Page.phpに設定されていると思います。 _prepareLayout()メソッドを見てください(私はmagento 1.3を使用していますので、少し古いかもしれません)。

更新するオプションがいくつかあります。

  1. ファイルを直接編集します。 (私の推薦ではなく、断食された方法)
  2. 自分のモジュールでクラスを上書きする
  3. テーマのtranslate.csvファイルを作成します。これは通常の状況下で言葉遣いを更新するのが好きな方法ですが、お茶のカップではないかもしれません。ですから、app/design/frontend/your_package/your_theme/locale/en_US/translate.csvに "Home"と "Presto"という新しい行を置くことができます。
  4. php/phtmlファイルの代わりにcssファイルを編集します。あなたがCSSで途中で経験したことがあれば、おそらくテキストのインデントを-2000emに設定し、背景イメージを設定することができます。
4

実際に、最初の「ホーム」がブレッドクラムに表示されないようにするには、CSSを邪魔したり、HTMLをきれいにしたりしないでください。

ただ、ルール追加条件であれば、同じように「を$ _ crumbInfo [ 『最初』]!」:

<?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

また、ホームリンクのみを確認するには(ブレッドクラムは他のモジュールから変更されている可能性があります)、$ _crumbName == 'home' – hesselbom

0

ちょうどあなたの翻訳したファイルたちを使って、このためのコードを記述する必要はありませんブレッドクラムで "ホーム"を変更することができます。このため

後藤あなたのテーマは - >ディレクトリ - > en_USのディレクトリを作成してロケールを作成 - > translate.csvを作成します。この中

単にコード

"ホーム"、 "あなたの選択" の下に書きます。

0

編集テーマのbreadcrumbs.phtmlファイル:

/アプリ/設計/フロントエンド/ [YOUR_THEME] /デフォルト/テンプレート/ページ/ HTML /パン粉。PHTML

あなたがイメージとホームクラムを交換する場合:あなたは私が必要なものである、完全にホームクラムを削除したい場合は

<?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> 

<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?> 
    <?php if ($_crumbInfo['first']) continue ?> 
    <li class="<?php echo $_crumbName ?>"> 
    <?php if($_crumbInfo['link']): ?> 
関連する問題