basit ürünler için varsayılan özel seçenek durumu


11

Onay kutusu özel seçeneklerine sahip bir dizi ürünüm var. Ancak, ürünün kurulumundan söz konusu seçeneğin varsayılan durumunu ayarlayamıyorum.

Kullanıcı ürün sayfasına girdiğinde / kategori sayfasından sepete eklediğinden, varsayılan olarak işaretlenecek onay kutularından (seçeneklerden) en az birine ihtiyacım var.

Bu Magento yönetiminden yapılabilir mi yoksa ekstra bir gelişme gerektirecek mi (eğer öyleyse bu nasıl yapılabilir)?


Katalog -> Öznitelikleri Yönet -> "Özniteliğiniz" -> Etiketi / Seçenekleri Yönet -> altında varsayılan seçeneğinizin hemen altında "varsayılan" olarak ayarlayamazsınız .... veya Giriş Türü'nü "evet / hayır" özellik özellikleri altında varsayılan değeri ayarlayabilir
Stefan Gregori

Aslında, şu anda seçenekler yönetici içindeki ürün sayfasından "Özel seçenekler" ile ayarlanmıştır. Öneriniz bunu ürün özelliklerine dönüştürmek mi? Ürün fiyatı için aynı davranışı sürdürür mü?
Mike

Yanıtlar:


16

Bir uzatma tavsiye geçerli bir cevap (bir lütuf ile bir soru için) sayılırsa bilmiyorum ama birisi burada tam olarak ihtiyacınız olanı yapan bir uzantı yazdığını iddia ediyor . Uzantı buradan indirilebilir . Test etmedim, ama en kısa sürede ben gönderip güncelleyeceğim. Sadece kodu inceledim ve bir sürü var. 2 dosyadan sonra ilgimi kaybettim. Umarım senin için çalışır.

[EDIT]
İlgi alanımı geri aldım. Uzatmayı test ve (neredeyse) çalışıyor.
Üzerinde geliştirici modu ile kullanırsanız bazı hatalar alırsınız. İşte çalışması için değiştirmeniz gerekenler.
içinde /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.phphat 28 bu vardır:

$model->setData('value['.$option_id.']',$value[0]['option_type_id']);

Bu bir 'tanımsız dizin' uyarısı gösterir. Bundan kaçınmak için bir ififadeye sarın .

if (isset($value[0])){
    $model->setData('value['.$option_id.']',$value[0]['option_type_id']);
}

Gelen /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.phphat 129 üzerinde bu vardır:

foreach ($values as $value) {
    $valuesArr[$value['option_type_id']]=$value['title'];
}

$values boş olabilir, bu nedenle kodu şu şekilde değiştirin:

if (is_array($values)){
    foreach ($values as $value) {
        $valuesArr[$value['option_type_id']]=$value['title'];
    }
}

Şimdi çalışmalı.
Şimdi biraz gözden geçirelim.

  1. PRO . Açılır menü ve radyo özel seçenekleri için mükemmel çalışır
  2. Neurtal . Birden çok seçme ve onay kutusu özel seçeneği için çalışır. Mevcut değerler için yalnızca bir değer seçebilirsiniz.
  3. Rahatsız edici ama göz ardı edebilirim. varsayılan değerleri ayarlamak için, arka uçta başka bir menü öğesini tıklamanız ve listede ürününüzü aramanız gerekir.
  4. Con . Metin, metin alanı, tarih, tarih, saat, dosya özel seçenekleri için çalışmaz. Ancak küçük bir çalışma ile tüm türler için doğru çalışmak üzere değiştirilebilir (belki dosya hariç).

1

Magento'da varsayılan değil.

Bu şekilde elde edilebilir. Devam etmeden önce geri almak en iyisidir.

$option = array(
    'title' => 'Your custom option title',  
    'type' => 'checkbox', // could be drop_down ,radio , multiple
    'is_require' => 1,
    'sort_order' => 0,
    'values' => getOptions()
    );

function getOptions(){
  return array(
     array(
       'title' => 'Option Value 1',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 1',
       'sort_order' => '1'
    ),
    array(
       'title' => 'Option Value 2',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 2',
       'sort_order' => '1'
    ),
  array(
       'title' => 'Option Value 3',
       'price' =>100,
       'price_type' => 'fixed',
       'sku' => 'any sku for 3',
       'sort_order' => '1'
    )

); }

// Yeni bir ürün oluşturduğumuzu varsayalım.

$product = Mage::getModel('catalog/product');
$product->setProductOptions(array($option));
$product->setCanSaveCustomOptions(true);

// Veya önceden oluşturulmuş bir ürüne seçenekler ekliyorsak.

$product = Mage::getModel('catalog/product')->load($id);
$product->setProductOptions(array($option));
$product->setCanSaveCustomOptions(true);

// Ürünü kaydetmeyi unutmayın

$product->save();

Bu, bir ürün için kod özel seçenekleriyle nasıl oluşturulacağı hakkında güzel bir açıklama, ancak soruyu cevapladığını sanmıyorum. OP, özel seçenekler için varsayılan değerleri nasıl ayarlayabileceğinizi sordu.
Marius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.