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

Просмотренные товары - грубые ошибки Simpla


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

Посмотрел пристальнее на функционал просмотренных товаров. Несмотря на то, что вопрос совсем не сложный, автор ухитрился и там насажать ошибок.

Увидеть живьем можно, например, так:
1. Строку
            {get_browsed_products var=browsed_products limit=20}
изменить на
            {get_browsed_products var=browsed_products limit=5}
чтобы показывалось не более 5 просмотренных.

2. В админке на странице товаров у двух первых товаров создадим по 5 вариантов.
3. Очистим куки браузера.
4. Откроем  теперь на сайте последовательно страницы двух изменявшихся товаров.
5. В списке просмотренных должно быть ДВА товара, а там лишь один.

Описанная ошибка проявляется, когда у просмотренных товаров несколько вариантов (и отсутствует в случае одного варианта у всех просмотренных).

Есть и еще одна ошибка, связанная с неактивными товарами в COOKIE-списке просмотренных...

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

Бред какой-то...

Причем тут варианты? Если в куках хранится АйДи товара, а не варианта?

 

Хоть "в куках хранится АйДи товара", это не мешает описанной ошибке благополучно иметь место...

Если хотите знать "Причем тут варианты?", для начала попробуйте проверить, есть ли описанная ошибка. Если есть, тогда выясняйте ее причину - скорее всего тогда будет понятно, что тут "при чем", а что нет...

 

Если не справитесь - милости прошу задавать вопрос ТОЧНО и КОНКРЕТНО, а не в стиле тяп-ляп...

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

Специально провел все эти бредовые операции на демо-сайте :)

Все работает так, как должно. Никаких ошибок нет.

Откуда этот бред взялся в голове у Корса - хер его знает...

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

да все показывает. возможно гений Корс забыл после того как зашел на товар два обновить страницу чтобы этот товар отобразился в просмотренных. при чем тут варианты - ни при чем. зато мы потратили свое время чтобы выяснить что гениальной ошибки нет.

 

какая ошибка может быть с неактивными товарами если они выводятся только администратору сайта? и не пишутся в просмотренные

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

Да, ребята, Вы правы. Напутал я с первой ошибкой, нет ее (смотрел на сайте клиента, там некоторые переделки были, которые не учел). На дефолтной Simpla  все хорошо.
 
А вот вторая ошибка более тонкая, тут mishanya попался в простой ситуации:
 

какая ошибка может быть с неактивными товарами если они выводятся только администратору сайта? и не пишутся в просмотренные

 

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

Просмотренные товары хранятся в COOKIE, причем до 100 штук. Время хранения по умолчанию 30 суток после каждого изменения. Поэтому вполне возможно, что пользователь зашел повторно, скажем через неделю-другую, и из хранящихся в COOKIE 50 записей ID половина товаров стала неактивна.
Как должна работать система в этом случае? Естественно, показывать только 20 шт и только из АКТИВНЫХ.
А как она работает в реальности? Выбирает первые 20 ID товаров и делает запрос на товары по этим 20-ти ID.
В итоге из 20-ти товаров выбираются только активные. Естественно, их может быть куда меньше, чем требующееся количество 20 шт.

 

Конечно, ошибка не сильно критичная, но все же...
 

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

Да, ребята, Вы правы. Напутал я с первой ошибкой, нет ее (смотрел на сайте клиента, там некоторые переделки были, которые не учел). На дефолтной Simpla  все хорошо.

 

А вот вторая ошибка более тонкая, тут mishanya попался в простой ситуации:

 

 

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

 

Просмотренные товары хранятся в COOKIE, причем до 100 штук. Время хранения по умолчанию 30 суток после каждого изменения. Поэтому вполне возможно, что пользователь зашел повторно, скажем через неделю-другую, и из хранящихся в COOKIE 50 записей ID половина товаров стала неактивна.

Как должна работать система в этом случае? Естественно, показывать только 20 шт и только из АКТИВНЫХ.

А как она работает в реальности? Выбирает первые 20 ID товаров и делает запрос на товары по этим 20-ти ID.

В итоге из 20-ти товаров выбираются только активные. Естественно, их может быть куда меньше, чем требующееся количество 20 шт.

 

Конечно, ошибка не сильно критичная, но все же...

 

 

Всем привет. У меня вылезла 1-я ошибка. Помогите пожалуйста исправить

 

http://prntscr.com/fk2psv

 

<!--Просмотренные товары-->
<div class="catalog_inner products_category">
				<div id="ajaxpages_catalog_identifier" class="clearfix">
					<!--Каталог товаров-->
					<div class="main-title"><span>Вы просматривали:</span></div>
            {get_browsed_products var=browsed_products limit=10}
{if $browsed_products}
 {foreach $browsed_products as $browsed_product}
			<div class="catalog-item prod js-element-id{$browsed_product->id} js-element {if $page && $page->url==''}{if $browsed_product->variant->compare_price > 0}qb{/if}{else}{if $browsed_product->featured}da{/if} {if $browsed_product->variant->compare_price > 0}qb{/if} {/if}" data-key1="{$browsed_product->id}" data-elementid="{$browsed_product->id}">
	<div class="catalog-item_inner">
		<a class="qb_corner" href="products/{$browsed_product->url}"></a>
		<a class="da_corner" href="products/{$browsed_product->url}"></a>
		<div class="catalog-item_inside">
			<div class="catalog-item-picture">
				<a  href="products/{$browsed_product->url}" title="{$browsed_product->name|escape}">
					<img class="image" src="{$browsed_product->image->filename|resize:160:160}" rel="image_src" alt="{$browsed_product->name|escape}">
				</a>
			</div>
		  <div class="catalog-item-name">
			<a class="text_fader" data-product="{$browsed_product->id}" href="products/{$browsed_product->url}" title="{$browsed_product->name|escape}">{$browsed_product->name|escape}</a>
		  </div>
		</div>
		
		<div class="catalog-item-price clearfix">
			{if $browsed_product->variants|count > 0}
			{if $browsed_product->variant->compare_price > 0}
				<div class="discount">-<span class="disc">{($browsed_product->variants->compare_price-$product->variant->price)|convert}</span>{$currency->sign|escape}</div>
				<div class="crossed_price"><span class="cros">{$product->variant->compare_price|convert}</span> {$currency->sign|escape}</div>
			{/if}
			{foreach $browsed_product->variants as $bv}
			    {if $bv->compare_price > 0}<div class="discount"><span class="crossed_price">{$bv->compare_price|convert}{$currency->sign|escape}</span></div>{/if}
				<div class="price"><span class="pr">{$bv->price|convert}</span> {$currency->sign|escape}</div>

			{/foreach} 	
			{else}
				<div class="price">Нет в наличии</div>
			{/if}
		</div>

		<div class="catalog-item_2nd_inside clearfix">
			 <div class="catalog-item-buy_btn">
				{if $browsed_product->variants|count > 0}
				<noindex>
					<form class="clearfix variants" name="buy_form" action="cart">
						<input  class="grandibtn1 submit add2basket js_add2basket_link" type="submit" value="В корзину" data-result-text="Товар добавлен в корзину">
						<div class="catalog-item-compare">
							{* Не показывать выбор варианта, если он один и без названия *}
							{foreach $browsed_product->variants as $bv}
							<select name="variant" {if $browsed_product->variants|count==1  && !$product->variant->name}style='display:none;'{/if}>
								{foreach $browsed_product->variants as $v}
								<option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"  discount="{($v->compare_price-$v->price)|convert}"{/if} price="{$v->price|convert}">
								{$v->name}
								</option>
								{/foreach}
							</select>
							{/foreach}
						</div>
						<span class="measure_name">шт</span>
						<div class="prod_quantity clearfix">
							<a class="multimage_icons minus js-basket-minus"></a>
							<input type="text" class="multimage_backs value" name="amount" value="1" data-ratio="1">
							<a class="multimage_icons plus js-basket-plus"></a>
						</div>
					</form>
				</noindex>
				{/if}
			</div>

			<div class="catalog-item-preview_text">
			{$browsed_product->annotation}
			</div>
			<div class="catalog-item-compare" rel="nofollow">
				<form action="/compare" class="compare">
					{if $compare_informer->items_id[{$product->id}]>0}
						В <a href="/compare/">сравнения</a>
					{else}
						<input id="compare_{$product->id}" name="compare" value="{$product->id}" class="add2compare js_add2compare" style="display:none;" type="checkbox" />
						<label for="compare_{$product->id}" style="cursor: pointer">Сравнить</label>
					{/if}
				</form>
			</div>
			<div class="catalog-item-likes_and_share clearfix"> 
				<div class="yashare-auto-init" data-yasharequickservices="vkontakte,facebook,twitter" data-yasharetype="none" data-yasharel10n="ru" data-yasharetitle="{$product->name|escape}" data-yasharelink="products/{$product->url}"></div> 
			</div>
		</div>
    </div>
</div>
{/foreach}
{/if}
 </div>
</div>
Ссылка на сообщение
Поделиться на другие сайты

Всем привет. У меня вылезла 1-я ошибка. Помогите пожалуйста исправить

http://prntscr.com/fk2psv

Вас не смущает 2 одинаковых цикла один в другом?

Возможно поможет моя статья для вывода вариантов товара списком.

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

Вас не смущает 2 одинаковых цикла один в другом?

Возможно поможет моя статья для вывода вариантов товара списком.

 

Хотя бы подчеркните на скрине где один в другом, и если это пофиксить то, поможет в проблеме с селектами? Я плохо разбираюсь PHP, только html, css.  + Необходимо установить плагин "Статьи". За установку заплачу так как не хватает знаний  

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

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

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

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

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

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

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

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

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

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