Wyświetlanie produktów w sklepie

Powrót do strony głównej | Powrót do elementy strony głównej


Spis treści

  1. Gdzie znajdują się pliki odpowiedzialne za wyświetlanie produktu?
  2. Listy produktów
    1. Pełna lista
    2. Skrócona lista
    3. Lista alternatywna
  3. Grupy produktów
    1. Grupy produktów
    2. Nowości na stronie
    3. Produkty na stronie głównej
  4. Karta produktu
  5. Jak dodać starą cenę do istniejących już tematów graficznych?
  6. Jak dodać wagę do karty produktu?
  7. Jak dodać kolumny do wyglądu karty produktu?
  8. Jak dodać koszyk do produktów na stronie głównej?
  9. Wyciąganie obiektu produktu poprzez php w html
    1. Listy produktów
    2. Karta produktu
  10. Dodanie recenzji do własnego tematu po aktualizacji do SOTESHOP 5.2

Gdzie znajdują się pliki odpowiedzialne za wyświetlanie produktu?

Wszystkie pliki odpowiedzialne za wygląd graficzny produktu znajdują się w lokalizacji:

soteshop/apps/frontend/modules/stProduct/templates/theme/default

UWAGA!!!
Należy pamiętać o tym, aby nie zmieniać zawartości plików w katalogu default. Dla potrzeb swojego tematu graficznego stwórz nowy katalog w lokalizacji soteshop/apps/frontend/modules/stProduct/templates/theme i przekopiuj tam tylko te pliki, które mają zostać zmienione.

Listy produktów

Pełna lista

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_list_long.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} NazwaGdy nazwa jest większa niż 40 znaków, system ją skraca
{st_product_image_tag product=$product
image_type="small" include_link=true} lub {$product.photo}
Zdjęcie
{$photo_max_height}Maksymalna wysokość zdjęcia dla tej listy
{$product.code}Kod
{$product.description}Opis produktuPokazuje opis skrócony, jeżeli go nie ma, pokazuje opis pełny do 140 znaków
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.basket}Koszyk
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyJeżeli wartość jest różna od 1, to ceny i koszyk mają być wyświetlone
{$product.name_without_link}Nazwa bez linku
{$product.link}Link

Skrócona lista

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_list_short.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} Nazwa
{st_product_image_tag product=$product
image_type="icon" include_link=true} lub {$product.photo}
Zdjęcie
{$product.code}Kod
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.basket}Koszyk
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyJeżeli wartość jest różna od 1, to ceny i koszyk mają być wyświetlone
{$product.name_without_link}Nazwa bez linku
{$product.link}Link

Lista alternatywna

Lista wykorzystywana jest również w koszyku oraz na karcie produktu.

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_list_other.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} NazwaGdy nazwa jest większa niż 13 znaków, to system ją skraca
{st_product_image_tag product=$product
image_type="thumb" include_link=true} lub {$product.photo}
Zdjęcie
{$photo_max_height}Maksymalna wysokość zdjęcia dla tej listy
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.basket}Koszyk
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyJeżeli wartość jest różna od 1, to ceny i koszyk mają być wyświetlone
{$product.name_without_link}Nazwa bez linku
{$product.link}Link

Grupy produktów

Grupy produktów

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_group.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} NazwaGdy nazwa jest większa niż 40 znaków, system ją skraca
{st_product_image_tag product=$product
image_type="small" include_link=true} lub {$product.photo}
Zdjęcie
{$product.description}Opis produktuPokazuje opis skrócony, jeżeli go nie ma, pokazuje opis pełny do 140 znaków
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.basket}Koszyk
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.point}Graficzne wypunktowanieweb/images/frontend/themes/nazwa_tematu/circle_list_product.gif
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyJeżeli wartość jest różna od 1, to ceny i koszyk mają być wyświetlone
{$product.name_without_linkNazwa bez linku
{$product.link}Link
{$product.code}Kod

Nowości na stronie

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_new.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} Nazwa
{st_product_image_tag product=$product
image_type="small" include_link=true} lub {$product.photo}
Zdjęcie
{$product.description}Opis produktuPokazuje opis skrócony, jeżeli go nie ma, pokazuje opis pełny do 140 znaków
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.basket}Koszyk
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.image_list}Graficzne wypunktowanieweb/images/frontend/themes/nazwa_tematu/circle_list_product.gif
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyJeżeli wartość jest różna od 1, to ceny i koszyk mają być wyświetlone
{$product.name_without_link}Nazwa bez linku
{$product.link}Link
{$product.code}Kod

Produkty na stronie głównej

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_main.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$product.id}Id
{$product.name} Nazwa
{st_product_image_tag product=$product
image_type="small" include_link=true} lub {$product.photo}
Zdjęcie
{$product.description}Opis produktuPokazuje opis skrócony, jeżeli go nie ma, pokazuje opis pełny do 140 znaków
{$product.code}Kod
{$product.price}Cena brutto
{$product.price_net}Cena netto
{$product.basket}Koszyk
{$product.discount}Rabat
{$product.old_price}Stara cena brutto
{$product.old_price_net}Stara cena netto
{$product.check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$product.check_price}Możliwość wyświetlania cenyjeżeli wartość jest różna od 1 to ceny i koszyk mają być wyświetlone
{$product.name_without_link}Nazwa bez linku
{$product.link}Link
{$product.code}Kod

Karta produktu

HTMLsoteshop/apps/frontend/modules/stProduct/templates/theme/default/product_show_default.html
CSSsoteshop/web/css/frontend/themes/default/stProduct.css

Nazwa zmiennejWyświetlany elementUwagi
{$id}Id
{$name} Nazwa
{$code}Kod
{$producer}Producent
{$main_category}Kategoria
{$depository}Magazyn
{$description}Opis produktuPobiera opis skrócony, jeżeli go nie ma to obcina pełny opis do 500 znaków
{$description_long}Pełny opis produktu
{$photo}Zdjęcie
{$photos}Galeria zdjęć
{$price}Cena brutto
{$price_net}Cena netto
{$old_price_brutto}Stara cena brutto
{$old_price_net}Stara cena netto
{$price_catalogue}Cena katalogowa netto (przed obniżką rabatową, bądź hurtową)
{$price_catalogue_brutto}Cena katalogowa brutto (przed obniżką rabatową, bądź hurtową)
{$price_discount_percent}Rabat procentowy
{$price_discount_brutto}Rabat jako cena brutto
{$product.discount}Rabat jako cena netto
{$discount_name}Nazwa przyznanego rabatu
{include_st_component module="stZagielFrontend" component="calculate" params="id=$id"}Kalkulator rat Żagiel
{$product_compare}Dodaj produkt do porównania
{$product_question}Zapytanie o produkt
{$product_list}Zakładki Polecamy Produkty, Akcesoria
{$product_description}Zakładki Opis, Recenzje, Poleć produkt
{$check_old_price}Możliwość wyświetlania starej cenyJeżeli wartość jest równa 1, to stara ceny wyświetla się
{$check_price}Możliwość wyświetlania cenyjeżeli wartość jest różna od 1 to ceny i koszyk mają być wyświetlone
{$weight}Waga produktu
{$weight_unit}Jednostka wagi Można ją skonfigurować w Panel administracyjny -> Produkty -> Prezentacja produktów
{$stock}Stan magazynowy
{st_get_component module="stAddThisFrontend" component="shareButtons" params="view='product'"}Przyciski portali społecznościowychElementy portali społecznościowych (AddThis)

Jak dodać starą cenę do istniejących już tematów graficznych?

Wymagania: Dany plik wyglądu musi mieć możliwość wyświetlenia takiego elementu jak stara cena.

Załóżmy, że chcesz dodać tylko starą cenę brutto do pełnej listy produktów:

  1. Edytuj plik soteshop/apps/frontend/modules/stProduct/templates/theme/nazwa_tematu/product_list_long.html
  2. Dodaj w edytowanym pliku kod:
      {if $product.check_price!=1}
          {if $product.check_old_price==1}
          {__ text="Stara cena"}: {$product.old_price}
          {/if}
      {/if}
    
  3. Dany tekst może być wystylowany poprzez wstawienie znaczników html.
  4. Po zapisaniu edytowanego pliku powinna pojawić się stara cena (jeśli jest ona przypisana do danego produktu).

Jak dodać wagę do karty produktu?

  1. Edytuj plik soteshop/apps/frontend/modules/stProduct/templates/theme/nazwa_tematu/product_show_default.html
  2. Dodaj w edytowanym pliku kod:
     {if $show_weight==1 && $weight>0}
      <span>{__ text="Waga"}:</span>{$weight} {$weight_unit}
     {/if}
    

Podobnie wstawia się inne elementy produktu, które zostały wypisane powyżej.

Jak dodać kolumny do wyglądu karty produktu?

  1. Wejdź do katalogu soteshop/apps/frontend/modules/stProduct/config/layout.
  2. Utwórz plik o nazwie twojego tematu nazwa_tematu.yml bazując na pliku default.yml.
  3. Zmień w pliku layout wygląd karty produktu:
     all:
      default:
        layout_name: layout1
      show:
        layout_name: layout3
    
defaultlista produktów
showkarta produktu

Zatem dla wartości show zmieniamy z layout3 na layout1

  show:
    layout_name: layout1

  1. Wyczyść pamięć podręczną - Panel administracyjny -> Konfiguracja -> Optymalizacja -> Wyczyść pamięć podręczną.
  2. Kolumny pojawiły się, zmodyfikuj teraz wygląd karty produktu:
    soteshop/apps/frontend/modules/stProduct/templates/theme/nazwa_tematu/product_show_default.html
    oraz css produktu:
    soteshop/web/css/frontend/theme/nazwa_tematu/stProduct.css

Jak dodać koszyk do produktów na stronie głównej?

  1. Edytuj plik soteshop/apps/frontend/modules/stProduct/templates/theme/nazwa_tematu/product_main.html
  2. Dodaj kod (mus się on znajdować pomiędzy znacznikami {foreach}{/foreach}):
    {php}
    $product = $this->get_template_vars('product');
    echo st_get_component('stBasket', 'add', array('product' => $product['instance'],));
    {/php}
    

Wyciąganie obiektu produktu poprzez php w html

Listy produktów

{foreach key=row item=product from=$results}
...
{php}
$product = $this->get_template_vars('product');
echo $product['instance']->getId();
{/php}
...
{/foreach}

Karta produktu

{php}
$product = sfContext::getInstance()->getActionStack()->getLastEntry()->getActionInstance()->product;
echo $product->getId();
{/php}

Dodanie recenzji do własnego tematu po aktualizacji do SOTESHOP 5.2

  1. HTML - Należy dodać do pliku karty produktu:
soteshop/apps/frontend/modules/stProduct/templates/theme/nazwa_tematu/product_show_default.html

wywołanie recenzji:

{st_get_component module="stReview" component="showStars" params="view='product'"}
  1. CSS - Jeżeli we własnym temacie nie ma pliku css w:
/soteshop/web/css/frontend/theme/nazwa_tematu/stReview.css

To moduł będzie wyglądał poprawnie, jeśli taki plik istnieje w systemie sklepu to należy do pliku:

/soteshop/web/css/frontend/theme/nazwa_tematu/stReview.css

dodać wszystkie style css z pliku

/soteshop/web/css/frontend/theme/default/stReview.css

które są w pliku pod klasą

.st_error