Też potrzebuję takiego moda, zacząłem nawet działać trochę w tym temacie i tak wygląda dotychczasowe starania:
1. W bazie danych w tabeli catalog_product_option dodaję dwie nowe kolumny - from_qty i to_qty korzystając z konsoli sql (najpierw zaznaczam tą tabelę):
ALTER TABLE `catalog_product_option` ADD `from_qty` INT( 10 ) DEFAULT '0' AFTER `sort_order` ;
i jeszcze druga kolumna:
ALTER TABLE `catalog_product_option` ADD `to_qty` INT( 10 ) DEFAULT '0' AFTER `from_qty` ;
OK tabele mamy gotowe, jeszcze z poziomu struktury tabeli catalog_product_option edytuję nowe kolumny ustawiając atrybut: unsigned, komentarz:from_qty i to_qty i odznaczam NULL.
Baza danych gotowa, teraz kod. Zaczynam od modyfikacji layout-u adminhtml:
Go to:
\www\magento\app\design\adminhtml\default\default\template\catalog\product\edit\options
Tutaj mam plik Option.phtml
Teraz wstawiam poniżej linii 43:
'<th class="opt-order"><?php echo Mage::helper('catalog')->__('Sort Order') ?></th>'+
następujący kod:
'<th class="opt-qty"><?php echo Mage::helper('catalog')->__('From Qty') ?><span class="required">*</span></th>'+
'<th class="opt-qty"><?php echo Mage::helper('catalog')->__('To Qty') ?><span class="required">*</span></th>'+
Następnie w tym samym pliku poniżej kodu około linii 55:
'<td><input type="text" class="validate-zero-or-greater input-text" name="<?php echo $this->getFieldName() ?>[{{id}}][sort_order]" value="{{sort_order}}"></td>'+
wstawiam ten kod:
'<td><input type="text" class="required-entry input-text" id="<?php echo $this->getFieldId() ?>_{{id}}_from_qty" name="<?php echo $this->getFieldName() ?>[{{id}}][from_qty]" value="{{from_qty}}"></td>'+
'<td><input type="text" class="required-entry input-text" id="<?php echo $this->getFieldId() ?>_{{id}}_to_qty" name="<?php echo $this->getFieldName() ?>[{{id}}][to_qty]" value="{{to_qty}}"></td>'+
Co zostało zrobione: dwie kolumny przetrzymujące przedział ilościowy - od ilości i do ilości, oraz zmodyfikowana została karta produktu, a dokładnie zakładka Custom Options - w której teraz podczas dodawania nowej opcji mamy możliwość zdefiniowania przedziału cenowego co ładnie nam się zapisuje do bazy.
W tym momencie funkcjonalność modyfikacji pozwala na zapisanie do bazy wartości from_qty i to_qty, ale jeszcze ich nie wyświetla.
Aby to naprawić, Go to:
\www\magento\app\code\core\Mage\Adminhtml\Block\Catalog\Product\Edit\Tab\Options
Otwieram plik Option.php
Pod linią 238:
$value['sort_order'] = $option->getSortOrder();
Dodajemy kod:
$value['from_qty'] = $option->getFromQty();
$value['to_qty'] = $option->getToQty();
Teraz w panelu w zakładce Custom Options edycji produktu ładnie wyświetlają się widełki od ilości i do ilości.
No i teraz co dalej?
Fundament jest, trzeba go zastosować do frontend-u...