Press "Enter" to skip to content

Sklep PrestaShop 1.7 – dodanie listy podkategorii na stronie kategorii

Admin 2

Domyślnie w PrestaShop 1.7 usunięto listę (przeważnie w formie boxów) podkategorii danej kategorii. A to źle, bo znacząco ułatwiało to nawigację po sklepie internetowym szczególnie dla urządzeń mobilnych. Idea Mobile First! – tutaj twórcom ewidentnie nie przyświecała..

Pożądany wygląd strony z kategorią – lista podkategorii

Ale można ją łatwo przywrócić poprzez doklejenie kodu.

Otwórz plik (dla szablonu domyślnego):

themes/classic/templates/catalog/listing/category.tpl

następnie pod nagłówkiem <h1> umieść kod:

{if isset($subcategories)}
    <!-- Subcategories -->
    <div id="subcategories">
        <p class="subcategory-heading">{l s='Podkategorie'}</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, 'category_default')|escape:'html':'UTF-8'}" alt="{$subcategory.name|escape:'html':'UTF-8'}"/>
                            {else}
                                <img class="replace-2x" src="{$img_cat_dir}{$lang_iso}-default-category_default.jpg" alt="{$subcategory.name|escape:'html':'UTF-8'}"/>
                            {/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}

Taką listę należy ostylować. Otwórz plik:

themes/classic/assets/css/theme.css

I dopisz na końcu:

#subcategories {
    border-top: 1px solid #d6d4d4;
    padding: 15px 0 0px 0;
}
 
#subcategories p.subcategory-heading {
    font-weight: bold;
    color: #333;
    margin: 0 0 15px 0;
}
 
#subcategories ul {
    margin: 0 0 0 -20px;
}
 
#subcategories ul li {
    float: left;
    width: 145px;
    margin: 0 0 13px 33px;
    text-align: center;
    height: 202px;
}
 
#subcategories ul li .subcategory-image {
    padding: 0 0 8px 0;
}
 
#subcategories ul li .subcategory-image a {
    display: block;
    padding: 27px 0px;
    border: 1px solid #d6d4d4;
}
 
#subcategories ul li .subcategory-image a img {
    max-width: 100%;
    vertical-align: top;
}
 
#subcategories ul li .subcategory-name {
    font: 600 18px/22px "Open Sans", sans-serif;
    color: #555454;
    text-transform: uppercase;
}
 
#subcategories ul li .subcategory-name:hover {
    color: #515151;
}
 
#subcategories ul li .cat_desc {
    display: none;
}
 
#subcategories ul li:hover .subcategory-image a {
    border: 5px solid #333;
}

UWAGA! Aby zmiany były widoczne musisz wyczyścić cache / usunąć plik cache / wymusić kompilację szablonu w dziale: Zaawansowane -> Wydajność. Analogicznie jak w wersji PrestaShop 1.6 Więcej informacji na ten temat.

 

 

źródło: mypresta.eu/prestashop-17/display-available-subcategories.html
grafika: wallpaperaccess.com

  1. Damian Damian

    Witam

    Załóżmy że dodam do koszyka produkt A. Teraz po wejściu do koszyka chciałbym aby wyskoczyła informacja „Dodaj produkt B to będziesz miał darmową przesyłkę”. Czy poza pakietem produktów da się to jakoś zrobić na wersji 1.7.6.1 Presty? Czy jest do tego jakiś moduł?

    Pozdrawiam

    • Admin Admin

      Chyba tylko pakiety. Ewentualnie może jakieś reguły koszyka ale tego nie sprawdzałem pod tym kątem

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Jak skorzystać z wbudowanej w PrestaShop funkcji i utworzyć kody…