0

私はフッターを列に整理する作業を行っています。もちろん、すべての有能な Magento 開発者が熱望するように、local.xml 内でのみ作業しています。

local.xml では、page.xml と cms.xml でインスタンス化された元の ' footer_links ' と ' cms_footer_links ' ブロックを削除しました。次に、'footer' を参照して 2 つのpage/template_linksブロックをインスタンス化し、それらのテンプレートを、/theme/templates/page/template/links.phtml の単なるコピーであるが互いに異なる名前の一意のカスタム phtml ファイルに割り当てます (これにより、後でフォーマットするために、これらのブロックに個別の css クラスを割り当てます)。

問題は、左側の列の page/template_links ブロック「footer_col_links_left」の 3 つのリンクの間に、パイプ記号 (' | ') があることです。そして、私の cms_footer_links2 cms/block ブロックで作成された 2 つのリンクの両方の後に、そのパイプ記号があります (奇妙なことに、最後の項目にも末尾のパイプがありますが、これは template_links ブロックの 3 番目/最後のリンクには当てはまりませんでした)上記の通り)。

これらのパイプはどこから来ているのですか?それらはテンプレート ファイルによって明示的にエコーされません。また、最初のリンクで 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 との違いがわかりません。それは、「top.links」(page.xml 内でインスタンス化された page/template_links ブロック) がテンプレート ファイルに関連付けられていないことです。 (「footer_links」がどのように定義されたかのような template="/page/block/template/links.php" はありません)。どうしたの?page/template_links ブロックに関連付けられたデフォルトのテンプレートはありますか? もしそうなら、それはどこ指定されていますか?前もって感謝します!

4

1 に答える 1

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; }
于 2012-04-22T09:17:36.027 に答える