2014年9月22日月曜日

MagentoのOnePageCheckoutの注文するボタンが動作しなかったら

【不具合の現象】
注文するボタンをクリックAjax処理ダイアログが表示される。
ダイアログが消えても画面遷移しない。


http://www.magentocommerce.com/boards/viewthread/610464/P15/
このページを参考にしてみて下さい。
恐らくCSRF対策のform-keyが付与されていないためかと。

Magento1.9のOnePageCheckoutで不具合?

チェックアウト手続きが先に進まない問題があった。

【不具合の現象】
支払い方法が表示されない

Ajaxの通信結果を見てもデータを読み込んで来てはいる。
なのに表示されない。

いろいろ調べた結果、
idがなかったことが原因だったようです。

       ↓このidを追加したら表示されるようになりました。
<fieldset id="checkout-payment-method-load">    <?php echo $this->getChildHtml('methods') ?></fieldset>

2014年9月11日木曜日

Magentoの商品購入ページの個数選択をテキストフィールドからドロップダウンにする

ユーザが商品個数を入力するのは面倒になるので、
ドロップダウンで選択するようにする。

app/design/frontend/[namespace]/[package]/template/catalog/product/view/addtocart.phtml

下記赤字でコメントアウトしている部分がもともとテキストフィールド入力のためのコード。
<!--        <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />-->
        <select name="qty" id="qty" title="<?php echo $this->__('Qty') ?>">
        <?php
          for ($i = 1; $i <= 5; $i++) {
            if ($this->getProductDefaultQty() == $i) {
           echo "<option value='$i' selected='selected'>$i</option>";
            } else {
           echo "<option value='$i'>$i</option>";
            }
          }
        ?>
青字のようにselectに変えてあげるとドロップダウンになります。

もっといい方法があったらおしえてください。

2014年9月3日水曜日

Magentoで商品詳細ページに商品タグのタブを非表示にする方法

商品についているタグを表示しないという時画像のように「商品のタグ」というタブは邪魔。

この「商品のタグ」を非表示にしたい!!

最初catalog.xmlの166行付近のcatalog_product_viewセクションにある、

<block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
                    <action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action>
                    <action method="addTab" translate="title" module="catalog"><alias>upsell_products</alias><title>We Also Recommend</title><block>catalog/product_list_upsell</block><template>catalog/product/list/upsell.phtml</template></action>
                    <!--<action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action>-->
これをコメントアウトして消えるかと思いきや消えない。困った。

他にもどっかでaddTabを実行しているXMLがあるのかと探してみたところ、
tag.xmlの66行目付近で以下のように書かれていました。
    <catalog_product_view translate="label">
        <label>Catalog Product View</label>
         <!-- Mage_Tag -->
         <!--<reference name="product.info.tabs">
            <action method="addTab" translate="title" module="tag"><alias>product.tags</alias><title>Product Tags</title><block>tag/product_list</block><template>tag/list.phtml</template></action>
        </reference>-->
        <reference name="product.tags">
            <block type="page/html_wrapper" name="product.tag.list.list.before" as="list_before" translate="label">
                <label>Tags List Before</label>
                <action method="setMayBeInvisible"><value>1</value></action>
            </block>
        </reference>
    </catalog_product_view>

赤字のようにコメントアウトしてキャッシュを消すとタブが表示されなくなりました。
めでたし。