Pregunta

Tengo una serie de productos con opciones personalizadas de casilla de verificación de tipo. Sin embargo, no puedo configurar desde la configuración del producto el estado predeterminado de esa opción en particular.

Necesito al menos una de las casillas de verificación (opciones) para verificar de forma predeterminada a medida que el usuario ingresa a la página del producto / agrega al CART desde la página de categoría.

¿Es esto factible de la administración de Magento o requerirá un desarrollo adicional (si es así, cómo se puede hacer esto)?

¿Fue útil?

Solución

No sé si recomendar una extensión cuenta como una respuesta válida (para una pregunta con una recompensa) pero Alguien afirma aquí que escribió una extensión que hace exactamente lo que necesitas. La extensión puede ser descargado desde aquí. No lo he probado, pero, tan pronto como lo haga, publicaré y actualizaré. Solo miré a través del código y hay mucho. Perdí interés después de 2 archivos. Espero que te funcione.

EDITAR
Tengo mi interés de vuelta. Probé la extensión en y (casi) funciona.
Si lo usa con el modo de desarrollador, obtendrá algunos errores. Esto es lo que debe cambiar para que funcione.
en /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.php En la línea 28 está esto:

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

Esto muestra una advertencia de 'índice indefinido'. Para evitarlo, envuélvelo en un if declaración.

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

En /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.php En la línea 129 está esto:

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

$values puede ser nulo, así que cambie el código a esto:

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

Ahora debería funcionar.
Ahora alguna revisión.

  1. PRO. Funciona perfectamente para opciones personalizadas y de radio personalizadas
  2. Neurático. Tipo de funciona para múltiples opciones de selección y casilla de verificación. Puede seleccionar solo un valor para los valores disponibles.
  3. Inconveniente Pero puedo pasarlo por alto. Para establecer los valores predeterminados, debe hacer clic en un otro elemento de menú en el backend y buscar su producto en la lista.
  4. Estafa. No funciona para texto, textura, fecha, fecha y hora, hora, opciones personalizadas de archivo. Pero con un poco de trabajo se puede cambiar para funcionar correctamente para todo tipo (tal vez excepto el archivo).

Otros consejos

No es predeterminado en Magento.

Se puede lograr de esta manera. Es mejor recuperar antes de continuar.

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

); }

// Suponga que estamos creando un nuevo producto.

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

// o si estamos agregando las opciones a un producto ya creado.

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

// No olvide guardar el producto

$product->save();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top