0

だから、私はいくつかのMagentoコードに亀裂を入れ始めています。ショッピング カート ページで送料を計算するコードを追跡しようとしています。というファイルを見ていshipping.phtmlます/your_theme/template/checkout/cart/

郵便番号入力ボックス:

            <li>
                <label for="postcode"<?php if ($this->isZipCodeRequired()) echo ' class="required"' ?>><?php if ($this->isZipCodeRequired()) echo '<em>*</em>' ?><?php echo $this->__('Zip/Postal Code') ?></label>
                <input class="input-text validate-postcode<?php if ($this->isZipCodeRequired()):?> required-entry<?php endif;?>" type="text" id="postcode" name="estimate_postcode" value="<?php echo $this->htmlEscape($this->getEstimatePostcode()) ?>" />
            </li>

送料計算ボタン:

        <div class="buttons-set">
            <button type="button" onclick="coShippingMethodForm.submit()" class="button"><span><span><?php echo $this->__('Get a Quote') ?></span></span></button>
        </div>

Javascript:

<script type="text/javascript">
//<![CDATA[
    var coShippingMethodForm = new VarienForm('shipping-zip-form');
    var countriesWithOptionalZip = <?php echo $this->helper('directory')->getCountriesWithOptionalZip(true) ?>;

    coShippingMethodForm.submit = function () {
        var country = $F('country');
        var optionalZip = false;

        for (i=0; i < countriesWithOptionalZip.length; i++) {
            if (countriesWithOptionalZip[i] == country) {
                optionalZip = true;
            }
        }
        if (optionalZip) {
            $('postcode').removeClassName('required-entry');
        }
        else {
            $('postcode').addClassName('required-entry');
        }
        return VarienForm.prototype.submit.bind(coShippingMethodForm)();
    }
//]]>
</script>

さて、ここから先はわかりません。これがここからどこへ行くのかについて、誰かが私にいくつかのヒントを提供してもらえますか?

編集:

商品の重量を取り、USPS の送料を計算するコードを探していることを付け加えておきます。Usps.php という名前のファイルがこのレートを計算していると読んだことがありますが、コア ファイルを変更してもサイトでのコストの表示方法を変更できなかったので、それが本当に配送料を計算するコード。

4

1 に答える 1

1

これは送料を計算するコードではなく、リクエストを送信するフォームです。おそらく、そこから先に進む最も簡単な方法は、HTTP リクエストをスニッフィングしながら (つまり、ブラウザーの開発者ツールの [ネットワーク] タブを介して) フォームを送信し、リクエストの送信先を確認してから、その URL でリクエストを処理するコントローラーを見つけることです。

そのファイルで $this によって参照されているクラスを知りたい場合、おそらく最も信頼できる方法はget_class($this)、テンプレート内からエコーすることです。ただし、それはおそらく探しているものを見つけるための最も直接的な方法ではありません。

于 2012-06-16T00:54:42.993 に答える