Скрытая категория или не опубликованый товар: возврат кода ответа 301 или 404, как? Есть решение
Привет всем!
Собственно сабж. Как сделать так, чтоб если товар или категория скрыта - сервер возвращал ответ 301 или 404?
Привет всем!
Собственно сабж. Как сделать так, чтоб если товар или категория скрыта - сервер возвращал ответ 301 или 404?
8 ответов
Категория: в настройках категории переключить на "показывать только на выбранных витринах" и снять галочку, где показывать не надо. Если не надо показывать вообще нигде, то, видимо, придётся создать в настройках несуществующий домен и вешать такие категории на него.
Товар: присвоить ему тип товара, который не показывается ни на одной витрине. Типы товаров выбираются в настройках каждой витрины отдельно.
<pre class="smarty" style="font-family:monospace;"><span style="color: #D36900;">{</span><span style="color: #0600FF;">if</span> <span style="color: #00aaff;">$product</span>.<span style="color: #006600;">status</span> <span style="color: #D36900;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #D36900;">}</span>
<span style="color: #D36900;">{</span>header<span style="color: #D36900;">(</span><span style="color: #ff0000;">'HTTP/1.0 404 Not Found'</span>, true<span style="color: #D36900;">)</span><span style="color: #D36900;">}</span>
<span style="color: #009000;"><p style="text-align:center"><img src="http://placekitten.com/g/800/600" width="800" height="600" alt="Опачки"></p></span>
<span style="color: #D36900;">{</span><span style="color: #00aaff;">$crossselling</span> <span style="color: #D36900;">=</span> <span style="color: #00aaff;">$product</span>-<span style="color: #D36900;">></span>crossSelling<span style="color: #D36900;">(</span><span style="color: #D36900;">)</span><span style="color: #D36900;">}</span>
<span style="color: #D36900;">{</span><span style="color: #0600FF;">if</span> <span style="color: #00aaff;">$crossselling</span><span style="color: #D36900;">}</span>
<span style="color: #D36900;">{</span><span style="color: #0600FF;">if</span> <span style="color: #00aaff;">$crossselling</span><span style="color: #D36900;">}</span>
<span style="color: #008080; font-style: italic;">{* Здесь как-то выводить crosselling-предложения *}</span>
<span style="color: #D36900;">{</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">}</span>
<span style="color: #D36900;">{</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">}</span>
<span style="color: #D36900;">{</span><span style="color: #0600FF;">else</span><span style="color: #D36900;">}</span>
..... здесь основной код который был ...
<span style="color: #D36900;">{</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">}</span></pre>
{if $product.status == 0}
{header('HTTP/1.0 404 Not Found', true)}
<p style="text-align:center"><img src="http://placekitten.com/g/800/600" width="800" height="600" alt="Опачки"></p>
{$crossselling = $product->crossSelling()}
{if $crossselling}
{if $crossselling}
{* Здесь как-то выводить crosselling-предложения *}
{/if}
{/if}
{else}
..... здесь основной код который был ...
{/if}
^^^^ Отредактировать карточку товара темы (обычно product.html)
Сергей, интересно, ща попробуем!!
Сергей - все отлично получилось с товаром, Спасибо! А с категорией можно подобное провернуть?
Можно попробовать
{if $category.status == 0}
Я не проверял.
Сходу не получилось.. завтра еще подумаем, как с категориями быть..