Скрытая категория или не опубликованый товар: возврат кода ответа 301 или 404, как? Есть решение

Привет всем!

Собственно сабж. Как сделать так, чтоб если товар или категория скрыта - сервер возвращал ответ 301 или 404?

6 ответов

  • 3
    Syrnik.com Партнер-разработчик 9 мая 2015 18:40 # Решение

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

  • 2

    Категория: в настройках категории переключить на "показывать только на выбранных витринах" и снять галочку, где показывать не надо. Если не надо показывать вообще нигде, то, видимо, придётся создать в настройках несуществующий домен и вешать такие категории на него.

    Товар: присвоить ему тип товара, который не показывается ни на одной витрине. Типы товаров выбираются в настройках каждой витрины отдельно.

  • 1

    <pre class="smarty" style="font-family:monospace;"><span style="color: #D36900;">&#123;</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;">&#125;</span>
    <span style="color: #D36900;">&#123;</span>header<span style="color: #D36900;">&#40;</span><span style="color: #ff0000;">'HTTP/1.0 404 Not Found'</span>, true<span style="color: #D36900;">&#41;</span><span style="color: #D36900;">&#125;</span>
    <span style="color: #009000;">&lt;p style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;http://placekitten.com/g/800/600&quot; width=&quot;800&quot; height=&quot;600&quot; alt=&quot;Опачки&quot;&gt;&lt;/p&gt;</span>
    &nbsp;
    <span style="color: #D36900;">&#123;</span><span style="color: #00aaff;">$crossselling</span> <span style="color: #D36900;">=</span> <span style="color: #00aaff;">$product</span>-<span style="color: #D36900;">&gt;</span>crossSelling<span style="color: #D36900;">&#40;</span><span style="color: #D36900;">&#41;</span><span style="color: #D36900;">&#125;</span>
    &nbsp;
    <span style="color: #D36900;">&#123;</span><span style="color: #0600FF;">if</span> <span style="color: #00aaff;">$crossselling</span><span style="color: #D36900;">&#125;</span>
    <span style="color: #D36900;">&#123;</span><span style="color: #0600FF;">if</span> <span style="color: #00aaff;">$crossselling</span><span style="color: #D36900;">&#125;</span>
    <span style="color: #008080; font-style: italic;">{* Здесь как-то выводить crosselling-предложения *}</span>
    <span style="color: #D36900;">&#123;</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">&#125;</span>
    <span style="color: #D36900;">&#123;</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">&#125;</span>
    &nbsp;
    <span style="color: #D36900;">&#123;</span><span style="color: #0600FF;">else</span><span style="color: #D36900;">&#125;</span>
    &nbsp;
    &nbsp;
    ..... здесь основной код который был ...
    <span style="color: #D36900;">&#123;</span><span style="color: #D36900;">/</span><span style="color: #0600FF;">if</span><span style="color: #D36900;">&#125;</span></pre>

  • 1
    Павел 11 мая 2015 07:40 #

    Сергей, интересно, ща попробуем!!

  • 1
    Павел 11 мая 2015 12:29 #

    Сергей - все отлично получилось с товаром, Спасибо! А с категорией можно подобное провернуть?

  • 1
    Павел 11 мая 2015 16:34 #

    Сходу не получилось.. завтра еще подумаем, как с категориями быть..

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите