[Помощь] Joomla 1.7.3 + virtuemart 2.0 настраиваемые поля

Статус
В этой теме нельзя размещать новые ответы.

Slaviq

Создатель
Регистрация
19 Сен 2007
Сообщения
37
Реакции
1
Цель - магазин одежды
Товар имеет Настраиваемое поле "Размер", для каждого размера своя цена (Атрибут корзины - Да), нужно вести учет количества товаров по размерно. Как быть? для настраиваемого атрибута количество нельзя задать. Хак делать? Или делать Родительский товар а к нему дочерний?
 
Вести учет не по размерам, а по цене :)
 
Цель - магазин одежды
Товар имеет Настраиваемое поле "Размер", для каждого размера своя цена (Атрибут корзины - Да), нужно вести учет количества товаров по размерно. Как быть? для настраиваемого атрибута количество нельзя задать. Хак делать? Или делать Родительский товар а к нему дочерний?
Только дочерний-родительский. Иначе ни как. Не возможно по параметрам контролировать остатки. Я этим тоже задвался как то вопросом. Кстати не многие движки такое вообще могут в том числе и битрикс.
JoomShoping позволяет добавлять колличество для атрибутов, там это просто и удобно.

Но если объективно оценивать масштабируемость - родительский-дочерний в VirtueMart очень мощная штука как раз в магазине одежды. Можно например продавать костюмчики и какие то комплекты по частям(штаны отдельно, блуза отдельно) которые как раз в виде дочерних товаров будут оформлены. Или при заказе цветов делать возможность дополнительно в одной позиции заказать еще и шампанское и мягкую игрушку.
 
советую скачать видео курс Куртеева, создание интернет магазина, в инете можно найти и скачать бесплатно за 2009г, старая версия, но он там оч хорошо объясняет про все функции.
 
предложения не особенно конструктивные :(
хотя родительский - дочерний товар вполне работает уже в существующем магазине Joomla 1.5 + Virtuemart 1.1.4 , но это накладывает свои ограничения
хочется при переходе на версию 2,0 от этого отказаться. Вот и ищу подходящее решение.

Вот до чего додумался:
1. добавляем "настраиваемое поле" "Размер", флаг "Атрибут корзины" = "Да"
2. добавляем поле "alter table iap4x_virtuemart_product_customfields add custom_amount char(255)"
3. файл administrator\components\com_virtuemart\models\customfields.php
PHP:
    public function inputType($field,$product_id,$row){
        $field->custom_value = empty($field->custom_value) ? $field->value : $field->custom_value ;
        if ($field->is_cart_attribute)  $priceInput = '<input type="text" value="'.(isset($field->custom_price)?$field->custom_price: '0').'" name="field['.$row.'][custom_price]" />';
        else $priceInput = ' ';
меняем на
PHP:
public function inputType($field,$product_id,$row){
        $field->custom_value = empty($field->custom_value) ? $field->value : $field->custom_value;
        if ($field->is_cart_attribute)  {$priceInput = '<input type="text" value="'.(isset($field->custom_price)?$field->custom_price: '0').'" name="field['.$row.'][custom_price]" />';
          $priceInput .= '(<input type="text" style="width:20px" value="'.(isset($field->custom_amount)?$field->custom_amount: '0').'" name="field['.$row.'][custom_amount]" />)';}
        else $priceInput = ' ';
и
PHP:
  public function getproductCustomslist($virtuemart_product_id) {
        $query='SELECT C.`virtuemart_custom_id` , `custom_element`, `custom_jplugin_id`, `custom_params`, `custom_parent_id` , `admin_only` , `custom_title` , `custom_tip` , C.`custom_value` AS value, `custom_field_desc` , `field_type` , `is_list` , `is_cart_attribute` , `is_hidden` , C.`published` , field.`virtuemart_customfield_id` , field.`custom_value`,field.`custom_param`,field.`custom_price`, field.`ordering`
в запрос добавляем field.`custom_amount`

4. файл administrator\components\com_virtuemart\tables\product_customfields.php
в
PHP:
class TableProduct_customfields extends VmTable {
добавляем
PHP:
 /** @var string custom_amount*/    var $custom_amount      = '';
5.файл administrator\components\com_virtuemart\views\product\tmpl\product_edit_custom.php
PHP:
<th><?php echo JText::_('COM_VIRTUEMART_CART_PRICE');?>
меняем на
PHP:
<th><?php echo JText::_('COM_VIRTUEMART_CART_PRICE');?>(Amount)</th>
вуаля, в свойствах товара на закладке "настраиваемые поля" мы получили Amount:
11111.JPG
 
Теперь осталось разобраться с
1. добавлением в корзину - проверка наличия по полю custom_amount
components\com_virtuemart\helpers\cart.php строка - строка после "... \\Check if we have a product ..."
2. списание товара при изменении статуса, файл administrator\components\com_virtuemart\models\orders.php
если есть возможность помогите разобраться
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху