सरल उत्पादों के लिए कस्टम विकल्प की डिफ़ॉल्ट स्थिति


11

मेरे पास चेकबॉक्स के कस्टम विकल्पों के साथ उत्पादों की एक श्रृंखला है। हालाँकि मैं उत्पाद के सेटअप से उस विशेष विकल्प की डिफ़ॉल्ट स्थिति को सेट नहीं कर सकता।

मुझे डिफ़ॉल्ट रूप से कम से कम एक चेकबॉक्स (विकल्प) की आवश्यकता है क्योंकि उपयोगकर्ता उत्पाद पृष्ठ पर प्रवेश करता है / श्रेणी पृष्ठ पर कार्ट में जोड़ता है।

क्या यह Magento प्रशासन से उल्लेखनीय है या क्या इसे कुछ अतिरिक्त विकास की आवश्यकता होगी (यदि ऐसा कैसे किया जा सकता है)?


कैन्ट आपने अभी कैटलॉग के तहत "डिफॉल्ट" सेट किया है -> मैनेज एट्रिब्यूट्स -> "योर अट्रैक्शन" -> लेबल / विकल्प प्रबंधित करें -> अपने डिफॉल्ट ऑप्शन के ठीक बगल में .... या यदि आप इनपुट टाइप का उपयोग करते हैं "हाँ / नहीं" तो आप विशेषता गुणों के तहत डिफ़ॉल्ट मान सेट कर सकते हैं
स्टीफन ग्रेगोरी

दरअसल अभी जो विकल्प हैं, वे एडमिन में उत्पाद पृष्ठ से "कस्टम विकल्प" के साथ सेट किए गए हैं। आपका सुझाव यह है कि उत्पाद विशेषताओं में परिवर्तित करें? क्या यह उत्पाद की कीमत के लिए समान व्यवहार रखेगा?
माइक

जवाबों:


16

मुझे नहीं पता कि क्या एक एक्सटेंशन की सिफारिश करना एक वैध उत्तर के रूप में गिना जाता है (एक इनाम के साथ एक प्रश्न के लिए), लेकिन किसी ने यहां दावा किया है कि उसने एक एक्सटेंशन लिखा है, जो वास्तव में आपकी आवश्यकता है। एक्सटेंशन यहां से डाउनलोड किया जा सकता है । मैंने इसका परीक्षण नहीं किया है, लेकिन जैसे ही मैं करता हूं, मैं पोस्ट करूंगा और अपडेट करूंगा। मैंने केवल कोड के माध्यम से देखा और इसमें बहुत कुछ है। मैंने 2 फाइलों के बाद रुचि खो दी। आशा है कि ये आपके काम आएगा।

[संपादित करें]
मुझे मेरी रुचि वापस मिल गई है। मैंने पर विस्तार का परीक्षण किया और यह (लगभग) काम करता है।
यदि आप इसे डेवलपर मोड के साथ उपयोग करते हैं तो आपको कुछ त्रुटियां मिलेंगी। यहाँ है कि आप इसे काम करने के लिए बदलने की जरूरत है।
में /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.phpलाइन 28 पर वहाँ यह है:

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

यह एक 'अपरिभाषित सूचकांक' चेतावनी दिखाता है। इससे बचने के लिए, इसे एक ifबयान में लपेटें ।

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

में /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.phpलाइन 129 पर वहाँ यह है:

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

$values हो सकता है अशक्त हो इसलिए इस कोड को बदलें:

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

अब यह काम करना चाहिए।
अब कुछ समीक्षा।

  1. प्रो । ड्रॉपडाउन और रेडियो कस्टम विकल्पों के लिए पूरी तरह से काम करता है
  2. नपुंसक । कई चुनिंदा और चेकबॉक्स कस्टम विकल्पों के लिए काम करता है। आप उपलब्ध मानों के लिए केवल एक मान का चयन कर सकते हैं।
  3. असुविधाजनक लेकिन मैं इसे अनदेखा कर सकता हूं। डिफ़ॉल्ट मान सेट करने के लिए आपको बैकएंड के किसी अन्य मेनू आइटम पर क्लिक करना होगा और सूची में अपने उत्पाद की तलाश करनी होगी।
  4. कोन । यह पाठ, textarea, दिनांक, डेटाटाइम, समय, फ़ाइल कस्टम विकल्पों के लिए काम नहीं करता है। लेकिन थोड़े काम के साथ इसे सभी प्रकार (शायद फ़ाइल को छोड़कर) के लिए सही ढंग से काम करने के लिए बदला जा सकता है।

1

Magento में डिफ़ॉल्ट नहीं है।

इस तरह से हासिल किया जा सकता है। आगे बढ़ने से पहले वापस लेने के लिए सबसे अच्छा है।

$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'
    )

); }

// मान लीजिए हम एक नया उत्पाद बना रहे हैं।

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

// या यदि हम पहले से निर्मित उत्पाद में विकल्प जोड़ रहे हैं।

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

// उत्पाद को बचाने के लिए मत भूलना

$product->save();

किसी उत्पाद के लिए कोड कस्टम विकल्प कैसे बनाएं, इस बारे में यह एक अच्छी व्याख्या है, लेकिन मुझे नहीं लगता कि यह सवाल का जवाब देता है। ओपी ने पूछा कि आप कस्टम विकल्पों के लिए डिफ़ॉल्ट मान कैसे सेट कर सकते हैं।
मेरियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.