Domanda

Ho una serie di prodotti con opzioni personalizzate di tipo checkbox. Tuttavia, non posso impostare dal setup del prodotto lo stato di default di quel particolare opzione.

Ho bisogno di almeno una delle caselle di controllo (opzioni) da sottoporre a controllo di default quando l'utente entra nella pagina del prodotto / aggiunge al carrello categoria pagina.

E 'questo fattibile da parte dell'amministrazione Magento o si richiede un certo sviluppo in più (in caso affermativo come questo può essere fatto)?

È stato utile?

Soluzione

Non so se raccomandare un estensione conta come una valida risposta (per una domanda con una taglia), ma affermazioni qualcuno qui che ha scritto un'estensione che fa esattamente quello che ti serve. Estensione può essere scaricato da qui . Non ho ancora testato, ma, non appena lo faccio, mi post e aggiornare. Ho guardato solo attraverso il codice e c'è un sacco di esso. Ho perso interesse dopo 2 file. Spero che funziona per voi.

[EDIT]
Ho la mia schiena interesse. Ho testato l'estensione su ed è (quasi) funziona.
Se lo si utilizza con la modalità sviluppatore sul otterrete alcuni errori. Ecco cosa è necessario cambiare per farlo funzionare.
in /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.php on line 28 c'è questo:

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

Questo mostra un avvertimento 'indice di definito'. Per evitarlo, avvolgerlo in una dichiarazione if.

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

In /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.php on line 129 c'è questa:

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

$values può essere nullo in modo cambiare il codice a questo:

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

Ora dovrebbe funzionare.
Ora alcuni recensione.

  1. PRO . Funziona perfettamente per le opzioni a discesa e radio personalizzati
  2. NEURTAL . Tipo di lavori per più opzioni personalizzate selezionare e checkbox. È possibile selezionare un solo valore per i valori disponibili.
  3. scomoda , ma posso dimenticarlo. al fine di impostare i valori di default si deve cliccare su un altro elemento di menu nel backend e cerca il tuo prodotto dell'elenco.
  4. Con . Non funziona per il testo, textarea, data, datetime, il tempo, le opzioni di file personalizzati. Ma con un po 'di lavoro può essere modificato per funzionare correttamente per tutti i tipi (forse ad eccezione di file).

Altri suggerimenti

Non difetto in Magento.

Può essere raggiunto in questo modo. Meglio prendere il backup prima di procedere.

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

); }

// Supponiamo stiamo creando un nuovo prodotto.

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

// O se stiamo aggiungendo le opzioni per un prodotto già creato.

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

// Non dimenticate di salvare il prodotto

$product->save();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top