Nie wiem, czy zalecenie rozszerzenia liczy się jako poprawna odpowiedź (na pytanie z nagrodą), ale ktoś twierdzi , że napisał rozszerzenie, które robi dokładnie to, czego potrzebujesz. Rozszerzenie można pobrać stąd . Nie testowałem tego, ale jak tylko to zrobię, opublikuję i zaktualizuję. Przejrzałem tylko kod i jest go dużo. Straciłem zainteresowanie po 2 plikach. Mam nadzieję, że to zadziała dla ciebie.
[EDYCJA]
Z powrotem moje zainteresowanie. Testowałem rozszerzenie na ce-1.7.0.2 i (prawie) działa.
Jeśli użyjesz go w trybie programisty, pojawi się kilka błędów. Oto, co musisz zmienić, aby działało.
w /app/code/local/Magebuzz/Customoption/controllers/Adminhtml/CustomoptionController.php
linii 28 jest to:
$model->setData('value['.$option_id.']',$value[0]['option_type_id']);
To pokazuje ostrzeżenie „niezdefiniowany indeks”. Aby tego uniknąć, zawiń go w if
instrukcji.
if (isset($value[0])){
$model->setData('value['.$option_id.']',$value[0]['option_type_id']);
}
W /app/code/local/Magebuzz/Customoption/Block/Adminhtml/Customoption/Edit/Tab/Form.php
linii 129 jest to:
foreach ($values as $value) {
$valuesArr[$value['option_type_id']]=$value['title'];
}
$values
może być pusty, więc zmień kod na ten:
if (is_array($values)){
foreach ($values as $value) {
$valuesArr[$value['option_type_id']]=$value['title'];
}
}
Teraz powinno działać.
Teraz trochę recenzji.
- PRO . Działa idealnie w przypadku niestandardowych opcji rozwijanych i radiowych
- Neurtal . Rodzaj prac dla wielu niestandardowych opcji wyboru i zaznaczania. Możesz wybrać tylko jedną wartość dla dostępnych wartości.
- Niewygodne, ale mogę to przeoczyć. aby ustawić wartości domyślne, musisz kliknąć inny element menu w backendu i poszukać swojego produktu na liście.
- Con . Nie działa dla opcji niestandardowych dla tekstu, obszaru tekstowego, daty, godziny i godziny, godziny oraz niestandardowych plików. Ale przy odrobinie pracy można to zmienić, aby działało poprawnie dla wszystkich typów (może poza plikiem).