สถานะเริ่มต้นของตัวเลือกที่กำหนดเองสำหรับผลิตภัณฑ์ที่เรียบง่าย


11

ฉันมีชุดผลิตภัณฑ์พร้อมกล่องตัวเลือกประเภทกำหนดเอง อย่างไรก็ตามฉันไม่สามารถตั้งค่าจากการตั้งค่าผลิตภัณฑ์เป็นสถานะเริ่มต้นของตัวเลือกนั้น

ฉันต้องการช่องทำเครื่องหมาย (ตัวเลือก) อย่างน้อยหนึ่งรายการเพื่อให้ตรวจสอบโดยค่าเริ่มต้นเนื่องจากผู้ใช้เข้าสู่หน้าผลิตภัณฑ์ / เพิ่มในรถเข็นจากหน้าหมวดหมู่

สิ่งนี้สามารถทำได้จากการบริหาร Magento หรือจะต้องมีการพัฒนาเพิ่มเติม (ถ้าเป็นเช่นนั้นสามารถทำได้)?


ไม่คุณเพิ่งตั้ง "เป็นค่าเริ่มต้น" ภายใต้แคตตาล็อก -> จัดการคุณสมบัติ -> "คุณสมบัติของคุณ" -> จัดการป้ายกำกับ / ตัวเลือก -> ขวาถัดจากตัวเลือกเริ่มต้นของคุณ .... หรือถ้าคุณใช้ประเภทอินพุต "ใช่ / ไม่" สามารถตั้งค่าเริ่มต้นภายใต้คุณสมบัติของคุณสมบัติ
Stefan Gregori

จริงๆแล้วตัวเลือกตอนนี้ถูกตั้งค่าด้วย "ตัวเลือกที่กำหนดเอง" จากหน้าผลิตภัณฑ์ในผู้ดูแลระบบ ข้อเสนอแนะของคุณคือแปลงให้เป็นคุณสมบัติของผลิตภัณฑ์? มันจะรักษาพฤติกรรมเดิมของราคาผลิตภัณฑ์หรือไม่
Mike

คำตอบ:


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. PRO . ทำงานอย่างสมบูรณ์แบบสำหรับตัวเลือกแบบหล่นลงและวิทยุที่กำหนดเอง
  2. Neurtal ชนิดของงานสำหรับตัวเลือกที่กำหนดเองและเลือกหลายช่อง คุณสามารถเลือกได้เพียงค่าเดียวสำหรับค่าที่มีอยู่
  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();

นี่เป็นคำอธิบายที่ดีเกี่ยวกับวิธีสร้างโดยตัวเลือกรหัสที่กำหนดเองสำหรับผลิตภัณฑ์ แต่ฉันไม่คิดว่ามันจะตอบคำถามได้ OP ถามว่าคุณจะตั้งค่าเริ่มต้นสำหรับตัวเลือกที่กำหนดเองได้อย่างไร
Marius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.