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

l0ki88

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Привет всем, у меня довольно не обычная ситуация. :(  Я установил специальный хак на виртуалмарт (благодаря нему можно в доп атрибуты добавлять чекбоксы, кнопки радио, различные поля и.т.д.). Теперь же когда я создаю чекбоксы в доп атрибутах на кирилице примерно более 20 символов и выбираю их при покупке, у меня товар не добавляеться в корзину (меньше 20 почему-то работает).
Пример
http://sansmail.ru/index.php/vmchk/Мебель-для-ванной-100-119-см/Мебель-для-ванной-Gemelli-Alfa-108-на-ножках/flypage.tpl.html

Вот тут всё замечательно работает (меньше 20 символов)

http://sansmail.ru/index.php/vmchk/Мебель-для-ванной-70-79-см/Мебель-для-ванной-Gemelli-Cosmo-75-на-ножках/ilvm_fly_showroom_mall.tpl.html

А вот тут уже не работает (более 20 символов). Когда пишишь на латинице то всё прекрасно работает независимо от количество

Собственно сам хак. ТАм всё есть http://forum.virtuemart.net/index.php?action=dlattach;topic=39666.0;attach=7552

*

dron

  • Завсегдатай
  • 1580
  • 16 / 10
интересная тема... а вот скажите, можно ли как-то изменить сам принцип  выбора Сопутствующих товаров в админке? А именно, убрать этот идиотский поиск и сделать просто дерево каталогов?
Заранее спасибо!
*

IFantasy

  • Захожу иногда
  • 52
  • 0 / 0
Скажите выше приведённые примеры для VirtueMart 1.1.4 и Joomla 1.5.14 подходят?
Джумла русифицирована.
*

l0ki88

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
*

l0ki88

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Теперь у меня всё просто отлично работает, если кому интересно то пишите мне, контакты есть на моём блоге time25.ru попозже сделаю урок по данному хаку
*

numen

  • Захожу иногда
  • 53
  • 3 / 0
*

numen

  • Захожу иногда
  • 53
  • 3 / 0
Кажись разобрался... Если кому интересно делаем так:
1. Устанавливаем хак, заменяя оригинальные файлы VirtueMart (скачать хак для Joomla 1.5)
2. В карточке товара, в закладке "Статус товара" есть поле "Дополнительный список свойств:" - в него добавляете синтаксис (список ниже)
3. Все в корзине появляется список дополнительных свойств...

Некоторые известные проблемы и их решения:
1. товар не добавляется в корзину - снимите галочку в настройках шаблона "Use AJAX to add, update or delete products from the cart?" (поставить "нет"). После этого файл addtocart_form_no_ajax.tpl.php переименовываем на addtocart_form.tpl.php и заменяем... Должно работать.

синтаксис свойств товара:
Оригинал читайте здесь: второе и третье сообщения на форуме


Name(attribute type)(tip text|tip location)(attribute data);

add "-r" to attribute type to make it required.
if no tip needed you must still add: Name(text)(|)(data);

Attribute Types: price, text, textarea, line, date, file, checkbox, radio, select, multiple, number

Tip Locations: title-hover, title-below, field-above, field-below

Attribute Data:

Price:
Name(price)(tip here|location)(default price|price type);

examples:
Donation(price)(please enter donation|title-below)(10.00|+);
Reduce By(price)(How much to subtract|field-below)(|-);

Text & Textarea:
Name(text)(tip here|location)(default text|price|charge type);

charge types: char,char_nospace,word,all
Note: add "-d" to end of charge type to show cost break down in cart

examples:
name(text)(1.00 per character|field-below)(|1.00|char);
message(textarea)(5.00 per word|title-hover)(message here|5.00|word);
Test(text)(1.50 per character|title-hover)(|1.50|char_nospace-d);  

Number:
Name(number)(tip here|location)(default number|price);

example:
Number of chocolates(number)(enter # of chocolates|title-hover)(10|0.25);

Date:
Name(date)(tip here|location)(|);


Checkbox & Radio & Select & Multiple:
Name(checkbox)(tip here|location)(option1|image1,option2*|image2,option3 [+5.00]|image3);
* = selected

images work for checkboxes, radio buttons, and select boxes.

examples:
Donate(checkbox)(tip here|title-hover)(Widows [+5.00],Orphans [+10.00]);
Colors(radio)(tip here|title-hover)(Blue [+5.00]|images/img_blue.jpg,Red [+10.00]|images/img_red.jpg);

File:
Name(file)(tip here|title-below)(directory|file types|charge|max file size|min file size);

Max file size & Min file size measures in bytes.

examples:
File Upload(file)(upload file of type .jpg or .doc|title-below)(images/|.jpg,.doc);
Art Work(file)(upload artwork, $20.00 charge|title-below)(images/|.jpg,.doc|20.00);
Picture(file)(upload picture, $20.00 charge, max file of .5MB|title-below)(images/|.jpg|20.00|500000|300);

Line:
Name(line)(tip-here|field-below)(custom line code);

examples:
Further Options(line)(here are more options|field-below)();
(line)(|)(<b>--------------------------------</b>);
« Последнее редактирование: 06.03.2010, 14:21:24 от numen »
*

deni4ka

  • Осваиваюсь на форуме
  • 40
  • 3 / 0
Спасибо огромное, полезное решение, но подскажите...... пытаюсь сделать так что бы пользователь мог загружать файлы, ставлю одно из того что написали выше ....
File:
Name(file)(tip here|title-below)(directory|file types|charge|max file size|min file size);

Max file size & Min file size measures in bytes.

examples:
File Upload(file)(upload file of type .jpg or .doc|title-below)(images/|.jpg,.doc);
Art Work(file)(upload artwork, $20.00 charge|title-below)(images/|.jpg,.doc|20.00);
Picture(file)(upload picture, $20.00 charge, max file of .5MB|title-below)(images/|.jpg|20.00|500000|300);

появляется кнопка Обзор и поле, далее выбираешь файл, нажимаешь далее, но файл в указанную директорию не загружается и на следующей странице появляется значок ошибки.  Как с этим бороться?
joomla и VirtueMart  последние
и второй вопрос, будет ли в присылаемой форме заказа на почту продавцу, вкладываться изображения загруженные покупателем?
*

numen

  • Захожу иногда
  • 53
  • 3 / 0
deni4ka, я так и не воспользовался этим хаком - не подошел к моим требованиям, поэтому не смогу подсказать...
*

deni4ka

  • Осваиваюсь на форуме
  • 40
  • 3 / 0
Спасибо! Буду ждать, может кто то справился с этой проблемой и ответит....
*

deni4ka

  • Осваиваюсь на форуме
  • 40
  • 3 / 0
у кого ни будь получилось завести на Joomla 1.5.15 и VirtueMart 1.1.4?
все работает, кроме как загрузка файлов((((
*

deni4ka

  • Осваиваюсь на форуме
  • 40
  • 3 / 0
Разобрался, все заработало на Joomla 1.5.15 и VirtueMart 1.1.4
пример того что получилось в pdf файле. Супер, отличное решение и позволяет делать все что угодно, самое главное разобраться.


[вложение удалено Администратором]
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
deni4ka
Опишите чем сделали такой вывод информации?

и ещё вопрос, вот в вашем пример идёт увеличение цена на 150 руб при рисунке, эти 150 руб автоматически плюсуются в корзине? или они просто текстово отображаются в свойствах заказа?


и у меня половина функций приводит во тк такой ошибке
Fatal error: Class 'ps_product_custom_type_' not found in /httpdocs/administrator/components/com_virtuemart/classes/ps_product_custom_attribute.php  on line 91


А кто подскажет как в этом коде
Код
Date(date)(tip here|field-above)(|);
Color Options(checkbox)(another tip|title-hover)(test1 [+10.00]|images/img_1.jpg,test2 [-20.00]|images/img_2.jpg,test3 [-10.00]|images/img_3.jpg,test4 [+30.00]*|images/img_4.jpg,test5 [-5.00]|images/img_5.jpg);
Divide(line)(tip-here|field-below)(<b>---------------------------</b>);
Engrave(text)(3.00 per character|field-below)(name here|3.00|char);
Donation(price-r)(help us out|field-below)(25.00|+);
File Upload(file)(20.00 for file upload|field-below)(images/|.jpg,.doc|20.00);

Сделать Donation например обязательной переменной ( ну что-бы она шла автоматом в + к цене?)
« Последнее редактирование: 17.05.2010, 13:41:29 от yrygvay »
Смотрю....
*

deni4ka

  • Осваиваюсь на форуме
  • 40
  • 3 / 0
yrygvay, Да Вы совершенно правы, там все гибко можно настраивать, и то что написано автоматом плюсуется либо вычитается и т.д.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Ребят, а кто знает как поправить код ,что бы слова в корзине про количество менялись автоматом в зависимости от самого количества ?

Код
	};
if ($total = 0) $totalString = '(<strong>'.$total.'</strong> Букет)';
else $totalString = "(<strong>0</strong> Букет)";
                                if ($total > 2) $totalString = '(<strong>'.$total.'</strong> Букета)';
                                else $totalString = "(<strong>2</strong> Букета)";
if ($total > 0) $cart = "-full";
else $cart = "";
?>
0 Букетов
1 Букет
2 БукетА

Может кто подскажет?потомучто я в коде меняю, а не выходит!
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
*

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
не обновляется цена после выбора того или иного параметра
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
А она и не должна обновляться, просто отмечаете галкой., а в корзине она уже автоматом поменяется)))
Смотрю....
*

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
я из этого "то что написано автоматом плюсуется либо вычитается и т.д." понял что в одном хаке "все".

попробую поискать, хотя с моим никаким английским сомневаюсь. может ткнете носом? : ))
*

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
вот тут http://sansmail.ru/Mebel-dlya-vannoy-100-119-sm/Mebel-dlya-vannoy-Gemelli-Alfa-108-na-nozhkah.html у уважаемого l0ki88 реализовано автоматическое обновление ценника при изменении атрибутов.

Может быть l0ki88 поделится опытом?

зы. нашел вот тут - http://www.virtuemart-extensions.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=10&category_id=1&option=com_virtuemart&Itemid=3   но там платно - 30 баксов. и кроме того там НЕ работает обновление цены по изменению количества покупаемого товара
« Последнее редактирование: 26.05.2010, 03:04:27 от Abitatel »
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Ух ты и на самом деле в магазине такая штучка стоит у нашего собрата loki88

Код
				 Изменяемые свойства товара:
</div>
<div class="ssmed_clear"><!--clear--></div>

<div id="vmCartContainer">
    <form action="http://sansmail.ru/index.php" method="post" name="addtocart" id="addtocart_4bfcca36944f5" class="addtocart_form" onsubmit="handleAddToCart( this.id );return false;">
   
<div class="ssmed_checkoutbox">

    <div class="ssmed_settingsbox-ssmed_second">
  <input type="hidden" name="product_id" value="113" />

<input type="hidden" name="prod_id[]" value="113" />
 
  <div class="vmCartAttributes">
  <div class="select_box" style="">
<div style="width:30%;float:left;text-align:right;margin:3px;">
<label for="Цвет_field">Цвет</label>:</div><div style="width:60%;float:left;margin:3px;"> <select class="inputbox form_element" id="in2" onchange="return do_count();" name="Цвет" >
<option title="http://sansmail.ru/" value="Белый_глянец"  id="in2_0" >Белый глянец</option>
<option title="http://sansmail.ru/" value="Ваниль"  id="in2_1" >Ваниль</option>
<option title="http://sansmail.ru/" value="Тик"  id="in2_2" >Тик</option>
<option title="http://sansmail.ru/" value="Светлый_дуб"  id="in2_3" >Светлый дуб</option>

</select>       
<input type="hidden" id="in_value2_0" name="value_1" value="" /><input type="hidden" id="in_value2_1" name="value_2" value="" /><input type="hidden" id="in_value2_2" name="value_3" value="" /><input type="hidden" id="in_value2_3" name="value_4" value="" /><input type="hidden" id="count2" name="count2" value="4" /></div>
<input type="hidden" name="custom_attribute_fields[]" value="Цвет" />
<input type="hidden" name="custom_attribute_fields_check[Цвет]" value="Цвет" />
</div>



<div style="width:30%;float:left;text-align:right;margin-top:7px;"><label for="Доп_комплектация_field">Доп комплектация</label>:</div><div style="width:60%;float:left;margin:3px;"><div class='checkbox_box' style='border: 1px dotted #CCC; width:100%; margin: 2px; padding: 2px; float: left;'><input type="hidden" id="ch0_value_1" name="value_1" value="+13750" /><input value="Пенал_подвесной_одностворчатый_Gemelli_Alfa_40см" onclick="return do_count();" type="checkbox"  id="ch0_1" name="Доп_комплектация[]"  /> Пенал подвесной одностворчатый Gemelli Alfa 40см  (+13,750 руб.)</div><input type="hidden" id="count_ch0_1" name="count_ch0_1" value="1" /></div>
<input type="hidden" name="custom_attribute_fields[]" value="Доп_комплектация" />
<input type="hidden" name="custom_attribute_fields_check[Доп_комплектация]" value="Доп_комплектация" />
</div>

</div>

Вот его кусок с автоматическим изменением цены. я так и не понял, чем он вывел! Есть у него checkbox_box
« Последнее редактирование: 26.05.2010, 11:18:47 от yrygvay »
Смотрю....
*

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
Причем что еще интересно-то - изменение ценника в зависимости и от изменения количества товаров.

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

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
сегодня общался с владельцем интересующего нас сайта, обещал всё описать и рассказать!

Хотя говорит .что уже создавал тему с модулями и компонентами, но её потёрли!
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
ну посмотрим... подождём.

Но он сказал что делал это через скрипт
Код
GET /plugins/system/rokbox/rokbox.js HTTP/1.1
а вот весь участок шаблона  где прикручен этот хак
Код
<div id="vmCartContainer">
    <form action="http://sansmail.ru/index.php" method="post" name="addtocart" id="addtocart_4bfee23718c37" class="addtocart_form" onsubmit="handleAddToCart( this.id );return false;">

    
<div class="ssmed_checkoutbox">

    <div class="ssmed_settingsbox-ssmed_second">
   <input type="hidden" name="product_id" value="113" />
<input type="hidden" name="prod_id[]" value="113" />
 
   <div class="vmCartAttributes">
   <div class="select_box" style="">
<div style="width:30%;float:left;text-align:right;margin:3px;">
<label for="Цвет_field">Цвет</label>:</div><div style="width:60%;float:left;margin:3px;"> <select class="inputbox form_element" id="in2" onchange="return do_count();" name="Цвет" >

<option title="http://sansmail.ru/" value="Белый_глянец"  id="in2_0" >Белый глянец</option>
<option title="http://sansmail.ru/" value="Ваниль"  id="in2_1" >Ваниль</option>
<option title="http://sansmail.ru/" value="Тик"  id="in2_2" >Тик</option>
<option title="http://sansmail.ru/" value="Светлый_дуб"  id="in2_3" >Светлый дуб</option>
</select>        
<input type="hidden" id="in_value2_0" name="value_1" value="" /><input type="hidden" id="in_value2_1" name="value_2" value="" /><input type="hidden" id="in_value2_2" name="value_3" value="" /><input type="hidden" id="in_value2_3" name="value_4" value="" /><input type="hidden" id="count2" name="count2" value="4" /></div>
<input type="hidden" name="custom_attribute_fields[]" value="Цвет" />
<input type="hidden" name="custom_attribute_fields_check[Цвет]" value="Цвет" />
</div>



<div style="width:30%;float:left;text-align:right;margin-top:7px;"><label for="Доп_комплектация_field">Доп комплектация</label>:</div><div style="width:60%;float:left;margin:3px;"><div class='checkbox_box' style='border: 1px dotted #CCC; width:100%; margin: 2px; padding: 2px; float: left;'><input type="hidden" id="ch0_value_1" name="value_1" value="+13750" /><input value="Пенал_подвесной_одностворчатый_Gemelli_Alfa_40см" onclick="return do_count();" type="checkbox"  id="ch0_1" name="Доп_комплектация[]"  /> Пенал подвесной одностворчатый Gemelli Alfa 40см  (+13,750 руб.)</div><input type="hidden" id="count_ch0_1" name="count_ch0_1" value="1" /></div>
<input type="hidden" name="custom_attribute_fields[]" value="Доп_комплектация" />
<input type="hidden" name="custom_attribute_fields_check[Доп_комплектация]" value="Доп_комплектация" />
</div>
</div>

</div>
        <div style="margin-left: 148px; margin-top: 0px;float: left; vertical-align: middle; width: 600px">
      <label for="quantity113" class="quantity_box">Количество:&nbsp;</label><input type="text" class="inputboxquantity" size="4" id="quantity113" name="quantity[]" value="1" />

<input type="button" class="quantity_box_button quantity_box_button_up" onclick="return do_count_plus();" />
<input type="button" class="quantity_box_button quantity_box_button_down" onclick="return do_count_minus();" />
<span class="inputboxquantity3">
      Итого:
      <input type="hidden" id="price" class="inputboxquantity2" size="5"  value="34450"/>
      <input type="text" id="itogo" class="inputboxquantity2" size="5"  value="34450" readonly="readonly" />
      руб.
 </span>
      <input type="submit" class="addtocart_button" value="Купить" title="Купить" />
    </div>

        <input type="hidden" name="flypage" value="shop.flypage.tpl" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="manufacturer_id" value="5" />
    <input type="hidden" name="category_id" value="48" />
    <input type="hidden" name="func" value="cartAdd" />
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="Itemid" value="53" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />

    <input type="hidden" name="master_product[]" value="" />
      </form>
  </div>
<script language="JavaScript" type="text/javascript">
function getQuantityBox(frm) {
if (frm) return frm.elements['quantity113'];
}

function p_cnt(counter1) // price counter
{
        var price=parseInt(document.getElementById("price").value);
var qty_el = document.getElementById('quantity113').value;
price*=parseInt(qty_el);
for(j=0;j<1;j++)
{
       for(k=1; k<=parseInt(document.getElementById("count_ch"+j+"_1").value); k++)
           eval ("if (document.getElementById('ch"+j+"_"+k+"').checked) price+=parseInt(document.getElementById('ch"+j+"_value_"+k+"').value)");
}
for(j=2;j<3;j++)
{
if (x=document.getElementById('in'+j).selectedIndex)
eval ("if (document.getElementById('in_value"+j+"_'+x+'').value) price+=parseInt(document.getElementById('in_value"+j+"_'+x+'').value)");
//           price+=parseInt(document.getElementById('in_value2_'+x+'').value)
//           eval ("if (document.all.in_"+k+".checked) price+=parseInt(document.all.in_value_"+k+".value)");
}
  document.getElementById("itogo").value=price;

}
function do_count(){
if (document.getElementById("count1"))
p_cnt(document.getElementById("count1").value);
else
p_cnt(1);
}
function do_count_plus(){
var qty_el = document.getElementById('quantity113');
var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;
do_count();
return false;
}
function do_count_minus(){
var qty_el = document.getElementById('quantity113');
var qty = qty_el.value;
if( !isNaN( qty ) && qty > 1 ) qty_el.value--;
do_count();
return false;
}

</script>

может кто-нибудь в этом понимает и расскажет что к чему?
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Всё же нужен Хак. на автоматическое обновление цены.

и КАК можно сделать, что бы 1 позиция например с +1000 рублями уже была включена, и отключить не было возможности?
« Последнее редактирование: 01.06.2010, 19:48:18 от yrygvay »
Смотрю....
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Слишком громоздкое решение. Стояла аналогичная проблема, решил с использованием ява-скрипт в три строчки.
http://5stihija.ru/index.php?page=shop.product_details&flypage=flypage2.tpl&product_id=6&category_id=42&option=com_virtuemart&Itemid=65
Ссылка больше не действительна. Позже распишу реализацию.
« Последнее редактирование: 12.08.2010, 18:40:34 от lcd25 »
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Слишком громоздкое решение. Стояла аналогичная проблема, решил с использованием ява-скрипт в три строчки.
http://5stihija.ru/index.php?page=shop.product_details&flypage=flypage2.tpl&product_id=6&category_id=42&option=com_virtuemart&Itemid=65

Я конечно всё понимаю, но одного понять не могу))
а рассказать как сделали?
поделиться с нами? или предложение платное?
+ интересует ,цена на товар у вас автоматом меняется( это вы всё тем же ява-скриптом делаете?)
Смотрю....
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
А что тут рассказывать? Скрипт в исходном коде страницы, самый нижний. Там все понятно. А цена меняется автоматом самим хаком этой темы.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
НУ может если не трудно, прикрепите его сюда, плюс опишите как добавить его на страницы. не все же знают!?
Смотрю....
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Появление кнопки в зависимости цены товара

Автор vertraut

Ответов: 2
Просмотров: 1084
Последний ответ 29.11.2013, 19:24:49
от fsv
Дополнительные поля для категорий и главной VirtueMart

Автор kalan

Ответов: 0
Просмотров: 1275
Последний ответ 11.04.2013, 15:57:14
от kalan
Как сделать кнопку "предзаказ" в место кнопки "купить"?

Автор akcuhb9i

Ответов: 3
Просмотров: 1632
Последний ответ 20.01.2013, 14:55:23
от akcuhb9i
Название поля alt для изображений как наименование товара

Автор Gnom41k

Ответов: 2
Просмотров: 1225
Последний ответ 26.12.2012, 22:55:08
от Gnom41k
2 поля текста в категории

Автор Joury

Ответов: 1
Просмотров: 1089
Последний ответ 27.11.2012, 11:25:04
от azovkor