Перейти к содержанию
Форум поддержки пользователей VamShop

Добавление нескольких товаров в корзину


Андрей Кириллов

Рекомендуемые сообщения

Андрей Кириллов

Здравствуйте,  Александр.

Некоторое время назад Вы помогли мне реализовать

добавление товара в корзину указывая количество этого товара

вот ссылка на сайт где это было реализовано:

http://fimosha.ru/index.php?cat=11

проблема в том, что мне надо тоже самое сделать на другом сайте,

а я не знаю как добавить форму с количеством товара,

можете помочь?

Ссылка на сообщение
Поделиться на другие сайты
Ссылка на сообщение
Поделиться на другие сайты
Андрей Кириллов

по правде говоря только что откопал у себя на компьютере файл, где была инструкция от вас как это сделать,

первую замену я сделал, а вторую замену, где написано: "Чуть ниже находим:" уже не смог сделать - нет такой строчки,

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

Инструкция:

------------------------------

Открываем файл /includes/classes/product.php

Находим следующий код:

return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';

Меняем на:

if (AJAX_CART == 'true')

      {

        return vam_draw_form('buyNow', '', 'post', 'id="cart_quantity"; onSubmit="doAddProduct(this); return false"', 'post').vam_draw_hidden_field('products_id', $id).vam_draw_input_field('products_qty', 1, 'size="3"').vam_image_submit('button_in_cart.gif', TEXT_BUY.$name.TEXT_NOW).'</form>';

      } else {

return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';

}

Чуть ниже находим:

return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image('templates/'.CURRENT_TEMPLATE.'/img/cart_big.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';

Меняем на:

if (AJAX_CART == 'true')

      {

        return vam_draw_form('buyNow', '', 'post', 'id="cart_quantity"; onSubmit="doAddProduct(this); return false"', 'post').vam_draw_hidden_field('products_id', $id).vam_draw_input_field('products_qty', 1, 'size="3"').vam_image_submit('button_in_cart.gif', TEXT_BUY.$name.TEXT_NOW).'</form>';

      } else {

return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';

}

Всё, теперь можно указывать, сколько товаров добавлять в корзину. Только не забудьте включить ajax корзину в Адмнке - Настройки - Основные - Мой магазин - Ajax корзина.

Ссылка на сообщение
Поделиться на другие сайты
Андрей Кириллов

я сходил по вашей ссылке Александр, но после выполнения описанной там инструкции

ничего не изменилось, даже ума не приложу почему

Ссылка на сообщение
Поделиться на другие сайты

А по тому тексту, что привели!?

Можно ведь просто из того рабочего магазина уже переписать в новый магазин исправленные файлы.

Ссылка на сообщение
Поделиться на другие сайты
Андрей Кириллов

все, Александр, это я затупил, вопрос снят, все работает, спасибо

кстати, вы не встречали доработок, чтобы одной кнопкой несколько товаров

с разным количеством можно было добавить в корзину?

на форуме эта задачка встречалась под темой Мультичек

Ссылка на сообщение
Поделиться на другие сайты
  • 7 months later...

проблема перечисленных способов в том что ID должен быть один на старнице, по факту получается что ID дублируется и соответственно количество задается для последнего на странице товара у которого назначен id

Ссылка на сообщение
Поделиться на другие сайты

разработал сегодня решение которое будет работать

файл jscript/jscript_ajax_cart.js

function doAddProduct(uniqname) {
jQuery.noConflict();

var forma = jQuery(uniqname+' input,select');
var data = 'q=includes/modules/ajax/ajaxCart.php&';
forma.each(function(n,element){
if (element.type == "radio" || element.type == "checkbox") {
if (element.checked)
tmp = element.name + "=" + element.value + "&";
} else {
tmp = element.name + "=" + element.value + "&";
}
if (tmp.length > 3) data = data + tmp;
});
data = data + "action=add_product";

jQuery.ajax({
url : "index_ajax.php",
dataType : "html",
data : data,
type : "GET",
success : function(msg) {
jQuery("#divShoppingCart").html(msg);
}
});
}[/CODE] [b]файлы product_listing_*.html и подобные где хотите использовать форму с количеством[/b]
[CODE]
{if $module_data.PRODUCTS_QUANTITY != '0'}
<form id="cart_quantity_{$module_data.PRODUCTS_ID}" {if $smarty.const.AJAX_CART == 'true'}onsubmit="doAddProduct('#cart_quantity_{$module_data.PRODUCTS_ID}'); return false;"{/if} action="index.php?action=buy_now&BUYproducts_id={$module_data.PRODUCTS_ID}&action=add_product" method="post">
<input type="text" name="products_qty" value="1" size="3" />
<input type="hidden" name="products_id" value="{$module_data.PRODUCTS_ID}" />
<input type="image" src="{$tpl_path}buttons/russian/button_in_cart.gif" alt="Добавить в корзину" title=" Добавить в корзину " />
</form>{/if}

Ссылка на сообщение
Поделиться на другие сайты

разработал сегодня решение которое будет работать

файл jscript/jscript_ajax_cart.js

function doAddProduct(uniqname) {
jQuery.noConflict();

var forma = jQuery(uniqname+' input,select');
var data = 'q=includes/modules/ajax/ajaxCart.php&';
forma.each(function(n,element){
if (element.type == "radio" || element.type == "checkbox") {
if (element.checked)
tmp = element.name + "=" + element.value + "&";
} else {
tmp = element.name + "=" + element.value + "&";
}
if (tmp.length > 3) data = data + tmp;
});
data = data + "action=add_product";

jQuery.ajax({
url : "index_ajax.php",
dataType : "html",
data : data,
type : "GET",
success : function(msg) {
jQuery("#divShoppingCart").html(msg);
}
});
}[/CODE] [b]файлы product_listing_*.html и подобные где хотите использовать форму с количеством[/b]
[CODE]
{if $module_data.PRODUCTS_QUANTITY != '0'}
<form id="cart_quantity_{$module_data.PRODUCTS_ID}" {if $smarty.const.AJAX_CART == 'true'}onsubmit="doAddProduct('#cart_quantity_{$module_data.PRODUCTS_ID}'); return false;"{/if} action="index.php?action=buy_now&BUYproducts_id={$module_data.PRODUCTS_ID}&action=add_product" method="post">
<input type="text" name="products_qty" value="1" size="3" />
<input type="hidden" name="products_id" value="{$module_data.PRODUCTS_ID}" />
<input type="image" src="{$tpl_path}buttons/russian/button_in_cart.gif" alt="Добавить в корзину" title=" Добавить в корзину " />
</form>{/if}

подскажите как вмонтировать ? (у меня версия 1.65)

вставил как у вас написано, стал требовать файл product_compare.php

пишет ошибку: "The requested URL /product_compare.php was not found on this server. "

(пришлось взять его с ранней версии), - после - скрипт отрабатывает ситуацию, что "Товар не найден!"

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...