2012-03-01 12 views
1

最近私はMagento 1.6.1で私のローカルの電子商取引会社で取った新しい立場に取り組み始めました。以前の経験はありますが、それは主にWordpressのものです。Magento Layoutsを使って作業する

私はMagentoを知っていて、それがどのように動作しているのか私の頭を包み込むことができますが、もちろん、まだハードルがあります。幸運にも私は十分な上司を持っているので、コードで手を汚すことができ、毎日本当に多くのことを学ぶことができます。

最近、レイアウトが私の新たな障害となっています。問題は私がコード内で作業していることです。これは、他の誰かが行ったこと、または他の人がコードを修正したことです。私はここの最初のウェブマスターではありません...

"bottom.phtml"ブロックを移動して "media.phtml"(製品イメージ/サムネイルがレンダリングされる場所)の下にレンダリングするのが難しいです。コードは以下の通りです:

<catalog_product_view translate="label"> 
    <label>Catalog Product View (Any)</label> 
    <!-- Mage_Catalog --> 
    <reference name="root"> 
     <action method="setTemplate"><template>page/1column.phtml</template></action> 
    </reference> 
    <reference name="head"> 
     <action method="addJs"><script>varien/product.js</script></action> 

     <action method="addJs"><script>virtualpaginate.js</script></action> 

     <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action> 
     <action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action> 
     <action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action> 

    </reference> 
    <reference name="content"> 
     <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml"> 
      <!-- 
      <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/summary.phtml</template></action> 
      <action method="addReviewSummaryTemplate"><type>short</type><template>review/helper/summary_short.phtml</template></action> 
      <action method="addReviewSummaryTemplate"><type>...</type><template>...</template></action> 
      --> 
      <block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/> 
      <block type="core/text_list" name="alert.urls" as="alert_urls" translate="label"> 
       <label>Alert Urls</label> 
      </block> 

      <action method="setTierPriceTemplate"><template>catalog/product/view/tierprices.phtml</template></action> 
      <block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/> 
      <block type="catalog/product_list_upsell" name="product.info.upsell" as="upsell_products" template="catalog/product/list/upsell.phtml"> 
       <action method="setColumnCount"><columns>4</columns></action> 
       <action method="setItemLimit"><type>upsell</type><limit>4</limit></action> 
      </block> 

      <block type="catalog/product_view_additional" name="product.info.additional" as="product_additional_data" /> 
      <block type="catalog/product_view_description" name="product.description" as="description" template="catalog/product/view/description.phtml"/> 
      <block type="catalog/product_view_attributes" name="product.attributes" as="additional" template="catalog/product/view/attributes.phtml"/> 
      <block type="catalog/product_view" name="product.info.addto" as="addto" template="catalog/product/view/addto.phtml"/> 
      <block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="catalog/product/view/addtocart.phtml"/> 

      <block type="catalog/product_view" name="product.info.options.wrapper" as="product_options_wrapper" template="catalog/product/view/options/wrapper.phtml" translate="label"> 
       <label>Info Column Options Wrapper</label> 
       <block type="core/template" name="options_js" template="catalog/product/view/options/js.phtml"/> 
       <block type="catalog/product_view_options" name="product.info.options" as="product_options" template="catalog/product/view/options.phtml"> 
        <action method="addOptionRenderer"><type>text</type><block>catalog/product_view_options_type_text</block><template>catalog/product/view/options/type/text.phtml</template></action> 
        <action method="addOptionRenderer"><type>file</type><block>catalog/product_view_options_type_file</block><template>catalog/product/view/options/type/file.phtml</template></action> 
        <action method="addOptionRenderer"><type>select</type><block>catalog/product_view_options_type_select</block><template>catalog/product/view/options/type/select.phtml</template></action> 
        <action method="addOptionRenderer"><type>date</type><block>catalog/product_view_options_type_date</block><template>catalog/product/view/options/type/date.phtml</template></action> 
      </block> 
        <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/> 
       </block> 
      <block type="catalog/product_view" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="catalog/product/view/options/wrapper/bottom.phtml" translate="label"> 
       <label>Bottom Block Options Wrapper</label> 
       <action method="insert"><block>product.tierprices</block></action> 
       <block type="catalog/product_view" name="product.clone_prices" as="prices" template="catalog/product/view/price_clone.phtml"/> 
       <action method="append"><block>product.info.addtocart</block></action> 
      </block> 

      <block type="core/template_facade" name="product.info.container1" as="container1"> 
       <action method="setDataByKey"><key>alias_in_layout</key><value>container1</value></action> 
       <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action> 
       <action method="append"><block>product.info.options.wrapper</block></action> 
       <action method="append"><block>product.info.options.wrapper.bottom</block></action> 
      </block> 
      <block type="core/template_facade" name="product.info.container2" as="container2"> 
       <action method="setDataByKey"><key>alias_in_layout</key><value>container2</value></action> 
       <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action> 
       <action method="append"><block>product.info.options.wrapper</block></action> 
       <action method="append"><block>product.info.options.wrapper.bottom</block></action> 
      </block> 
      <action method="unsetCallChild"><child>container1</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action> 
      <action method="unsetCallChild"><child>container2</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action> 
     </block> 
    </reference> 
    <reference name="right"> 
     <block type="catalog/product_list_related" name="catalog.product.related" before="-" template="catalog/product/list/related.phtml"/> 
    </reference> 
</catalog_product_view> 

私が言ったように、私が行くように今、私はそれは間違いなく私の優位性を与えられたの学位を、そして私のWordpressのthemeing知識と、Magentoのを学んでいます。しかし、これをデコードしようとすると、厳しいロードブロッキングがあることが判明しました。たぶん私はそれを分析するつもりはないが、私はちょうどここでいくつかの事の周りに私の頭を包むことはできません:1) "media.phtml"の左と製品オプションと "bottom.phtml"右? 2) "bottom.phtml"をオプションから分けるだけで、 "media.phtml"(製品イメージ)の下に移動してからスタイリングを始めることができますか?

私はマゼンタが大好きですが、人間はそれを拾うのが大変です。

あらゆる光を放つことができる、または確かなリソースを提供することができます誰にもありがとう!すべてのチュートリアル、私が見つけたリソースは素晴らしいですが、新しくインストールしたものを扱うので、あまりコードはありません。これで、私は他の誰かが正直に働いているコードを掘り下げています...私が知っていることは本当に悪いことかもしれません!

おかげで再び!

答えて

5

ほとんどのXMLファイルは、特定のブロックをテンプレートファイルで使用できるようにしています。

template/catalog/product/view.phtmlを見て、あなたがHTMLビットの多くを見ることができます(もちろん、すべてのルールにしてcore/text_listブロックまたは有効になりますんXMLの順番$this->getChildHtml('')を呼び出すテンプレートの場合は例外があります)線のようなものです...

<?php echo $this->getChildHtml('media') ?> 

...これはブロックの配置方法です。今bottom.phtmlproduct_options_wrapper_bottomで使用されているが、そのブロックが、それはこのように出力されcontainer1container2ブロックに付加され、直接使用されていません。

<?php if ($_product->isSaleable() && $this->hasOptions()):?> 
    <?php echo $this->getChildChildHtml('container1', '', true, true) ?> 
<?php endif;?> 

あなたがやらなければならないことは、編集catalog/product/view.phtmlようにビットがダウンして低くなっていますページ。もちろん、基本テンプレートを直接編集するのではなく、サイトのテーマの同等のパスにそのファイルをコピーしてください。

Magentoのデフォルトのインストールでは、製品ビューのページはおそらく最も複雑なものであり、あなたのポジションを開始するには最適な場所です。おそらく、より良い場所はアラン・ストームのNo Frills Magento Layoutです。私はおそらく唯一それを推薦することはありません。

関連する問題