Jump to content
  • 0

Opis tylko na pierwszej stronie kategorii


Mikołaj222

Question

Jak ustawić opis kategorii tylko na pierwszej stronie? Presta 1.4.4.1 tak wygląda mój plik category.tpl

 

{if isset($category)}
{if $category->id AND $category->active}
<h1>{strip}
{$category->name|escape:'htmlall':'UTF-8'}
<span>
{if $category->id == 1 OR $nb_products == 0}{l s='There are no products.'}
{else}
{if $nb_products == 1}{l s='There is'}{else}{l s='There are'}{/if} 
{$nb_products} 
{if $nb_products == 1}{l s='product.'}{else}{l s='products.'}{/if}
{/if}
</span>{/strip}
</h1>
 
{if $scenes}
<!-- Scenes -->
{include file="$tpl_dir./scenes.tpl" scenes=$scenes}
{else}
<!-- Category image -->
{if $category->id_image}
<div class="align_center">
<img src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category')}" alt="{$category->name|escape:'htmlall':'UTF-8'}" title="{$category->name|escape:'htmlall':'UTF-8'}" id="categoryImage" width="{$categorySize.width}" height="{$categorySize.height}" />
</div>
{/if}
{/if}
 
{if $category->description}
<!-- <div class="cat_desc">{$category->description}</div> -->
{/if}
{if isset($subcategories)}
<!-- Subcategories -->
<div id="subcategories">
<h3>{l s='Subcategories'}</h3>
<ul class="inline_list">
{foreach from=$subcategories item=subcategory}
<li>
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}">
{if $subcategory.id_image}
<img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{else}
<img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{/if}
</a><br />
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>
</li>
{/foreach}
</ul>
<br class="clear"/>
</div>
{/if}
 
{if $products}
{include file="$tpl_dir./product-compare.tpl"}
{include file="$tpl_dir./product-sort.tpl"}
{include file="$tpl_dir./product-list.tpl" products=$products}
{include file="$tpl_dir./product-compare.tpl"}
{include file="$tpl_dir./pagination.tpl"}
{elseif !isset($subcategories)}
<p class="warning">{l s='There are no products in this category.'}</p>
{/if}
{elseif $category->id}
<p class="warning">{l s='This category is currently unavailable.'}</p>
{/if}
{/if}
Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Jako główne mam w panelu pod nazwą produkt, których jest 6 i tam opis jest okej, bo jest tylko jedna podstrona, bez paginacji. 

 

 

Odpowiadając na pytanie to chyba tak, dla wszystkich podkategorii tych głównych chcę ukryć opis tak by się pojawiał tylko na pierwszej stronie paginacji.

 

 

Jeszcze lepiej jakby mi ktoś pomógł wstawić rel next i prev, chociaż bez tego to już się obędę.

 

 

Dzięki i pozdrawiam!

 

Link to comment
Share on other sites

  • 0

w tym wypadku należy zmodyfikować category.tpl

 

nalezy tam dodać {if} condition, który sprawdzi głębokość kategorii, którą przeglądamy.

i tak, kategoria o głębokości 3 jest tą "główną", kategorie z większą głębokością to podkategorie

{if $category->level_depth <=3}
// kod opisu
{/if}

w miejsce //kod opisu wstawiamy fragment category.tpl odpowiedzialny za opis

Link to comment
Share on other sites

  • 0

Takie wymogi spotkać można w audytach SEO Presty, bo dla zwykłych userów ukrywanie tego nie ma większego sensu, gdyż tak jak napisał kolega powyżej i tak jest to przeładowywane dynamicznie.

 

Można zmodyfikować category.tpl, sprawdzić na jakiej stronie jesteśmy:

 
{$currentPage = Tools::getValue('p')}

I potem od tego uzależnić wyświetlenie opisu:

{if $currentPage < 2}
   <div class="rte">{$category->description}</div>
{/if}
Link to comment
Share on other sites

  • 0

Witam.

Przedstawione rozwiązanie działało mi w wersji 1.5, po aktualizacji do 1.6.1.6 znów opis kategorii pojawia się na każdej podstronie. Czy zna ktoś rozwiązanie tego problemu?

 

Mój plik category.tpl wygląda tak:

 

{include file="$tpl_dir./errors.tpl"}
{if isset($category)}
{if $category->id AND $category->active}
    {if $scenes || $category->description || $category->id_image}
<div class="content_scene_cat">
            {if $scenes}
                  <div class="content_scene">
                        <!-- Scenes -->
                        {include file="$tpl_dir./scenes.tpl" scenes=$scenes}
                        {if $category->description}
                            <div class="cat_desc rte">
                            {if Tools::strlen($category->description) > 2350}
                                <div id="category_description_short">{$description_short}</div>
                                <div id="category_description_full" class="unvisible">{$category->description}</div>
                                <a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='More'}</a>
                            {else}
                                <div>{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                    </div>
{else}
                    <!-- Category image -->
                    <div class="content_scene_cat_bg"{if $category->id_image} style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}) right center no-repeat; background-size:cover; min-height:{$categorySize.height}px;"{/if}>
                        {if $category->description}
                            <div class="cat_desc">
                            <span class="category-name">
                                {strip}
                                    {$category->name|escape:'html':'UTF-8'}
                                    {if isset($categoryNameComplement)}
                                        {$categoryNameComplement|escape:'html':'UTF-8'}
                                    {/if}
                                {/strip}
                            </span>
                            {if Tools::strlen($category->description) > 3350}
                                <div id="category_description_short" class="rte">{$description_short}</div>
                                <div id="category_description_full" class="unvisible rte">{$category->description}</div>
                                <a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='More'}</a>
                            {else}
       <div class="rte">{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                     </div>
                  {/if}
            </div>
{/if}
<h1 class="page-heading{if (isset($subcategories) && !$products) || (isset($subcategories) && $products) || !isset($subcategories) && $products} product-listing{/if}"><span class="cat-name">{$category->name|escape:'html':'UTF-8'}{if isset($categoryNameComplement)} {$categoryNameComplement|escape:'html':'UTF-8'}{/if}</span>{include file="$tpl_dir./category-count.tpl"}</h1>
{if isset($subcategories)}
        {if (isset($display_subcategories) && $display_subcategories eq 1) || !isset($display_subcategories) }
<!-- Subcategories -->
<div id="subcategories">
<p class="subcategory-heading">{l s='Subcategories'}</p>
<ul class="clearfix">
{foreach from=$subcategories item=subcategory}
<li>
                <div class="subcategory-image">
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
{if $subcategory.id_image}
<img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')|escape:'html':'UTF-8'}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{else}
<img class="replace-2x" src="{$img_cat_dir}{$lang_iso}-default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{/if}
</a>
                    </div>
<h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></h5>
{if $subcategory.description}
<div class="cat_desc">{$subcategory.description}</div>
{/if}
</li>
{/foreach}
</ul>
</div>
        {/if}
{/if}
{if $products}
<div class="content_sortPagiBar clearfix">
            <div class="sortPagiBar clearfix">
            {include file="./product-sort.tpl"}
                {include file="./nbr-product-page.tpl"}
</div>
                <div class="top-pagination-content clearfix">
                {include file="./product-compare.tpl"}
{include file="$tpl_dir./pagination.tpl"}
                </div>
</div>
{include file="./product-list.tpl" products=$products}
<div class="content_sortPagiBar">
<div class="bottom-pagination-content clearfix">
{include file="./product-compare.tpl" paginationId='bottom'}
                    {include file="./pagination.tpl" paginationId='bottom'}
</div>
</div>
{/if}
{elseif $category->id}
<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
{/if}
{/if}
Link to comment
Share on other sites

  • 0

Strona ci sie przeładowuje czy produkty są wczytywane ajaxem?

Jestem laikiem i prawdę mówiąc nie mam pojęcia czy strona wczytuje się ajaxem, czy się przeladowuje, może jeśli zerkniesz na stronę to będziesz to widział. Adres strony: lampa-lampy.pl. Zauważyłem, że we wcześniejszej wersji presty adres podstrony w kategoriach kończył się na "?p=2" a tutaj jest to tak "#/page-2"

Link to comment
Share on other sites

  • 0

Skoro strona się nie odświeża tylko kręci się kółeczko i pojawiają produkty, to znaczy, że przeładowuje się ajaxem, więc opis zostaje.

Dzięki za informację,a czy moglibyście jeszcze podpowiedzieć, gzie mogę to zmienić?

Link to comment
Share on other sites

  • 0

Ale po co to zmieniać? Generalnie obecność modułu blocklayered wpływa na to dynamiczne odświeżanie się listy kategorii. Trzeba by grzebać w tym module lub go wyłączyć.

Rozumiem po twojej odpowiedzi, że przy takim sposobie wczytywania podstron nie będzie występował problem z duplikacją treści. Dobrze zrozumiałem? Tego się obawiałem

Link to comment
Share on other sites

  • 0

Witam.

W ostatnim czasie site naszej witryny (lampa-lampy.pl) zwiększył się prawie dwukrotnie poprzez zaindeksowanie w wynikach google m.in. wyniki sortowań po różnych parametrach, porzuconych koszyków zakupów itp., pomimo tego że są one blokowane w robots.txt. Wyświetlają się one w wynikach wyszukiwania z opisem: „wyświetlanie zablokowane w pliku robots.txt”. Czy zna ktoś sposób na niewyświetlanie tych wyników? Znalazłem jedną radę, ale kompletnie nie wiem gdzie mam dokonać takich zmian –

„blokowanie stron poprzez znacznik metatag robots. Aby tego dokonać, należy nadpisać kontroler search i przekazać w nim do szablonu Smarty zmienną nobots ustawioną na TRUE. W tym przypadku należy pamiętać o usunięciu pliku cache/class_index.php”

 

Drugi problem to duplikowanie metatytułów i metaopisów kategorii oraz producentów. Dla uniknięcia powielania treści na podstronach kategorii zastosowałem zmianę, która powoduje wyświetlanie opisu danej kategorii tylko na jej pierwszej stronie, kolejne są bez opisu. Jednak opisy  „meta” są wszędzie identyczne i kolejne strony danej kategorii są zaindeksowane z powielanymi metatytułami i metaopisami. Czy można w jakiś sposób dopisać na przykład na ich początku odpowiednio „strona1” , „strona2” itd., tak żeby były zróżnicowane?

Link to comment
Share on other sites

  • 0

Witam. Proszę o informację czy w standardowym szablonie Presty 1.7.6.5 nadal występuje duplikacja opisu kategorii przy stronicowaniu ? Kolejne strony kategorii indeksowane są w google jako strony nieprzesłane w mapie strony. Tak więc rozumiem że jak nie ma ich w mapie strony to nie powinny być indeksowane. Czy dobrze myślę ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...