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

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

Доброе время суток.
 
Подскажите, пожалуйста, как правильно сделать:
 
На сайте реализовал множественный выбор вариантов, то есть возле каждого можно указывать количество и одним нажатием добавить все в корзину.
 
post-2382-0-32666800-1525516908_thumb.jpg 


Сейчас начал изучать яндекс маркет и оказалось, что при переходе из маркета, должен быть выбран (выделен жирным или подсвечен) именно тот вариант, по которому перешли, то есть адрес страницы имеет вид:   
 

http://demo.simplacms.ru/products/nokia-x3-02?variant=15  

 
Как задать условие, чтобы активному варианту добавлялся новый класс (выделить его)?

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

{if $v->id == $product->variant->id}...{/if}

 

Я правильно понимаю, в этом условии должен оказаться вывод варианта товара? 

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

Не знаю, это зависит от кода вашего сайта)))

{if $product->variants|count > 0}
    <!-- Выбор варианта товара -->
	<form class="variants" action="/cart">
		<input type="hidden" name="color_id" id="color_id" value="">
			<table>
			{foreach $product->variants as $v}
			<tr class="variant var-2">
				<td>
					<input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> 
				</td>
				<td>
					{if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if}
				</td>
				<td>
					{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>
			{/foreach}
			</table>		
		<input type="submit" class="button mquantitybutton" value="в корзину" data-result-text="добавлено"/>
	</form>
	<!-- Выбор варианта товара (The End) -->		
{else}
	Нет в наличии
{/if}

Вывод вариантов на странице товара такой

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

Как вы будете использовать код - зависит от того, ЧТО НУЖНО ПОЛУЧИТЬ

Если вам нужен КЛАСС 

{if $v->id = $product->variant->id}class="active"{/if}

Например так

Находится должно внутри цикла по вариантам товара



			{foreach $product->variants as $v}
			<tr class="variant var-2{if $v->id == $product->variant->id} active{/if}">
				<td>
					<input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> 
				</td>
				<td>
					{if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if}
				</td>
				<td>
					{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>
			{/foreach}
Ссылка на сообщение
Поделиться на другие сайты

 

Как вы будете использовать код - зависит от того, ЧТО НУЖНО ПОЛУЧИТЬ

Если вам нужен КЛАСС 

{if $v->id = $product->variant->id}class="active"{/if}

Например так

Находится должно внутри цикла по вариантам товара

 

			{foreach $product->variants as $v}
			<tr class="variant var-2{if $v->id = $product->variant->id} active{/if}">
				<td>
					<input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> 
				</td>
				<td>
					{if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if}
				</td>
				<td>
					{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>
			{/foreach}

 

Страница недоступна в этом случае.

 

error 500

 

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

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

 

Как вы будете использовать код - зависит от того, ЧТО НУЖНО ПОЛУЧИТЬ

Если вам нужен КЛАСС 

{if $v->id = $product->variant->id}class="active"{/if}

Например так

Находится должно внутри цикла по вариантам товара

 

			{foreach $product->variants as $v}
			<tr class="variant var-2{if $v->id = $product->variant->id} active{/if}">
				<td>
					<input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> 
				</td>
				<td>
					{if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if}
				</td>
				<td>
					{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>
			{/foreach}

 

Спасибо тебе большое! 

Разобрался. Выдавало синтаксическую ошибку из за отсутствия второго "=" в условии

{if $v->id == $product->variant->id} active{/if}

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

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

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

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

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

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

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

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

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

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