1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Virtuemart", создана пользователем Slaviq, 20 янв 2012.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
  1. Slaviq

    Slaviq Создатель

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

    Wharfadale Постоялец

    Регистр.:
    31 июл 2007
    Сообщения:
    55
    Симпатии:
    1
    Вести учет не по размерам, а по цене :)
     
  3. serser

    serser Постоялец

    Регистр.:
    23 июл 2011
    Сообщения:
    62
    Симпатии:
    12
    Только дочерний-родительский. Иначе ни как. Не возможно по параметрам контролировать остатки. Я этим тоже задвался как то вопросом. Кстати не многие движки такое вообще могут в том числе и битрикс.
    JoomShoping позволяет добавлять колличество для атрибутов, там это просто и удобно.

    Но если объективно оценивать масштабируемость - родительский-дочерний в VirtueMart очень мощная штука как раз в магазине одежды. Можно например продавать костюмчики и какие то комплекты по частям(штаны отдельно, блуза отдельно) которые как раз в виде дочерних товаров будут оформлены. Или при заказе цветов делать возможность дополнительно в одной позиции заказать еще и шампанское и мягкую игрушку.
     
  4. тать

    тать Постоялец

    Регистр.:
    6 окт 2011
    Сообщения:
    76
    Симпатии:
    22
    советую скачать видео курс Куртеева, создание интернет магазина, в инете можно найти и скачать бесплатно за 2009г, старая версия, но он там оч хорошо объясняет про все функции.
     
  5. Slaviq

    Slaviq Создатель

    Регистр.:
    19 сен 2007
    Сообщения:
    37
    Симпатии:
    1
    предложения не особенно конструктивные :(
    хотя родительский - дочерний товар вполне работает уже в существующем магазине 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
     
  6. Slaviq

    Slaviq Создатель

    Регистр.:
    19 сен 2007
    Сообщения:
    37
    Симпатии:
    1
    Теперь осталось разобраться с
    1. добавлением в корзину - проверка наличия по полю custom_amount
    components\com_virtuemart\helpers\cart.php строка - строка после "... \\Check if we have a product ..."
    2. списание товара при изменении статуса, файл administrator\components\com_virtuemart\models\orders.php
    если есть возможность помогите разобраться
     
Статус темы:
Закрыта.