Przykłady do wtyczki "SEO-optymalizacja"
Przykłady zmiennych i konstruktów dla szablonów wtyczek.
1. Wyprowadzanie tagów towaru
{($product.tags|default:[]|sep:', ')}
2. Wyprowadzanie cech
Ogólny szablon:
{$product.features['KOD_CHARAKTERYSTYKI']}
Gdzie, 'KOD_CHARAKTERYSTYKI' - ID cechy (np. marka).
Działa tylko dla następujących typów cech:
- Wybór wartości z listy (select): Tekst;
- Wszelkie zakresy.
Wyświetl cechy bez znaczników HTML (istotne dla cech typu "Kolor"):
{implode(', ', $product.features['KOD_CHARAKTERYSTYKI']|default:[])|strip_tags}
Wyświetl cechy ze znacznikami HTML:
{implode(', ', $product.features['KOD_CHARAKTERYSTYKI']|default:[])|strip_tags}
Lista kolorów produktów:
{foreach $product.features['color'] as $color} {$color|strip_tags|strip} {/foreach}
3. Linki do witryn
{$wa_app_url}
4. Linki do kategorii
{$wa->shop->categoryUrl($category)}
5. Swój separator podczas wyliczania
Na przykład jako separator można użyć przecinka, spacji. Aby to zrobić, użyj modyfikatora «|sep:' '» musisz zarejestrować «|sep:', '». Przykład:
{($product.tags|default:[]|sep:' ')}
Wszystkie tagi będą oddzielone spacją.
6. Link do kategorii nadrzędnej
{$wa->shop->categoryUrl($root_category)}
7. Kategoria jest o jeden poziom wyższa niż {$category}
{$parent_category = $categories[count($categories) - 2]|default:null}
8. Parametry kategorii, do której produkt jest powiązany (szablon towarów)
{$category = $wa->shop->category($category.id)} {$category.params.sample}
9. Maksymalna cena towaru
{$category.max_price}
10. Ceny zmienne bez prefiksu "zł"
Minimalna cena produktu w kategorii:
{$category.min_price_without_currency}
Maksymalna cena produktu w kategorii:
{$category.max_price_without_currency}
Aktualna cena towaru:
{$product.price}
11. Sprawdzanie typu towaru
Według ID:
{if $product.type_id == 1} Title dla towaru o typie z ID 1{/if}
Według nazwy typu:
{if $product.type.name == 'Nazwa typu'} Title dla towarów z typem «Nazwa typu»{/if}
12. Osobiste meta tagi kategorii i produktów
{$product.meta_keywords} - słowa kluczowe produktu {$product.meta_description} - description produktu {$product.meta_title} - title produktu {$category.meta_keywords} - słowa kluczowe kategorii {$category.meta_description} - description kategorii {$category.meta_title} - title kategorii
13. Nazwy wszystkich kategorii produktów
Zmienna {$category.name} wyświetla tylko jedną kategorię, do której powiązany jest produkt.
{$product_categories_names = []} {foreach $product.categories as $product_category} {$product_categories_names[] = $product_category.name} {/foreach} {$product_categories_names|sep:' '}
14. Jeśli nie ma produktów w kategorii, zero nie wyświetla
{if $category.products_count == 0} {$products_count = 0} {else} {$products_count = $category.products_count} {/if} {$products_count}
15. Zsumuj ilość produktów z podkategorii
Wklej następujący kod na początku szablonu SEO:
{if $category.products_count == 0} {$products_count = 0} {foreach $category.subcategories as $c} {$products_count = $products_count + $wa->shop->productsCount("category/`$c.id`")} {/foreach} {else} {$products_count = $category.products_count} {/if}
I użyj zmiennej {$products_count}. Może wydłużyć czas ładowania stron kategorii.
16. Unikalne tytuły Title dla pierwszej, drugiej, trzeciej strony i kolejnych stron
{if $page_number == 1} Szablon Title dla pierwszej strony {elseif $page_number == 2} Szablon Title dla drugiej strony {elseif $page_number == 3} Szablon Title dla trzeciej strony {else} Szablon Title dla kolejnych stron - {$page_number} {/if}
17. Zagnieżdżanie kategorii
Określić poszczególne poziomy:
{$parent_categories[POZIOM KATEGORII]['seo_name']}
Pełna ścieżka:
{$parent_category_seo_names = []} {foreach $parent_categories as $i => $_category} {$parent_category_seo_names[$i] = $_category['seo_name']} {/foreach} {$parent_category_seo_names|sep:' '}
18.Wartość losowa z tablicy
{['jeden', 'dwa', 'trzy']|random}
Przykłady zmiennych i konstrukcji szablonów motywów projektowych
1. Wyświetl "SEO-nazwa"
{$product = shopSeoViewHelper::extendProduct($item.product)} {$product.seo_name}
lub
{$product = shopSeoViewHelper::extendProduct($wa->shop->product($item.product.id))} {$product.seo_name}
2. Wyświetl wartości pól {$category.fields[1].value}
{$category = shopSeoViewHelper::extendCategory($category)} {$category.fields[2].value} {$category.fields[3].value}
3. Wyświetl oryginalną nazwę kategorii
Na przykład dla bułki tartej (aby wtyczka go nie zmieniła).
{$category.original_name}
4. Ukryj dodatkowy opis kategorii na stronach filtrowania
{if $is_seofilter|default:false || count(shopSeofilterFilterFeatureValuesHelper::normalizeParams($smarty.get) == 0)} {$category.additional_description|default:''} {/if}