Design:Template
From Katapulta
Template-urile Katapulta controlează modul cum va arăta magazinul tău pe web. De exemplu când un cumpărător vizualizează pagina unui produs, Katapulta va folosi template-ul product.html pentru afișarea paginii produsului respectiv. Dacă cumpărătorul vizualizează pagina de Blog a magazinului tău, template-ul blog.html va fi folosit.
Template-urile Katapulta
- layout.html - acesta este privit ca un template „container”; toate celelalte template-uri extind (chiar dacă nu e obligatoriu) acest template, deci conținutul lor este redat în cadrul acestui template de bază. Dacă site-ul tău are elemente care se repetă cum ar fi un sidebar sau un meniu principal, atunci este recomandat ca acestea să fie definite aici.
- frontpage.html - redă pagina principală (index/home)
- product.html - redă pagina unui produs
- cart.html - redă pagina „coșul de cumpărături”
- collection.html - redă pagina unei colecții de produse
- collection-by-type.html - redă pagina colecției predefinite „Produse după tipul produsului”
- collection-by-vendor.html - redă pagina colecției predefinite „Produse după producător”
- catalog.html - redă catalogul de produse
- blog.html - redă pagina de blog a site-ului tău; aici apare lista de articole (post-uri)
- post.html - redă pagina unui articol din blog
- postcategory.html - redă pagina unei categorii de articole din blog
- page.html - redă pagina unei pagini statice
- search.html - redă rezultatele unei căutări dupa unul sau mai mulți termeni
- 404.html - redă pagina de eroare 404
Tag-ul Include și Widget-urile
Tag-ul include este folosit pentru a include fragmente de cod în template-urile tale. Aceste fragmente de cod sunt numite în Katapulta widget-uri. Widget-urile se folosesc în special când ai același cod html se repetă în mai multe template-uri. Pentru a nu rescrie de fiecare data același cod acesta se grupează în cadrul unui fișier folosit ca și widget.
Sintaxa pentru include este simplă:
{% include 'widgets/latestposts.html' %}
Spre deosebire de template-urile Katapulta care sunt limitate ca număr, widget-urile pot fi oricâte.
Mai jos prezentăm câteva exemple de widget-uri:
- Categoriile de articole din Blog:
<div class="widget-box">
<h4>Articole</h4>
<ul id="blog-categories">
{% for category in blog.categories %}
<li id="category_{{ category.id }}">
<a href="{{ category.url }}" title="{{ category.title|e }}">{{ category.title|e }}</a>
<ul id="postlist-category_{{ category.id }}" class="no-bull sub-list">
{% for post in category.posts %}
<li><a href="{{ post.url }}">{{ post.title|truncate(30) }}</a></li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
</div>
- Sumarul coșului de cumpărături:
<div class="cart-summary">
{% if cart.item_count > 0 %}
<p><b>Coșul tău:</b> <br/>
<a href="/cart">{{ cart.item_count }} produs(e) în valoare de {{ cart.total_cart|money }}</a>
</p>
{% else %}
<p>Coșul de cumpărături este gol.</p>
{% endif %}
</div>
- Ultimele X articole din blog:
<div class="widget-box">
<h4>Ultimele articole</h4>
<ul id="latestposts" class="no-bull">
{% for post in blog.all_posts({'limit': 5}) %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
</div>