Jump to content

Recommended Posts

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


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

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

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

Link to post
Share on other sites

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

{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}

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

Link to post
Share on other sites

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

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

{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}
Link to post
Share on other sites

 

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

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

{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 он дал, когда условие опубликованное разместил

Link to post
Share on other sites

 

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

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

{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}

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...