所以,我開始對一些Magento代碼進行破解。我試圖追蹤計算購物車頁面上的運費的代碼。我正在查看/your_theme/template/checkout/cart/
中名爲shipping.phtml
的文件。Magento:跟蹤和調試其PHP代碼
郵政編碼輸入框:
<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的文件是計算這個速度的,但是我無法改變網站上顯示的代價,即使核心文件被修改了,所以我想知道我自己的確是計算運費的代碼。
'[magento]/app/code /'目錄中的某些內容,但您想實現什麼目標?你想從我們這裏得到一個有用的答案,你對此非常模糊。 – sg3s
安裝xdebug(在開發服務器上),將調試器指向它,將它設置爲在開始時中斷,並快速單擊「下一個」,直到找到壞男孩。 – Wrikken