Frage

Ich habe eine Reihe von Produkten mit benutzerdefinierten Optionen vom Typ Typ vom Typ. Ich kann jedoch nicht aus der Einrichtung des Produkts den Standardzustand dieser bestimmten Option festlegen.

Ich muss mindestens eine der Kontrollkästchen (Optionen) standardmäßig überprüft werden, da der Benutzer die Produktseite eingibt / von der Kategorie -Seite zum CART fügt.

Ist dies aus der Magento -Administration machbar oder erfordert es eine zusätzliche Entwicklung (wenn ja, wie kann dies getan werden)?

War es hilfreich?

Lösung

Ich weiß nicht, ob die Empfehlung einer Erweiterung als gültige Antwort (für eine Frage mit einer Prämie), aber aber Jemand behauptet hier Dass er eine Erweiterung schrieb, die genau das tut, was Sie brauchen. Erweiterung kann sein Von hier heruntergeladen. Ich habe es nicht getestet, aber sobald ich es tue, werde ich posten und aktualisieren. Ich habe nur den Code durchgesehen und es gibt viel davon. Ich habe das Interesse nach 2 Dateien verloren. Ich hoffe es funktioniert für dich.

BEARBEITEN
Ich habe mein Interesse zurück. Ich habe die Erweiterung getestet Und es funktioniert (fast).
Wenn Sie es mit dem Entwicklermodus verwenden, erhalten Sie einige Fehler. Hier ist, was Sie ändern müssen, damit es funktioniert.
in /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.php In Zeile 28 gibt es Folgendes:

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

Dies zeigt eine "undefinierte Index" -Warnung. Um es zu vermeiden, wickeln Sie es in einen ein if Aussage.

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

Im /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.php In Zeile 129 gibt es Folgendes:

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

$values kann null sein, also ändern Sie den Code dazu:

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

Jetzt sollte es funktionieren.
Jetzt eine Bewertung.

  1. PROFI. Funktioniert perfekt für Dropdown- und Radio -benutzerdefinierte Optionen
  2. Neurtal. Art von Funktionen für mehrere benutzerdefinierte Optionen für ausgewählte und Kontrollkästchen. Sie können nur einen Wert für die verfügbaren Werte auswählen.
  3. Ungünstig Aber ich kann es übersehen. Um die Standardwerte festzulegen, müssen Sie im Backend auf ein anderes Menüelement klicken und in der Liste nach Ihrem Produkt suchen.
  4. Con. Es funktioniert nicht für Text, TextArea, Datum, DateTime, Uhrzeit, benutzerdefinierte Dateioptionen. Aber mit ein wenig Arbeit kann es geändert werden, um für alle Typen korrekt zu arbeiten (möglicherweise außer Datei).

Andere Tipps

Nicht Standard in Magento.

Kann auf diese Weise erreicht werden. Am besten, bevor Sie fortfahren.

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

); }

// Angenommen, wir erstellen ein neues Produkt.

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

// oder wenn wir die Optionen zu einem bereits erstellten Produkt hinzufügen.

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

// Vergessen Sie nicht, das Produkt zu speichern

$product->save();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top