2012-04-22 1 views
0

私はフッタを列に整理する作業をしています。もちろん、Magentoの有能な開発者が志望するように、私はlocal.xml内で独占的に作業しています。 local.xmlでページ/ template_linksブロック内のリンク間にパイプ記号( '|')を削除/追加するにはどうすればよいですか?

、私はpage.xmlとcms.xmlでインスタンス化されているオリジナルの 'footer_links' と 'cms_footer_links' ブロックを削除しました。次に、私は 'footer'を参照して、2つのページ/ template_linksブロックをインスタンス化し、テンプレートを/theme/templates/page/template/links.phtmlのコピーだけであるが、それぞれ異なる名前の独自のカスタムphtmlファイルに割り当てます後で書式設定するために、これらのブロックに別々のCSSクラスを割り当てることができます)。

問題は、左の列のpage/template_linksブロックの3つのリンク「footer_col_links_left」にパイプ記号( '|')があることです。そして、の後で、私の2つのリンクのうち、2つのリンクの両方が、私のcms_footer_links2 cms /ブロックブロックで作成された後に、そのパイプシンボルがあります(不思議なことに、最後のアイテムでさえ末尾のパイプがあります。前述のtemplate_linksブロック)。

これらのパイプはどこから来ていますか?それらはテンプレートファイルによって明示的にエコーされず、最初のリンクではaddLinkアクションメソッドのすべての可能なパラメータを渡したが、変更はなかったのでデフォルトのafterTextが使用されているとは思われません。ここで

はコードです:

<default> 
    <remove name="footer_links"/> 
    <remove name="cms_footer_links"/> 

    <reference name="footer"> 
     <block type="page/template_links" name="footer_col_links_left" as="footer_links_left" template="page/template/column_links_left.phtml" before="-"> 
      <action method="addLink"><label>About Us</label><url>about-us</url><title>About Us</title><prepare>true</prepare><urlParams helper="core/url/getHomeUrl"/><position>1</position><liParams/><aParams/><beforeText/><afterText/></action> 
      <action method="addLink" module="contacts" ifconfig="contacts/contacts/enabled"><label>Contact</label><url>contacts</url><title>Contact Us</title><prepare>true</prepare></action> 
      <action method="addLink" translate="label title" module="catalog" ifconfig="catalog/seo/site_map"><label>Site Map</label><url helper="catalog/map/getCategoryUrl" /><title>Site Map</title></action> 
     </block> 
     <block type="page/template_links" name="footer_col_links_mid" as="footer_links_mid" template="page/template/column_links_mid.phtml"> 
     </block> 
     <block type="cms/block" name="cms_footer_links2"> 
      <!-- 
       The content of this block is taken from the database by its block_id. 
       You can manage it in admin CMS -> Static Blocks 
       Put Privacy Policy + Terms and Conditions here, call it "footer_links" in the backend 
      --> 
      <action method="setBlockId"><block_id>footer_links</block_id></action> 
     </block> 
     <block type="cms/block" name="cms_payment_logos"> 
      <!-- 
       The content of this block is taken from the database by its block_id. 
       You can manage it in admin CMS -> Static Blocks 
       Put credit card and Geotrust SSL logos here, call it "payment_logos" in the backend     
      --> 
      <action method="setBlockId"><block_id>payment_logos</block_id></action> 
     </block> 
    </reference> 
</default> 

はまた、ヘッダtop.linksの間にはパイプが存在しない、と私はXMLでそれらについて異なっているものを見ることができません。まあまあ、別のものがありますが、どのように動作するのか分かりません。それはpage.xml内でインスタンス化されたpage/template_linksブロックがテンプレートファイルに関連付けられていないということです( "footer_links"の定義方法のようなテンプレート= "/ page/block/template/links.php"はありません)。どうしたの? page/template_linksブロックに関連付けられたデフォルトのテンプレートはありますか?もしそうなら、が指定されたはどこですか?前もって感謝します!

+0

私は私の頭の上からあなたの質問のことは知らないが、あなたはテンプレートのパスのヒントを有効にすることができます> [ウェブサイトまたはストアを選択してください。そうでなければ表示されません] - > developer - > debug(この最後のものについてはわかりません)。特定のブロックに対してヒントが与えられていない場合は、親ブロックを調査して、そのブロックに関連するchildhtmlを取得する呼び出しを確認してください。 – sg3s

+0

ブロックをレンダリングするのに問題はありません。パイプシンボルがどこから来ているのかを知りたいのですが、すべてのリスト項目の間、時にはそれらのすべての後に、必ずしもそうではありません(別の質問です)。)私はそれらを取り除くことができます。 BTW、私はこれが関連しているとは思わないが、fyi、明らかにcmsブロックは何らかの理由でテンプレートのヒントを正当に表示しない(cms.xmlで定義されているデフォルトのfooter_linksブロックを参照)。 –

+2

これはCSSで行われている可能性があります。そこにパイプ文字があるのか​​、それとも実際にHTMLにあるのかをFirebugのようなもので確認しましたか? – CCBlackburn

答えて

2

これらのパイプは、CSSで設定されている:あなたが与えたデモ・リンクでは、この行です:

.footer li { display:inline; background:url(http://demo5.magemojo.com/skin/frontend/default/default/images/bkg_pipe2.gif) 100% 60% no-repeat; padding:0 7px 0 4px; } 
+0

aha!はい、ありがとう..私は愚かな気がしません!インスペクタモードではないときにDreamweaverの要素をクリックすると、インラインスタイルは外部CSSのその要素に定義されている基本ルールではなく、ルールパネルに表示されるため、Inspectorを使用して表示する必要があります。ツールのちょっと変わった話。まあ、うまくいけば、私の質問は、addLinksアクションメソッドを使用するための学習例として役立つことができます。ありがとうDave –

+0

あなたは何を知っています、これは結局のところ、ドリームウィーバーのバグが原因でした。私はファイル名が私のサイド・シャドウであることを知るためにメイン・コンテナ・クラスを探し回っていましたが、現在はインスペクタには表示されません!私はDWを閉じて再オープンしました。これで元の.footer liを含むすべての要素がInspectorのルールリストに正しく表示されます。うん! CS6を待つことはできません。 –

+0

Magentoでの作業にはDWを使用しないことを強く推奨します。 eclipseやnetbeansを試してみてください。とにかく、この問題のために私が必要としていたのは火かき棒でした。もしあなたがそれを使っていなければ、試してみてください。 – OSdave

関連する問題