0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 17847 Просмотров
*

antoniom

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Добрый день, всем!!!

Идея такова, необходимо в карточке товара иметь несколько свойств товара, точнее цвет и размер. Вроде бы все легко и просто, идешь в админку VirtueMart и под каждым товаром добавляешь по 2 свойства с энным количеством особенностей. Но в результате получаем на карточке товара две кнопки с выпадающим списком в вертикальном расположении. И это не совсем то, что хочеться увидеть. А необходимо, чтобы все свойтсва распологались в горизонтальном исполнении, плюс ко всему этому свойство "цвет", необходимо отображать как "картинка"+"текст", т.е. в результате получаем квадратик с цветом и название самого цвета.

Кто поможет с реализацией данной идеи?!...:)
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Вот вам идея:
1. создаете свойства товара, как реализовано в стандартной версии
2. создается база привязки картинки к свойству
3. в файлах вывода свойств вставляем код, выводящий вместо свойства картинку + кнопочку рядом с картинкой

Либо саму картинку оформить вместо кнопки.
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
я долго мучался чтобы добавить картинку для атрибута, только у меня смысл немного был другой, тк идёт родитель у которого как атрибуты идут дети, которые идут как подттовар с картинками..., если интересно расскажу, где-то тут уже поднимал этот вопрос...
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
skyscraper конечно интересно!  ^-^ Рассказывай!  :D
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
Надо сначала правильно создать родительский товар, поставив нужные опции (1)... потом создать нужное свойство (цвет, объем, ...) (2), потом можно делать новую позицию, чтобы сделать подтовар (3)

потом в подтоваре, в статусе пишем наши "дополнительные" свойства, грузим картинки, и всё как обычно...

таким образом мы сделаем мульти-корзину...
« Последнее редактирование: 12.11.2010, 13:18:51 от skyscraper »
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
изменим скрипты:
ps_product_attribute.php где-то 800 строка
Код
function list_custom_attribute( $product_id, $prod_id = null ) {
global $mosConfig_secret ;
$db = new ps_DB( ) ;
$tpl = new $GLOBALS['VM_THEMECLASS']( ) ;
if($product_id == 0)
$product_id = $prod_id;
$q = "SELECT product_id, custom_attribute, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_id='$product_id'";
$db->query($q);
$db->next_record();
if(!$db->f("custom_attribute")) {
$parent_id = $db->f( "product_parent_id" )? $db->f( "product_parent_id" ) : $product_id ;
$q = "SELECT product_id, custom_attribute, product_thumb_image FROM #__{vm}_product WHERE product_id='$parent_id'";
$db->query($q);
$db->next_record();
}

$custom_attr_list = $db->f( "custom_attribute" ) ;
$product_thumb_image = $db->f( "product_thumb_image" ) ;
if( $custom_attr_list ) {
$has_custom_attributes = 1 ;
$fields = explode( ";", $custom_attr_list ) ;
$html = "" ;
$prod_index = $product_id ;
if( $prod_id ) {
$prod_index = $prod_id ;
}
$attributes = array( ) ;
$i = 0 ;
foreach( $fields as $field ) {
$title = ucfirst( $field ) ;
$attributes[$i]['product_id'] = $prod_index ;
$attributes[$i]['product_thumb_image'] = $product_thumb_image ;
$attributes[$i]['title'] = $title ;
$i ++ ;
}
}

if( $custom_attr_list ) {
$tpl->set( 'attributes', $attributes ) ;
$tpl->set( 'mosConfig_secret', $mosConfig_secret ) ;
return $tpl->fetch( 'product_details/includes/addtocart_custom_attribute.tpl.php' ) ;
}
}

в addtocart_list_multi.tpl.php должен быть прописан:
Код
<span style="float: left ; text-align:left; ">
              <input type="hidden" name="prod_id[]" value="<?php echo $product['product_id'] ?>" />
              <input type="hidden" name="product_id" value="<?php echo $product['parent_id'] ?>" />
              <?php echo $product['custom_attribute'] ?>
            </span>

и в addtocart_custom_attribute.tpl.php (немного доработан - меняется цвет продукта, если зашли с другого сайта по его ссылке) + картинки
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
$id=intval($_GET['product_id']);
foreach($attributes as $attribute) {
    foreach( $attribute as $attr => $val ) {
        // Using this we make all the variables available in the template
        // translated example: $this->set( 'product_name', $product_name );
        $this->set( $attr, $val );
    }
    ?>
    
  <div style="margin:7px 5px 10px 5px;" >

   <?php if ( !empty($attribute['product_thumb_image']) ) {
echo "<img src=/components/com_virtuemart/shop_image/product/".$attribute['product_thumb_image']." width='45px' height:'45px' align='left'>"; }?>
  

   <div style="padding:15px 0px 0px 50px; text-align:left"  >
     <?php

if ($attribute['id'] == $id) {
echo "<p style='color:#F00; text-align:left; text-shadow:#fff;'><strong> ".$attribute['title']."</p></strong>";

}
else {

    echo $attribute['title'];

} ?>  
    </div>
    </div>
<br style="clear: both;" />
    <?php } ?>

« Последнее редактирование: 04.12.2010, 19:17:01 от skyscraper »
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
спасибо  ^-^ но мне этот вариант не совсем подходит  ;)
реализовать бы как тут http://drez.ru/muzhskie-futbolki-s-korotkim-rukavom/timberland/i258179-mens-outdoor-inspired-t-shirt?color=467038  ^-^
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
сделать бы что-то похожее на сопутствующие товары: в админке выбираешь товар, вписываешь особенность и загружаешь картинку...
а т. к. я дуб в PHP, то это всего лишь мечты   ^-^
*

morph

  • Давно я тут
  • 923
  • 105 / 0
из бесплатного:
ищите сдесь тему на хак,который меняет атрибуты - можно делать тогда чекбоксы,добавлять картинки
http://joomlaforum.ru/index.php/topic,95683.0.html
будет вам счастье ... если установите и разберетесь в синтаксисе написания и задания параметров )))

делал визуально понятную загрузку на аяксе картинок в админке как кнопка у техже атрибутов и динамическое переключение картинок/атрибутов и цены,но эт было давно и не сохранилось,потому делать заново и ессно на ком. основе.
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
Есть идея ^-^ можно попробовать использовать сопутствующие товары с автоматической выборкой по имени  ^-^
но вопрос, как сделать эту выборку?  ;)

в этой теме начали реальзовывать, но так и не закончили...  :( >:(
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
а можешь по подробнее рассказать как ты вывел отображение товара как на скрине??
как он определяет нужный цвет??
в смысле нужный цвет?
мы делаем родительский товар и настраиваем отображение корзины напротив каждого дочернего товара, затем делаем для него свойство объем и только после этого начинаем в родительском товаре создавать "новые", грузить в них нужные картинки, названия...

ещё вот новая тема есть:
http://joomlaforum.ru/index.php/topic,138297.msg754321.html#msg754321
*

TakT

  • Захожу иногда
  • 124
  • 8 / 0
ещё вот новая тема есть:
http://joomlaforum.ru/index.php/topic,138297.msg754321.html#msg754321

спасибо, именно то что и хотел)))
+ однозначно
*

morph

  • Давно я тут
  • 923
  • 105 / 0
минус использования дочерних - каждый дочерний товар - запись в базе ,что ведет к ее росту и нагрузке.
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
согласен, но здесь больше играет удобство покупок, AJAX корзина до сих пор есть не у всех, на VPS всё можно сказать "летает", по сравнению с домашним компом с denwer, если ресурсов не будет хватать, то всегда можно прикупить проц и оперативы, с каждым годом скорости растут и virt тоже ускоряется =)
*

anatol81n

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
http://joomlaforum.ru/index.php/topic,198921.msg1054349.html#msg1054349
сходите по ссылочке:
там вывод свойства товара радиобуттоном, и далее описано как сделать из радио цветной квадратик.
*

Seeker

  • Осваиваюсь на форуме
  • 35
  • 6 / 0
По цветам придумал такую идею:

в админке стандартными средствами создаем  свойство (цвет)

Когда прописываем "Особенность" пишем код цвета (например #175CBB)

меняем вывод свойства в нужном месте, смотря какой хотим, прописываем "color:" вставить текст особенности

идея думаю понятна  ;)
*

Joury

  • Захожу иногда
  • 164
  • 2 / 0
  • vs-aqua.ru - изготовление аквариумов на заказ
Всем доброго времени.
Продолжу тему, на своем сайте Lord-Stroy.ru хочу реализовать как тут http://drez.ru/
Чтобы в свойствах цвета товара была картинка, и при выборе её менялся основная картинка??
Это готовый модуль? подскажите где взять
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Нашел неплохой модуль по атрибутам , можно вставлять картинки в атрибуты, размер и тд..
Единственный  недостаток стоит 14 ? ссылка на модуль http://breakdesigns.net/extensions/attribute-manager

 ;)
Предлагаю купить в складчину!

Или заказать хак платно.
*

kiryann

  • Осваиваюсь на форуме
  • 19
  • 3 / 0
Всем доброго времени.
Продолжу тему, на своем сайте Lord-Stroy.ru хочу реализовать как тут http://drez.ru/
Чтобы в свойствах цвета товара была картинка, и при выборе её менялся основная картинка??
Это готовый модуль? подскажите где взять


Тоже очень заинтересован в решении данной проблемы, если кто то знает решение отзовитесь, готов оплатить труд
*

varX

  • Живу я здесь
  • 2277
  • 134 / 5
  • разработка компонентов
Attribute Manager называется решение.
*

alex_nik

  • Новичок
  • 3
  • 0 / 0
изменим скрипты:
ps_product_attribute.php где-то 800 строка
Код
function list_custom_attribute( $product_id, $prod_id = null ) {
global $mosConfig_secret ;
$db = new ps_DB( ) ;
$tpl = new $GLOBALS['VM_THEMECLASS']( ) ;
if($product_id == 0)
$product_id = $prod_id;
$q = "SELECT product_id, custom_attribute, product_parent_id, product_thumb_image FROM #__{vm}_product WHERE product_id='$product_id'";
$db->query($q);
$db->next_record();
if(!$db->f("custom_attribute")) {
$parent_id = $db->f( "product_parent_id" )? $db->f( "product_parent_id" ) : $product_id ;
$q = "SELECT product_id, custom_attribute, product_thumb_image FROM #__{vm}_product WHERE product_id='$parent_id'";
$db->query($q);
$db->next_record();
}

$custom_attr_list = $db->f( "custom_attribute" ) ;
$product_thumb_image = $db->f( "product_thumb_image" ) ;
if( $custom_attr_list ) {
$has_custom_attributes = 1 ;
$fields = explode( ";", $custom_attr_list ) ;
$html = "" ;
$prod_index = $product_id ;
if( $prod_id ) {
$prod_index = $prod_id ;
}
$attributes = array( ) ;
$i = 0 ;
foreach( $fields as $field ) {
$title = ucfirst( $field ) ;
$attributes[$i]['product_id'] = $prod_index ;
$attributes[$i]['product_thumb_image'] = $product_thumb_image ;
$attributes[$i]['title'] = $title ;
$i ++ ;
}
}

if( $custom_attr_list ) {
$tpl->set( 'attributes', $attributes ) ;
$tpl->set( 'mosConfig_secret', $mosConfig_secret ) ;
return $tpl->fetch( 'product_details/includes/addtocart_custom_attribute.tpl.php' ) ;
}
}

в addtocart_list_multi.tpl.php должен быть прописан:
Код
<span style="float: left ; text-align:left; ">
              <input type="hidden" name="prod_id[]" value="<?php echo $product['product_id'] ?>" />
              <input type="hidden" name="product_id" value="<?php echo $product['parent_id'] ?>" />
              <?php echo $product['custom_attribute'] ?>
            </span>

и в addtocart_custom_attribute.tpl.php (немного доработан - меняется цвет продукта, если зашли с другого сайта по его ссылке) + картинки
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
$id=intval($_GET['product_id']);
foreach($attributes as $attribute) {
    foreach( $attribute as $attr => $val ) {
        // Using this we make all the variables available in the template
        // translated example: $this->set( 'product_name', $product_name );
        $this->set( $attr, $val );
    }
    ?>
   
  <div style="margin:7px 5px 10px 5px;" >

   <?php if ( !empty($attribute['product_thumb_image']) ) {
echo "<img src=/components/com_virtuemart/shop_image/product/".$attribute['product_thumb_image']." width='45px' height:'45px' align='left'>"; }?>
 

   <div style="padding:15px 0px 0px 50px; text-align:left"  >
     <?php

if ($attribute['id'] == $id) {
echo "<p style='color:#F00; text-align:left; text-shadow:#fff;'><strong> ".$attribute['title']."</p></strong>";

}
else {

    echo $attribute['title'];

} ?> 
    </div>
    </div>
<br style="clear: both;" />
    <?php } ?>


Добрый день .... все реализовал как вы и писали но вот тепер проблема не могу вывести описание к каждому подтовару
подскажите народ как это сделать? повставлял вывод продукт description воде бы облсть появилась но там пусто
вот тут можно посмотреть что вышло http://fish-pro.com.ua/spinning-major-craft-nextino.html
а так вообще полный респект статюге
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение атрибутов товара в поле заказа и письме

Автор alexdarkvolf

Ответов: 1
Просмотров: 334
Последний ответ 19.03.2020, 20:38:00
от gartes
Редактирование товара с сайта а не из админки?

Автор rabotnita

Ответов: 6
Просмотров: 1657
Последний ответ 04.02.2019, 13:33:40
от pH43
Не вводится параметры типа товара!

Автор Krav_xxl

Ответов: 2
Просмотров: 1609
Последний ответ 09.10.2017, 00:15:41
от Dmitry1991
Изменение товара

Автор almerashop89

Ответов: 12
Просмотров: 925
Последний ответ 10.01.2017, 11:35:18
от almerashop89
Составная переменная цена товара в кнопке Купить

Автор sashgera

Ответов: 0
Просмотров: 1012
Последний ответ 20.03.2016, 17:34:44
от sashgera