Magento yapılandırılabilir bir öğeye URL almak nasıl?

1 Cevap php

Ben magento kullanan ve bir ürün bulucu oluşturma. mystore.com/bedding-sheets: Ben bir yapılandırılabilir madde örnek bağlayabilirsiniz bir yolu var mı

mystore.com/bedding-sheets?attribute496=1 (bu durumda değil hariç): Ben bağlantı belki olduğunu düşünürdüm 250 * 250cm olan tabakaya bir arkadaşım bir link göndermek istiyorum Diyelim

<dl class="last">
    <dt><label>Size<span class="required"> *</span></label></dt>
     <dd class="last">
     <select class="required-entry super-attribute-select" id="attribute496" name="super_attribute[496]">
      <option value="">Choose option...</option>
      <option value="4">200*200cm</option>
      <option value="3">200*230cm</option>
      <option value="2">200*250cm</option>
      <option value="1">250*250cm</option></select>
    </dd>
</dl>

Böyle bir bağlantı oluşturmak mümkün olmadığını herkes biliyor musun?

EDIT: Yani i /checkout/cart/add?product=47&qty=1&super_attribute[496]=4 kullanarak benim sepetinize bir öğe eklemek için öğrenmek mümkün oldu

Ben kullanıcı öğenin bir önizlemesini almak istiyorum ancak onlar yerine sadece sepeti içine damping alacaksınız.

1 Cevap

Bu Magento değişiklik yapmadan bunu yapmak mümkün değil.

Şimdi url bir seçme kutusu seçili seçeneklerini önceden tanımlamayı istedim varsayalım:

İlk blok üzerine gerek * Mage_Catalog_Block_Product_View_Options_Type_Select *. (Ben zaten kendi modülü oluşturduk olduğunu varsayalım - Ben değil var ve bu bana bildirin yardıma ihtiyacım var)

Bunu yapmak için size config.xml bu girdiyi eklemeniz gerekir:

<config>
    <global>
    	<blocks>
    		<catalog>
    			<rewrite>
    				<product_view_options_type_select>YourCompany_YourModuleName_Product_View_Options_Type_Select</product_view_options_type_select>
    			</rewrite>
    		</catalog>
    	</blocks>
    </global>
</config>

Sonraki * Mage_Catalog_Block_Product_View_Options_Type_Select * uzatmak için ihtiyacı olan * YourCompany_YourModuleName_Product_View_Options_Type_Select * sınıf ekleyin.

Bu sınıfta artık işlevini getValuesHtml() üzerine gerekir. Başlamak için size uzanan konum sınıfından kopyalamak gerekir.

Bu fonksiyonu bu bulmalısınız foreach:

    foreach ($_option->getValues() as $_value) {
        $priceStr = $this->_formatPrice(array(
            'is_percent' => ($_value->getPriceType() == 'percent') ? true : false,
            'pricing_value' => $_value->getPrice(true)
        ), false);
        $select->addOption(
            $_value->getOptionTypeId(),
            $_value->getTitle() . ' ' . $priceStr . ''
        );
    }

Bundan sonra ekleyin:

$standardValue = $this->getRequest()->getParam($_option->getid());
//Mage::log("Option Name: "$_option->getid());
$select->setValue($standardValue);

Bu yapmak gerekir. Ne yazık ki şimdi bu hakkı test edemez. Yani sıkıntılar içine çalıştırmak varsa bana bildirin.

I'm not sure if the $_option->getid() is the right name for your parameter. But you could try to find that out if you comment in the one line I commented out for you in the code listing from above. In your Magento installation open the file var/log/system.log where the name of your url parameters should now appear.

Şimdi ne istediğini tam olarak ne yapabilirim url parametreleri isim biliyorum:? * Url / için / ürün option_id = value_id *

Ps: Biz yerine Magento çekirdekte doğrudan değişen yeni bir sınıf oluşturmak, neden kendinize sorarsanız: Biz Magento yeni bir sürüme güncelleme yaparken sorunları önlemek için bunu.

Ben yardımcı olabilir umuyoruz.