Перейти к содержанию
Официальный форум поддержки Simpla

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


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

Добавление в корзину связанного товара

 

здравствуйте.

 

вопрос: в чём тут ошибка? не хотят связанные товары в корзину добавляться!! учитывая то, что всё отображается в режиме селект, а не инпут, как было раньше.

 

вод код страницы product..tpl

 

{* Страница товара *}

<!-- Хлебные крошки /-->
<div id="path">
	<a href="./">Главная</a>
	{foreach from=$category->path item=cat}
	? <a href="catalog/{$cat->url}">{$cat->name|escape}</a>
	{/foreach}
	{if $brand}
	? <a href="catalog/{$cat->url}/{$brand->url}">{$brand->name|escape}</a>
	{/if}
	?  {$product->name|escape}                
</div>
<!-- Хлебные крошки #End /-->

<h1 class="headname" data-product="{$product->id}">{$product->name|escape}</h1>
<div class="line"></div>

<table class="product" style="width:100%;"><tr>
<td valign="top" style="width:265px; text-align:center;">
	<!-- Большое фото -->
	{if $product->image}
	<div class="image" id="tovar">
		<a href="{$product->image->filename|resize:800:600:w}" class="zoom" data-rel="group"><img src="{$product->image->filename|resize:250:250}" alt="{$product->product->name|escape}" /></a>
	</div>
		{/if}
	<!-- Большое фото (The End)-->
	<div style="margin-top:10px;">		
	{if $product->variants|count > 0}
		<!-- Выбор варианта товара -->
	<form class="variants" action="/cart">
<select class="variant" name="variant" {if $product->variants|count<2}style="display:none;"{/if}>	
			{if $product->variants|count>1}
			<option value="Выберите вариант" disabled selected>Выберите вариант</option>
			{foreach $product->variants as $v}
			<option id="discounted_{$v->id}" name="variant" value="{$v->id}">{$v->name}</option>
			{/foreach}
			{/if}	
			{if $product->variants|count<2}
			{foreach $product->variants as $v}
			<option id="discounted_{$v->id}" name="variant" value="{$v->id}">{$v->name}</option>
			{/foreach}
			{/if}
			</select>		
			<div style="clear:both;"></div>
				<table style="width:100%;">
				<tr>
				<td style="width:120px;">
				<input type="submit" class="buttonbuy" value="в корзину" data-result-text="Добавлено"/>
				</td>
				<td style="text-align:center;">
					{if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if}
					<span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span>
</td>
</tr>
</table>
		
		</form>
		<!-- Выбор варианта товара (The End) -->
		</div>
</td>

	<!-- Описание товара -->
	<td valign="top">
			<table {if $v->name}class="artvar"{/if} style="font-size:13px; font-family:Verdana">
	{if $v->name}<tr><td style="width:190px;"><strong>Артикул</strong></td><td><strong>Вариант</strong></td></tr>{/if}
	{foreach $product->variants as $v}
	<tr>
	<td>{if $v->name}{else}<strong>Артикул:</strong> {/if}{$v->sku}</td>
	{if $v->name}<td>{$v->name}</td>{/if}
	</tr>
	{/foreach}
	</table>
	<div style="font-size:13px; font-family:Verdana; padding-bottom:5px; padding-top:10px;"><span style="font-weight:bold;">Коллекция:</span> <a style="color:#000000" href="/collection/{$brand->url|escape}">{$brand->name|escape}</a></div>
	<div style="font-size:13px; font-family:Verdana; padding-bottom:8px;"><span style="font-weight:bold;">Производитель:</span> AM.PM</div>
	<div class="description">
	
		{$product->body}
		
	</div>
	
			{if $product->features}
	<!-- Характеристики товара -->
	<h2 style="font-family:Verdana; font-size:13px;">Технические характеристики</h2>
	<table class="features">
	{foreach $product->features as $f}
	<tr>
		<td style="width:150px;" class="bordteh" id="left"><span>{$f->name}</span></td>
		<td class="bordteh" id="right"><span>{$f->value}</span></td>
	</tr>
	{/foreach}
	</table>
	<!-- Характеристики товара (The End)-->
	{/if}
	</td>
	</tr>
	</table>
	

		<div class="line"></div>

		{else}
			Нет в наличии
		{/if}
			
	
	<!-- Описание товара (The End)-->

	<!-- Дополнительные фото продукта -->
	{if $product->images|count>1}
	<div class="images" style="text-align:center;">
		{* cut удаляет первую фотографию, если нужно начать 2-й - пишем cut:2 и тд *}
		{foreach $product->images|cut as $i=>$image}
			<a href="{$image->filename|resize:800:600:w}" class="zoom" data-rel="group"><img style="margin:5px;" src="{$image->filename|resize:200:200}" alt="{$product->name|escape}" /></a>
		{/foreach}
	</div>
	<div class="line"></div>
	{/if}
	<!-- Дополнительные фото продукта (The End)-->

	


	<!-- Соседние товары /-->
	<!--<table style="width:100%;" class="back_forward"><tr>
		{if $prev_product}
			<td style="text-align:left;color: rgb(19, 142, 214);">? <a style="color: rgb(19, 142, 214);font-family: Arial;font-size: 14px;font-weight: bold;padding-top: 5px;" class="prev_page_link" href="products/{$prev_product->url}">{$prev_product->name|escape}</a></td>
		{/if}
		{if $next_product}
			<td style="text-align:right;color: rgb(19, 142, 214);"><a style="color: rgb(19, 142, 214);font-family: Arial;font-size: 14px;font-weight: bold;padding-top: 5px;" class="next_page_link" href="products/{$next_product->url}">{$next_product->name|escape}</a> ?</td>
		{/if}
	</tr></table>
	-->


<!-- Описание товара (The End)-->
{if $related_products}<br/>
		<strong>Дополнительная комплектация</strong>
		<table class="product">
{foreach $related_products as $product}
		<tr>
		<td><p>{$product->name|escape}</p></td>{if $product->variants|count > 0}<form class="variants" action="/cart">{foreach $product->variants as $v}<td>		<select class="variant" name="variant" {if $productd->variants|count<2}style="display:none;"{/if}>	
			{if $product->variants|count>1}
			<option value="Выберите вариант" disabled selected>Выберите вариант</option>
			{foreach $product->variants as $v}
			<option id="related_{$v->id}" name="variant" value="{$v->id}">{$v->name}</option>
			{/foreach}
			{/if}	
			{if $product->variants|count<2}
			{foreach $product->variants as $v}
			<option id="related_{$v->id}" name="variant" value="{$v->id}">{$v->name}</option>
			{/foreach}
			{/if}	
			</select>{$v->price|convert} <span class="currency">{$currency->sign|escape}</td>{/foreach}<td><input type="submit" class="button" value="в корзину" data-result-text="добавлено"/></td></form>{/if}
		</tr>
		{/foreach}
		</table>
		{/if}

{literal}
<script>
$(function() {
	// Раскраска строк характеристик
	$(".features li:even").addClass('even');

	// Зум картинок
	$("a.zoom").fancybox({ 'hideOnContentClick' : true });
});
</script>
{/literal}

 

вот код файла ajax_cart.js

 

// Аяксовая корзина
$('form.variants').live('submit', function(e) {
	e.preventDefault();
	button = $(this).find('input[type="submit"]');
	if($(this).find('select[name=variant]').size()>0)
		variant = $(this).find('select[name=variant]').val();
	if($(this).find('select[name=variant]').size()>0)
		variant = $(this).find('select').val();
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			if(button.attr('data-result-text'))
				button.val(button.attr('data-result-text'));
		}
	});
	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);
	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});




/*
// Аяксовая корзина
$('a[href*="cart?variant"]').live('click', function(e) {
	e.preventDefault();
	//variant_id = $(this).attr('id');
	
	href = $(this).attr('href');
	pattern = /\/?cart\?variant=(\d+)$/;
	variant_id = pattern.exec(href)[1];
	
	link = $(this);
	$.ajax({
		url: "ajax/cart.php",
		data: {variant: variant_id},
		dataType: 'json',
		success: function(data){
			$('#cart_informer').html(data);
			//if(link.attr('added_text'))
			//	link.html(link.attr('added_text'));
			//link.attr('href', '/cart');
		}
	});

	var o1 = $(this).offset();
	var o2 = $('#cart_informer').offset();
	var dx = o1.left - o2.left;
	var dy = o1.top - o2.top;
	var distance = Math.sqrt(dx * dx + dy * dy);

	$(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance);	
	$('.transfer_class').html($(this).closest('.product').find('.image').html());
	$('.transfer_class').find('img').css('height', '100%');
	return false;
});
*/

 

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

А Вы отладку кода в браузере откройте и сами посмотрите. Это в разы быстрее, чем создавать темы, да ёщё и с простынёй кода. Ну правда :)

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

Тоже сломал глаза. В мозилле есть отличные инструменты для отладки (на крайний случай).

 

p/s Мниться, что проблема в том, что параметр variant так и не был передан в cart.php

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...