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

Ошибка в Сопутствующих товарах


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

Нашел небольшой баг. Отключенные сопутствующие товары, продолжают отображаться во вкладке Сопутствующие. Т.е. если отключить какой либо товар (снять галочки в Статус и Показывать в меню), но не удалять его, он пропадает везде. В категории, поиске и т.д. Но не в сопутствующих!

Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, SeoWWW сказал:

Нашел небольшой баг. Отключенные сопутствующие товары, продолжают отображаться во вкладке Сопутствующие. Т.е. если отключить какой либо товар (снять галочки в Статус и Показывать в меню), но не удалять его, он пропадает везде. В категории, поиске и т.д. Но не в сопутствующих!

Здравствуйте!

Спасибо, что сообщили.

Откройте файл /app/Model/Content.php и поменяйте:

	public $hasAndBelongsToMany = array(
	    'xsell' =>
		array(
		    'className' => 'Content',
		    'join_table' => 'contents_contents',
		    'associationForeignKey' => 'related_id',
		    'foreignKey' => 'product_id',
		    'unique' => true
		)
	);

на:

	public $hasAndBelongsToMany = array(
	    'xsell' =>
		array(
		    'className' => 'Content',
		    'conditions' => array('active' => '1'),
		    'join_table' => 'contents_contents',
		    'associationForeignKey' => 'related_id',
		    'foreignKey' => 'product_id',
		    'unique' => true
		)
	);

 

P.S. Внёс эту правку в текущий код.

Ссылка на сообщение
Поделиться на другие сайты
26 минут назад, SeoWWW сказал:

Если заменить код, то сопутствующие не будут добавляться...

Не совсем понял.

Не будут добавляться куда?!

В корзину или куда?!

Можно чуть подробнее.

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

В админке, при выборе и сохранении сопутствующих в карточке товара - они не будут сохраняться. Также будет невозможно менять (ставить галочки) Статус и Показывать в меню в категориях.

Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, SeoWWW сказал:

В админке, при выборе и сохранении сопутствующих в карточке товара - они не будут сохраняться. Также будет невозможно менять (ставить галочки) Статус и Показывать в меню в категориях.

Понятно.

Тогда сделаем по-другому.

Верните оригинальный код, правка эта не нужна в /app/Model/Content.php

и просто в шаблоне добавим проверку, а активный это товар или нет.

т.е. в /app/Catalog/function.xsell.php меняйте:

    <li class="item col-sm-6 col-md-4{if $node.is_new == 1} new{/if}{if $node.is_featured == 1} featured{/if}">
      <div class="thumbnail text-center">
        {if $node.discount > 0}<div class="description"><span class="discount">-{$node.discount|round}%</span></div>{/if}
        <a href="{$node.url}" class="image"><img src="{$node.image}" alt="{$node.name}"{if {$node.image_width} > 0} width="{$node.image_width}"{/if}{if {$node.image_height} > 0} height="{$node.image_height}"{/if} />
        {if $node.price}<span class="frame-overlay"></span><span class="price">{$node.price}</span>{/if}
        {product_label label_id={$node.label_id}}
        </a>
        <div class="inner notop nobottom text-left">
          <h4 class="title"><a href="{$node.url}">{$node.name}</a></h4>
          {if $node.reviews > 0}<div class="description"><span class="rating">{$node.star_rating}</span> <span class="reviews">{lang}Feedback{/lang}: {$node.reviews}</span></div>{/if}
          {if $node.old_price}<div class="description">{lang}List Price{/lang}: <span class="old-price"><del>{$node.old_price}</del></span></div>{/if}
          {if $node.price_save}<div class="description">{lang}You Save{/lang}: <span class="save">{$node.price_save} ({$node.price_save_percent|round}%)</span></div>{/if}
          <div class="description">{$node.short_description|strip_tags|truncate:30:"...":true}</div>
          <div class="description">{attribute_list product_id=$node.id}</div>
        </div>
      </div>
      {product_form product_id={$node.id}}
      <div class="inner darken notop">
        <button class="btn btn-default btn-add-to-cart" type="submit" value="{lang}Buy{/lang}"><i class="fa fa-shopping-cart"></i> {lang}Buy{/lang}</button>
      </div>
      {/product_form}
    </li>

на:

  {if $node.active == 1}
    <li class="item col-sm-6 col-md-4{if $node.is_new == 1} new{/if}{if $node.is_featured == 1} featured{/if}">
      <div class="thumbnail text-center">
        {if $node.discount > 0}<div class="description"><span class="discount">-{$node.discount|round}%</span></div>{/if}
        <a href="{$node.url}" class="image"><img src="{$node.image}" alt="{$node.name}"{if {$node.image_width} > 0} width="{$node.image_width}"{/if}{if {$node.image_height} > 0} height="{$node.image_height}"{/if} />
        {if $node.price}<span class="frame-overlay"></span><span class="price">{$node.price}</span>{/if}
        {product_label label_id={$node.label_id}}
        </a>
        <div class="inner notop nobottom text-left">
          <h4 class="title"><a href="{$node.url}">{$node.name}</a></h4>
          {if $node.reviews > 0}<div class="description"><span class="rating">{$node.star_rating}</span> <span class="reviews">{lang}Feedback{/lang}: {$node.reviews}</span></div>{/if}
          {if $node.old_price}<div class="description">{lang}List Price{/lang}: <span class="old-price"><del>{$node.old_price}</del></span></div>{/if}
          {if $node.price_save}<div class="description">{lang}You Save{/lang}: <span class="save">{$node.price_save} ({$node.price_save_percent|round}%)</span></div>{/if}
          <div class="description">{$node.short_description|strip_tags|truncate:30:"...":true}</div>
          <div class="description">{attribute_list product_id=$node.id}</div>
        </div>
      </div>
      {product_form product_id={$node.id}}
      <div class="inner darken notop">
        <button class="btn btn-default btn-add-to-cart" type="submit" value="{lang}Buy{/lang}"><i class="fa fa-shopping-cart"></i> {lang}Buy{/lang}</button>
      </div>
      {/product_form}
    </li>
  {/if}

т.е. добоавили просто провеку статуса товара, показываем только активные.

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