Jump to content

Grundpreisangabe auf der Produktübersichtseite (oder Startseite)


Recommended Posts

Hallo Leute,

 

 

ich hoffe hier auf etwas Hilfe zu meinem Problem. Ich möchte bei den Artikeln welche eine Stückpreisangabe haben dies gerne auch direkt auf der Produktübersichtsseite und dem dazugehören Hover anzeigen lassen. Ich habe dazu 2 Screenshots angehängt von den Stellen wo ich meine. 

 

Ist es nur eine simple Einstellung die ich einfach nicht finde oder muss ich da tiefer in die Materie?

 

post-1126783-0-26515300-1460660328_thumb.png

 

post-1126783-0-46365400-1460660337_thumb.png

 

Link to comment
Share on other sites

Hallo StefanDE,

 

ich hatte auch am Anfang probleme mit der Einblendung der Grundpreise. Hast Du mal im temaplate nachgesehen ob das entsprechende Snippet überhaupt vorhanden ist? Bei mir steht da z.B. in der

 

/themes/default-bootstrap/product-list.tpl, ab Zeile 95 das hier

 

 

{hook h="displayProductPriceBlock" product=$product type="price"}
{hook h="displayProductPriceBlock" product=$product type="unit_price"}
 

 

Bei mir war es bei einem third_party Theme nämlich teilweise nicht vorhanden.

  • Like 1
Link to comment
Share on other sites

Hallo Dusticelli,

 

danke schonmal für deine Antwort :) Habe gerade nachgesehen und diese Zeile steht ganz normal in der "/themes/default-bootstrap/product-list.tpl"

 

Auf der Produktdetailsseite wird der Grundpreis angezeigt, nur auf der Übersichtsseite irgendwie nicht. Besteht denn die Möglichkeit mit diese Zeile irgendwo anders einzusetzen? Ich bin da leider relativ neu in der Materie aber lernwillig.

 

Die "Funktion" das der Grundpreis angezeigt wird scheint ja auf jeden FAll mit eingedacht zu sein, kann es denn sein das ich irgendwo noch eine Einstellung setzen muss damit es auch auf der "Startseite" also nicht der Produktbeschreibung angezeigt wird?

 

Schönen Samstag an euch!

Link to comment
Share on other sites

Versuch mal anstelle von

 

 

 

 

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

 

 

das hier

 

{if !empty($product.unity) && $product.unit_price_ratio > 0.000000}<div class="mybaseprice"><br />

{math equation="pprice / punit_price" pprice=$product.price punit_price=$product.unit_price_ratio assign=unit_price} 
{convertPrice price=$unit_price} {l s='per'} {$product.unity|escape:'html':'UTF-8'} </div>{else}<div class="mybaseprice"><br /><br /></div>
{/if}

 

Ich weiß gerade nicht mehr was das genau ist, weil ich da so eine Abfrage nach Kundengruppen vorher drin habe und die Grundpreise bei mir mal netto, mal brutto angezeigt werden, aber ich meine das könnte passen..

 

Mach Dir vor der Änderung immer ein Backup.

  • Like 1
Link to comment
Share on other sites

Also zuerst wollte ich schreiben es hat nicht geklappt, da mir keine "neuen" Artikel mehr angezeigt worden sind (siehe Screenshot).... während dem Beitrag schreiben waren diese dann auf einmal da und der grundpreis wurde auch angezeigt einzig die Fläche dafür ist etwas groß geraten (siehe auch screenshot) wenn ich die noch irgendwie kleiner bekomme bin ich erstmal glücklick. :-)

 

post-1126783-0-14336700-1460820180_thumb.png

post-1126783-0-98287700-1460820478_thumb.png

post-1126783-0-79099600-1460820521_thumb.png

Link to comment
Share on other sites

Am besten wäre es halt wenn es auch ohne Hover direkt dabei stehen würde an der Position im Screenshot.

 

Das zweite Screenshot ist die Ansicht ohne Grundpreis, welche etwas schrumpfen müsste... über die css edit funktion im firefox habe ich das nicht hinbekommen, ist das auch in der productlist.tpl wahrscheinlich? Schrift müsste ja auch noch bissl heller gemacht werden.

 

 

Vielen Dank!

 

post-1126783-0-53832900-1460821444_thumb.png

post-1126783-0-36397100-1460821450_thumb.png

 

 

Link to comment
Share on other sites

 

 

wenn ich die noch irgendwie kleiner bekomme bin ich erstmal glücklick. :-)

 

Da musst Du ein bisschen Hand an die CSS legen.

 

 

 

Am besten wäre es halt wenn es auch ohne Hover direkt dabei stehen würde an der Position im Screenshot.

 

Das sollte auch so sein, wenn ich nicht irre, also Anzeige des Grundpreises mit und ohne Hover. Der zweite Screenshot ist von den Tabs auf der Starseite, da musst du ein andere Termplate überprüpfen, glaub eines welches du unter Module findest...

Link to comment
Share on other sites

Ich glaub ich verzweifel noch an dem Thema, ich frag mich halt auch wenn die Zeile schon vorhanden ist:

 

 

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

 

 

Warum diese nicht auch angezeigt wird?

 

Sobald ich an Zeile 151 (siehe screenshot) den Part von oben einsetze verschwinden alle Artikel von der Startseite.

 

 

Das ist echt traurig an diesem regnerischen Sonntag.... eigentlich wollte ich Produktbeschreibungen machen, aber Grundpreis ist wichtiger :-/

 

Den Part kleiner machen über die CSS hat auch nicht geklappt, da irgendwo ein zeilenumbruch mit dem Grundpreis reinkommt und der den Kasten "vergrößert" die "br" rausnehmen hat aber keine abhilfe geschaffen. 

 

Ich freue mich wirklich über jede Möglichkeit zur Hilfe und selbsthilfe und wünsche einen schönen Sonntag

 

post-1126783-0-68429000-1460886463_thumb.png

post-1126783-0-27244500-1460886467_thumb.png

Link to comment
Share on other sites

padring-left: Xpx;

padding-right: Xpx;

 

Verkleinert een entsprechenden Container.

 

Je nacheem wo Du diese Anpassung vornimmst, also an welche Stelle diese Definition zeitlich beim Pageload geladen wird, wird sie evtl. nochmal von anderen Definitionen überschrieben. Dann könnte ein !important helfen.

 

Das kannst Du aber um Inspector im Browser erkennen....

  • Like 1
Link to comment
Share on other sites

Ok Kommando zurück, Produkte lag nur am htacsess. Nachdem ich die neu generiert habe sind die Produkte da und alles wird so angezeigt wie es muss!!!!! <3 

 

 

Hier die Screens dazu:

 

post-1126783-0-71791000-1460888038_thumb.pngpost-1126783-0-01798400-1460888043_thumb.pngpost-1126783-0-28251700-1460888075_thumb.pngpost-1126783-0-94899600-1460888080_thumb.png

 

Wenn wir aber schon dabei sind so ein Thread zu haben wo eine schöne Lösung dazu ausgearbeitet wird fehlt eigentlich nur noch folgendes, weiß denn jemand wo sich das im Quelltext versteckt?

 

post-1126783-0-24834600-1460888275_thumb.png

 

Sind die "Neuen Produkte" auf der Kategorieübersichtsseite in der linken spalte. 

 

 

 

Link to comment
Share on other sites

Hallo Stefan,

 

So eine sch.... selbst wenn ich jetzt die originale product_list wieder hochlade kommen meine artikel nicht mehr zurück :-(

 

attachicon.gifBildschirmfoto 2016-04-17 um 12.00.06.pngattachicon.gifBildschirmfoto 2016-04-17 um 12.00.01.png

 

du mußt nur smarty neu kompilieren und den cache löschen dann funktioniert alles wieder.

 

Zu deinem Problem:

du öffnest die product-list.tpl und ersetzt die Zeile

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

zweimal durch:

{if $product.unit_price_ratio && $product.price}
	{math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
	{convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}

Danach wieder Smarty neu kompillieren und Cache Löschen!

 

Dadurch werden die Grundpreise bei der Anzeige im mittleren Shopbereich ersetzt, natürlich nicht die Preise in den Anzeigen in den Spalten wie z.B. bei "neue Artikel" oder bei "Sonderangebote" in der Kategorieübersicht (default linke Spalte) also Vorsicht, Abmahngefahr.

 

Grüsse

Whiley

 

EDIT:

Ah, ok, da haben sich ein paar posts überschnitten, sorry, aber trotzdem beachte die Darstellungen in den Seitenspalten.

Edited by Whiley
Überschneidung (see edit history)
  • Like 1
Link to comment
Share on other sites

Danke an whiley & dusticelli für eure hilfe in diesem thread. Ich denke wenn wir das mit der Spalte noch irgendwie hinbekommen würde ich mich danach dazu hinreissen lassen einen Leitfaden zu verfassen wie man die Grundpreise in den Hover, die Produktübersicht und die "Neue Produkte" Spalte bekommt, um der Community auch was zurück zu geben. 

 

Meine Laune hat sich innerhalb der letzten Stunden bestimmt vierzig mal geändert :D 

Link to comment
Share on other sites

Z.B. für "Neue Artikel" wäre das die

 

/themes/DeinTheme/modules/blocknewproducts/blocknewproducts.tpl

 

aber soweit ich das in Erinnerung habe stehen dir dort nicht alle Variablen zur Verfügung, du wirst dann wohl auch die passende php anpassen müssen

/modules/blocknewproducts/blocknewproducts.php

 

Grüsse

Whiley

 

[offtopic]

@dusticelli, ich war gerade auf deiner Seite,  gehe mal spasseshalber auf eine deiner Kategorieseiten und wechsle mal die Kachel- in die Listenansicht, ab diesem Zeitpunkt sind deine Lieferzeitangaben verschwunden (Abmahngefahr); auch beim Zurückstellen bleiben die dann verschwunden. Suche mal, ich meine so vor 2-3 Monaten habe ich da mal ne Lösung gepostet.

[/offtopic]

  • Like 1
Link to comment
Share on other sites

 

{*

* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2015 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
<!-- MODULE Block new products -->
<div id="new-products_block_right" class="block products_block">
<h4 class="title_block">
    <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a>
    </h4>
    <div class="block_content products-block">
        {if $new_products !== false}
            <ul class="products">
                {foreach from=$new_products item=newproduct name=myLoop}
                    <li class="clearfix">
                        <a class="products-block-image" href="{$newproduct.link|escape:'html'}" title="{$newproduct.legend|escape:html:'UTF-8'}"><img class="replace-2x img-responsive" src="{$link->getImageLink($newproduct.link_rewrite, $newproduct.id_image, 'small_default')|escape:'html'}" alt="{$newproduct.name|escape:html:'UTF-8'}" /></a>
                        <div class="product-content">
                        <h5>
                            <a class="product-name" href="{$newproduct.link|escape:'html'}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a>
                            </h5>
                        <p class="product-description">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:75:'...'}</p>
                            {if (!$PS_CATALOG_MODE AND ((isset($newproduct.show_price) && $newproduct.show_price) || (isset($newproduct.available_for_order) && $newproduct.available_for_order)))}
                            {if isset($newproduct.show_price) && $newproduct.show_price && !isset($restricted_country_mode)}
                                    <div class="price-box">
                                        <span class="price">
                                        {if !$priceDisplay}{convertPrice price=$newproduct.price}{else}{convertPrice price=$newproduct.price_tax_exc}{/if}
                                        </span>
                                        {hook h="displayProductPriceBlock" product=$newproduct type="price"}
                                    </div>
                                {/if}
                            {/if}
                        </div>
                    </li>
                {/foreach}
            </ul>
            <div>
                <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='All new products' mod='blocknewproducts'}" class="btn btn-default button button-small"><span>{l s='All new products' mod='blocknewproducts'}<i class="icon-chevron-right right"></i></span></a>
            </div>
        {else}
        <p>» {l s='Do not allow new products at this time.' mod='blocknewproducts'}</p>
        {/if}
    </div>
</div>

 

 

So sieht die Datei aus. Wie ist es jetzt Laien auf dem Gebiet möglich dort den Grundpreis anzeigen zu lassen? Ich möchte ja wirklich nicht über Prestashop schimpfen weil ich eigentlich begeistert sind, aber wie machen das denn andere Anbieter mit Prestashop? Gibt es für solch "kleine" Arbeiten irgendwelche Agenturen? Ich will wirklich kein Geld verbrennen, aber günstiger als eine Abmahnung wäre es definitiv. ;-)

Link to comment
Share on other sites

@SefanDE

 

Naja du suchst halt nach der Zeile die den Preis wiedergibt, in diesem Fall also diese hier

{hook h="displayProductPriceBlock" product=$newproduct type="price"}

und wirfst das Snippet dass Du aus der anderen *.tpl kennst mal probeweise darunter. Dann lädst Du die Seite im FO und guckst ob sich was geändert hat (neu kompilieren aktiv, alle caches aus,  vorasugesetzt)

 

Im besten Fall wird der Grundpreis angezeigt, dann klatschst Du in die Hände und freust Dich, im schlechtesten Fall passiert nix, dann könnte es sein, dass Du wie Whiley schrieb noch an anderer Stelle Variablen verfügbar machen musst. Alternativ kannst Du aber auch in dem Template den Preis einfach rausnehmen, oder auskommentieren dann wird er in dieser Ansicht nicht angezeigt und Du hast auch keine Abmahngefahr.

 

Und klar, kannst Du diese Arbeiten auch von einer Agentur oder einem Einzelprofi machen lassen. Lass Dich nicht davon entmutigen, ich verspreche Dir, diese Problematik hast Du bei allen Open Source Shop Systemen! Dafür ist ja die Software kostenlos.

 

Aber wenn man im Forum etwas Hilfe bekommt, dann findet man meistens die Lösung des eigenen Problems.

  • Like 1
Link to comment
Share on other sites

Ja die Hilfe im Forum ist ja auf jeden Fall schon mal sehr gut, auch wenn ich keine Vergleiche hab. Ich werde vor meiner nächsten Bastelstunde (am Wochenende) mein Shop mal in ne Testumgebung setzen, das mit xampp hat irgendwie nicht geklappt auch wenn ich es direkt nach Anleitung gemacht hab. Werd dann direkt aufm Webspace installieren und dann das ganze mal testen. 

Link to comment
Share on other sites

 

 

aber soweit ich das in Erinnerung habe stehen dir dort nicht alle Variablen zur Verfügung, du wirst dann wohl auch die passende php anpassen müssen

/modules/blocknewproducts/blocknewproducts.php

 

Grüsse

Whiley

 

 

@ Whiley

 

kannst Du hier nochmal weiterhelfen? 

 

Es geht nämlich tatsächlich nicht, mit dem Snippet. Jedenfalls in den productbestsellers. da habe ich es probiert. Im Forum gibt es offenbar tatsächlich keinen Eintrag dazu. Jedenfalls liefert der String "Grundpreis" gerade mal 21 Einträge im deutschen Forum, und davon die meisten von 2014 und vorher. Keiner davon thematisiert die Anzeige in den Bestsellern und anderen Spaltenanzeigen. 

 

Wie bekommen wir die benötigten Variablen (welche sind das?)  in das Template?

Link to comment
Share on other sites

  • 1 year later...

Hallo, wenn ich genau so vorgehe wie Whiley schreibt  (siehe unten),  wird mir die Kategorienseite nicht mehr angezeigt.    Es ist ein 1.6.1.12  mit Standard-Theme  bei dem ich noch probiere.  Kompilieren usw. hilft auch nix. 

 

Kann mir jemand dazu helfen?  Eine saubere Grundpreisangabe wäre doch mal was für ein Shopsystem im Jahr 2017   <_<

 

 

.....du öffnest die product-list.tpl und ersetzt die Zeile

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

zweimal durch:

{if $product.unit_price_ratio && $product.price}
	{math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
	{convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}

Danach wieder Smarty neu kompillieren und Cache Löschen!

......

Link to comment
Share on other sites

Hi Whiley,

ich habe es nochmal übertragen (zum gefühlt 10. mal),  es lag an der Datei-Endung, die zwar tpl war, aber irgendwie beschädigt sein musste.  Habe die Datei nochmal bearbeitet, als Kopie gespeichert etc.  und hochgeladen.  Kategorie wird angezeigt   :) 

 

aber:

 

ich habe die Grundpreisangabe jetzt bei jedem Artikel drin, auch da wo´s nicht sein soll  (bei 99,5% aller Artikel möchte/brauche ich die Grundpreisangabe nicht und habe im BO beim Artikel natürlich da auch nix reingeschrieben).  Siehe Foto, das ist nun die Anzeige wenn kein Grundpreis im BO hinterlegt ist:

 

 

post-1355637-0-16317100-1498208602_thumb.jpg

Link to comment
Share on other sites

Wo kommt denn das "inf" her? Schau mal genau deinen Code an, nicht daß da "inf" statt "if" steht.

 

Welchen Editor verwendest du?

 

Beim Windows-Editor (Notepad) kann es meines Wissens passieren, daß er beim Speichern .txt hinten anhängt, was man aber nicht überall sieht, wenn eingestellt ist, daß Windows bekannte Dateiendungen ausblenden soll (Standard und brandgefährlich bei Viren!).

Link to comment
Share on other sites

Wo das inf  herstammt weiß ich eben nicht.  In der tpl passt alles, wirklich   :)

 

Wenn im Artikel ein Grundpreis eingegeben ist, wird er richtig angezeigt in der Kategorie und auch in der Artikel(detail)seite > passt.

Wenn im Artikel kein Grundpreis angegeben ist, wird auch nichts angezeigt in der Artikel(detail)seite > passt.

 

Wenn im Artikel kein Grundpreis angegeben ist, wird in der Kategorie dennoch  inf € per 0  angezeigt > passt nicht.

 

 

Habe nun mal bei Thirtybees gestöbert wie es dort gelöst wird, finde da aber auch nix.... mist.

Edited by DRMasterChief (see edit history)
Link to comment
Share on other sites

Trotzdem muß das "inf" irgendwo her kommen, nur ohne nähere Informationen kann da natürlich niemand helfen. Du könntest die Codebereiche ja mal zeigen oder einen Link geben (die Kategorieseiten sind recht seltsam aufgebaut, der Inhalt kann sich z. B. nach einem Wechsel der Ansicht ändern, da spielt noch eine js-Datei mit rein).

 

Die Frage nach dem Editor willst du offenbar nicht beantworten, damit scheint es ja auch Probleme zu geben ...

 

Wieviele Artikel mit Grundpreis hast du denn? Ich habe nur ein paar und die Grundpreise fest in der Kurzbeschreibung drin..

Link to comment
Share on other sites

Editor ist Notepad++  , hatte ich vergessen zu schreiben,  habe aber noch einen anderen Editor wo ich viel php editiere (für den momentanen noch modified-Shop).

 

Es sind nicht viele Artikel wo der Grundpreis anzugeben ist, die Kurzbeschreibung wäre dann wieder die Notlösung  (die ich eigtl. nicht wollte).  Daher mein Hinweis schon oben ...im Jahr 2017 wäre es toll einen Shop zu haben wo das funktioniert...   :P  

 

Hier der Ausschnitt, los gehts ab Zeile 83  damit man reinfindet  (weiter unten kommts dann nochmal identisch...): 

									{if $PS_STOCK_MANAGEMENT && isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
										<span class="unvisible">
											{if ($product.allow_oosp || $product.quantity > 0)}
													<link itemprop="availability" href="https://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}
											{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
													<link itemprop="availability" href="https://schema.org/LimitedAvailability" />{l s='Product available with different options'}

											{else}
													<link itemprop="availability" href="https://schema.org/OutOfStock" />{l s='Out of stock'}
											{/if}
										</span>
									{/if}
									{hook h="displayProductPriceBlock" product=$product type="price"}
								{/if}
								{if $product.unit_price_ratio && $product.price}
	{math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
	{convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}
							</div>
						{/if}
						{if isset($product.new) && $product.new == 1}
							<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
								<span class="new-label">{l s='New'}</span>
							</a>
						{/if}
Edited by DRMasterChief (see edit history)
Link to comment
Share on other sites

das ist standard aus dem 1.6.1.12 ,  nichts verändert ausser daß ich eben den Code von oben eingefügt habe,  genauer also hier:

 

 

{hook h="displayProductPriceBlock" product=$product type="price"}
                                {/if}
                                {if $product.unit_price_ratio && $product.price}
    {math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
    {convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}

Link to comment
Share on other sites

Klar, du kannst den Code überall einfügen, nur wo der eingefügte Text dann erscheint, ist die andere Sache. Mit einem Ausschnitt, auf dem von dem Drumherum von deinem Screenshot nichts enthalten ist, kann ich jedenfalls nichts anfangen.

Link to comment
Share on other sites

Mein Bildausschnitt stammt einfach aus einer Kategorieübersicht  (egal welche Kategorie ich da nehme, da die Anzeige ja überall so ist).   Kann es sein daß du einen falschen Bildausschnitt von Seite 1 erwischt hast?

Wo sollte ich denn den sonst rauskopieren oder welchen Code brauchst du zum ansehen?  Kann ja auch die ganze product-list.tpl  hier einstellen.

 

Eingefügt habe ich den Code genau so in die  themes/default-bootstrap/product-list.tpl  wie von 

Whiley beschrieben in seinem Posting auf Seite 1 ,  17. April 2016 ,  12.22 PM

Edited by DRMasterChief (see edit history)
Link to comment
Share on other sites

Ach, sorry, das kommt von diesen ellenlangen Threads und von Screenshots, bei denen man quasi nur einen Blick durch's Schlüsselloch hat, ich hatte jetzt gedacht, es handelt sich um einen Ausschnitt aus der Produktseite = product.tpl ...

 

Trotzdem blicke ich da immer noch nicht durch, scheint mir im Bereich der Schnellansicht zu sein, der Ausschnitt ist immer noch sehr begrenzt und man würde gern nach oben scrollen und kann nicht ...

 

Die Website ist nicht online?

Link to comment
Share on other sites

hier der ganze Inhalt  product-list.tpl   (Shop ist nicht online, kann keinen Link senden):

{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2016 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{if isset($products) && $products}
	{*define number of products per line in other page for desktop*}
	{if $page_name !='index' && $page_name !='product'}
		{assign var='nbItemsPerLine' value=3}
		{assign var='nbItemsPerLineTablet' value=2}
		{assign var='nbItemsPerLineMobile' value=3}
	{else}
		{assign var='nbItemsPerLine' value=4}
		{assign var='nbItemsPerLineTablet' value=3}
		{assign var='nbItemsPerLineMobile' value=2}
	{/if}
	{*define numbers of product per line in other page for tablet*}
	{assign var='nbLi' value=$products|@count}
	{math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}
	{math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}
	<!-- Products list -->
	<ul{if isset($id) && $id} id="{$id}"{else} id="product_list"{/if} class="product_list grid row{if isset($class) && $class} {$class}{/if}">
	{foreach from=$products item=product name=products}
		{math equation="(total%perLine)" total=$smarty.foreach.products.total perLine=$nbItemsPerLine assign=totModulo}
		{math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet}
		{math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineMobile assign=totModuloMobile}
		{if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
		{if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if}
		{if $totModuloMobile == 0}{assign var='totModuloMobile' value=$nbItemsPerLineMobile}{/if}
		<li class="ajax_block_product{if $page_name == 'index' || $page_name == 'product'} col-xs-12 col-sm-4 col-md-3{else} col-xs-12 col-sm-6 col-md-4{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLine == 0} last-in-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLine == 1} first-in-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModulo)} last-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 0} last-item-of-tablet-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 1} first-item-of-tablet-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 0} last-item-of-mobile-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 1} first-item-of-mobile-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModuloMobile)} last-mobile-line{/if}">
			<div class="product-container" itemscope itemtype="https://schema.org/Product">
				<div class="left-block">
					<div class="product-image-container">
						<a class="product_img_link" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url">
							<img class="replace-2x img-responsive" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" />
						</a>
						{if isset($quick_view) && $quick_view}
							<div class="quick-view-wrapper-mobile">
							<a class="quick-view-mobile" href="{$product.link|escape:'html':'UTF-8'}" rel="{$product.link|escape:'html':'UTF-8'}">
								<i class="icon-eye-open"></i>
							</a>
						</div>
						<a class="quick-view" href="{$product.link|escape:'html':'UTF-8'}" rel="{$product.link|escape:'html':'UTF-8'}">
							<span>{l s='Quick view'}</span>
						</a>
						{/if}
						{if (!$PS_CATALOG_MODE && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
							<div class="content_price" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
								{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
									<span itemprop="price" class="price product-price">
										{hook h="displayProductPriceBlock" product=$product type="before_price"}
										{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
									</span>
									<meta itemprop="priceCurrency" content="{$currency->iso_code}" />
									{if $product.price_without_reduction > 0 && isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
										{hook h="displayProductPriceBlock" product=$product type="old_price"}
										<span class="old-price product-price">
											{displayWtPrice p=$product.price_without_reduction}
										</span>
										{if $product.specific_prices.reduction_type == 'percentage'}
											<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
										{/if}
									{/if}
									{if $PS_STOCK_MANAGEMENT && isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
										<span class="unvisible">
											{if ($product.allow_oosp || $product.quantity > 0)}
													<link itemprop="availability" href="https://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}
											{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
													<link itemprop="availability" href="https://schema.org/LimitedAvailability" />{l s='Product available with different options'}

											{else}
													<link itemprop="availability" href="https://schema.org/OutOfStock" />{l s='Out of stock'}
											{/if}
										</span>
									{/if}
									{hook h="displayProductPriceBlock" product=$product type="price"}
								{/if}
								{if $product.unit_price_ratio && $product.price}
	{math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
	{convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}
							</div>
						{/if}
						{if isset($product.new) && $product.new == 1}
							<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">
								<span class="new-label">{l s='New'}</span>
							</a>
						{/if}
						{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
							<a class="sale-box" href="{$product.link|escape:'html':'UTF-8'}">
								<span class="sale-label">{l s='Sale!'}</span>
							</a>
						{/if}
					</div>
					{if isset($product.is_virtual) && !$product.is_virtual}{hook h="displayProductDeliveryTime" product=$product}{/if}
					{hook h="displayProductPriceBlock" product=$product type="weight"}
				</div>
				<div class="right-block">
					<h5 itemprop="name">
						{if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if}
						<a class="product-name" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url" >
							{$product.name|truncate:45:'...'|escape:'html':'UTF-8'}
						</a>
					</h5>
					{capture name='displayProductListReviews'}{hook h='displayProductListReviews' product=$product}{/capture}
					{if $smarty.capture.displayProductListReviews}
						<div class="hook-reviews">
						{hook h='displayProductListReviews' product=$product}
						</div>
					{/if}
					<p class="product-desc" itemprop="description">
						{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}
					</p>
					{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
					<div class="content_price">
						{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
							{hook h="displayProductPriceBlock" product=$product type='before_price'}
							<span class="price product-price">
								{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
							</span>
							{if $product.price_without_reduction > 0 && isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}
								{hook h="displayProductPriceBlock" product=$product type="old_price"}
								<span class="old-price product-price">
									{displayWtPrice p=$product.price_without_reduction}
								</span>
								{hook h="displayProductPriceBlock" id_product=$product.id_product type="old_price"}
								{if $product.specific_prices.reduction_type == 'percentage'}
									<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>
								{/if}
							{/if}
							{hook h="displayProductPriceBlock" product=$product type="price"}
							{hook h="displayProductPriceBlock" product=$product type='after_price'}
						{/if}
						{if $product.unit_price_ratio && $product.price}
	{math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
	{convertPrice price=$realunit} {l s="per"} {$product.unity}
{/if}
					</div>
					{/if}
					<div class="button-container">
						{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.customizable != 2 && !$PS_CATALOG_MODE}
							{if (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || $product.quantity > 0)}
								{capture}add=1&id_product={$product.id_product|intval}{if isset($product.id_product_attribute) && $product.id_product_attribute}&ipa={$product.id_product_attribute|intval}{/if}{if isset($static_token)}&token={$static_token}{/if}{/capture}
								<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, $smarty.capture.default, false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product-attribute="{$product.id_product_attribute|intval}" data-id-product="{$product.id_product|intval}" data-minimal_quantity="{if isset($product.product_attribute_minimal_quantity) && $product.product_attribute_minimal_quantity >= 1}{$product.product_attribute_minimal_quantity|intval}{else}{$product.minimal_quantity|intval}{/if}">
									<span>{l s='Add to cart'}</span>
								</a>
							{else}
								<span class="button ajax_add_to_cart_button btn btn-default disabled">
									<span>{l s='Add to cart'}</span>
								</span>
							{/if}
						{/if}
						<a class="button lnk_view btn btn-default" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='View'}">
							<span>{if (isset($product.customization_required) && $product.customization_required)}{l s='Customize'}{else}{l s='More'}{/if}</span>
						</a>
					</div>
					{if isset($product.color_list)}
						<div class="color-list-container">{$product.color_list}</div>
					{/if}
					<div class="product-flags">
						{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
							{if isset($product.online_only) && $product.online_only}
								<span class="online_only">{l s='Online only'}</span>
							{/if}
						{/if}
						{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
							{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
								<span class="discount">{l s='Reduced price!'}</span>
							{/if}
					</div>
					{if (!$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
						{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
							<span class="availability">
								{if ($product.allow_oosp || $product.quantity > 0)}
									<span class="{if $product.quantity <= 0 && isset($product.allow_oosp) && !$product.allow_oosp} label-danger{elseif $product.quantity <= 0} label-warning{else} label-success{/if}">
										{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}
									</span>
								{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
									<span class="label-warning">
										{l s='Product available with different options'}
									</span>
								{else}
									<span class="label-danger">
										{l s='Out of stock'}
									</span>
								{/if}
							</span>
						{/if}
					{/if}
				</div>
				{if $page_name != 'index'}
					<div class="functional-buttons clearfix">
						{hook h='displayProductListFunctionalButtons' product=$product}
						{if isset($comparator_max_item) && $comparator_max_item}
							<div class="compare">
								<a class="add_to_compare" href="{$product.link|escape:'html':'UTF-8'}" data-id-product="{$product.id_product}">{l s='Add to Compare'}</a>
							</div>
						{/if}
					</div>
				{/if}
			</div><!-- .product-container> -->
		</li>
	{/foreach}
	</ul>
{addJsDefL name=min_item}{l s='Please select at least one product' js=1}{/addJsDefL}
{addJsDefL name=max_item}{l s='You cannot add more than %d product(s) to the product comparison' sprintf=$comparator_max_item js=1}{/addJsDefL}
{addJsDef comparator_max_item=$comparator_max_item}
{addJsDef comparedProductsIds=$compared_products}
{/if}

Edited by DRMasterChief (see edit history)
Link to comment
Share on other sites

Ich habe das ganze bei mir jetzt auch eingebaut. Ersetze doch einmal

{if $product.unit_price_ratio && $product.price}

durch

{if $product.unit_price_ratio && $product.unit_price_ratio > 0 && $product.price}

 

Wozu so umständlich? Es reicht völlig aus, abzufragen ob die Ratio größer Null ist.

{if $product.unit_price_ratio > 0}
 Will man die Anzeige einer versehentlichen Eingabe der Maßeinheit mit unterdrücken, dann eben erweitert:
                                                                 
{if $product.unit_price_ratio > 0 && $product.unity <> ""}
Link to comment
Share on other sites

In der  themes/default-bootstrap/product-list.tpl  gibts das leider nicht, so daß ich es ersetzen könnte ?!!?

Jetzt mach' keine Witze ... Es handelt sich um die erste Zeile des Codes, den du ergänzend eingefügt hast, in deinem Post #34 die dritte Zeile! Die Ergänzung soll bewirken, daß die Zeile für den Grundpreis nur angezeigt wird, wenn es überhaupt einen Grundpreis größer als 0 gibt, hatte bei mir geholfen.

 

 

Wozu so umständlich? Es reicht völlig aus, abzufragen ob die Ratio größer Null ist.

{if $product.unit_price_ratio > 0}
 Will man die Anzeige einer versehentlichen Eingabe der Maßeinheit mit unterdrücken, dann eben erweitert:
                                                                 
{if $product.unit_price_ratio > 0 && $product.unity <> ""}

Ich lasse nicht gern etwas weg, das andere ja für sinnvoll erachtet haben, ohne sicher zu sein, was ich damit bewirke, die Abfrage, ob eine Variable überhaupt vorhanden ist, gibt es in Prestashop ja oft und sie ist sicher oft überflüssig, aber sicher ist halt sicher.

 

ist es so gewollt daß der Grundpreis NUR mit diesem Modul funktioniert?  https://addons.prestashop.com/en/sizes-units/5756-basicprice-unit-price.html 

Die Grundpreis-Funktion in Prestashop ist generell nicht sehr komfortabel, da der Grundpreis bei einer Preisänderung nicht automatisch neu berechnet, sondern immer selbst ausgerechnet und eingegeben werden muß, das geht mit dem kostenpflichtigen Modul besser (ich habe eine automatische Berechnung bei mir jetzt gestern auch einmal probeweise eingebaut, dabei gebe ich im BackOffice anstelle des Grundpreises die Milliliter ein und berechne das dann per Smarty in den tpls, ich muß aber erst einmal schauen, wo sich das noch auswirkt).

Link to comment
Share on other sites

Ich glaube, da liegt ein Missverständnis vor. Die von dir formulierte Bedingung lässt sich wie folgt beschreiben:

{if $product.unit_price_ratio && $product.unit_price_ratio > 0 && $product.price}
Wenn 
    die Ratio <> 0 ist und
    die Ratio > 0 ist und
    der Artikelpreis <> 0 ist
Dann ...

Der Artikelpreis dürfte immer ungleich 0 sein, wenn jemand einen Grundpreis für den Artikel erfasst. Deshalb ist es sinnvoller, abzufragen, ob er auch die Bezugsgröße eingetragen hat. 

Wenn du dagegen ermitteln willst, ob eine Variable "überhaupt vorhanden ist" (du meinst vermutlich: initialisiert wurde), dann lautet die Abfrage

If isset($Variable)
Link to comment
Share on other sites

 

Der Artikelpreis dürfte immer ungleich 0 sein, wenn jemand einen Grundpreis für den Artikel erfasst. Deshalb ist es sinnvoller, abzufragen, ob er auch die Bezugsgröße eingetragen hat.

Ich käme nicht auf die Idee einen Grundpreis zu erfassen, aber keine Bezugsgröße ... Bei mir hat der Code funktioniert, ich bin auch alles andere als kundig in PHP und Smarty, das Verfassen von Codes, die alle möglichen Gegebenheiten berücksichtigen und dann auch noch so kurz wie möglich gehalten sind, überlasse ich den Profis hier ...

Link to comment
Share on other sites

In den aktuellen PS 1.6.1.x-Versionen, wenn kein Grundpreis eingegeben ist, die Variable product.unit_price_ratio trotzdem in der Kategorieansicht  vorhanden:

post-467854-0-18957300-1498435308_thumb.jpg

product.unit_price_ratio => "0.000000"

d.h. daß die Abfrage "if $product.unit_price_ratio" nicht greift, und es in der Tat besser ist auf den numerischen Wert der Variablen größer Null abzufragen.

 

Also ersetzen wir in der Datei

\themes\DeinTheme\product_list.tpl

2 mal die Zeile

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

durch:

 

{if $product.unit_price_ratio >0 && $product.price}
    {math equation="b/a" a=$product.unit_price_ratio b=$product.price assign=realunit}
     <p></p>
    {convertPrice price=$realunit}  {l s="per"} {$product.unity}
{/if}

<p></p> ist nur für die Zeilenschaltung da.

 

Grüsse

Whiley

Link to comment
Share on other sites

Hi,

die Sache mit dem  product.unit_price_ratio => "0.000000"  habe ich gestern nacht auch gefunden in einem anderen Zusammenhang, da hat jemand Änderungen in versch. .tpl gemacht und dort habe ich das mit gefunden.

 

Habe das nun so geändert und ja, es funktioniert bisher   :)  

Klasse wäre es noch, wenn der Grundpreis auch in den Bestseller- Sonderangebots- und Neuheiten -Boxen angezeigt werden würde  (aber da träume ich entweder von oder ich muss es noch anders versuchen).

Link to comment
Share on other sites

  • 3 years later...

Hallo zusammen ich habe aktuell das gleiche Problem,

das auf der Produktübersichtseite also in den Miniatures: Ordnerbaum:    /PRS01/templates/catalog/_partials/miniatures/product.tpl
(zugekauftes Template)
ebenfalls die Grundpreise nicht angezeigt werden haben die product.tpl mal angehangen denn komischerweise ist der {hook} in Zeile 107 ist geschrieben.

 

Wird aber im Frontend nicht angezeigt und berechnet.

 

Hier der Link zu der aktuellen Testseite: 

www.pritumble-test.de

 

Achtung beim klicken auf das Logo oder Home kommt ihr wieder auf den eigentlichen Shop, den Fehler muss ich noch beheben, damit man in Ruhe im Testshop schrauben kann.

 

{**
 * 2007-2019 PrestaShop
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License 3.0 (AFL-3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/AFL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to [email protected] so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to http://www.prestashop.com for more information.
 *
 * @author    PrestaShop SA <contact@prestashop.com>
 * @copyright 2007-2019 PrestaShop SA
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
 * International Registered Trademark & Property of PrestaShop SA
 *}
{block name='product_miniature_item'}
<article class="product-miniature js-product-miniature col-sm-4" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
	<div class="thumbnail-container">
		<div class="ttproduct-image">
			{block name='product_thumbnail'}
			{if $product.cover}
			  <a href="{$product.url}" class="thumbnail product-thumbnail">
				<img
			  class="ttproduct-img1"
				  src = "{$product.cover.bySize.home_default.url}"
				  alt = "{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
				  data-full-size-image-url = "{$product.cover.large.url}"
				>
			   {hook h="displayTtproductImageHover" id_product=$product.id_product home='home_default' large='large_default'}
			  </a>
			{else}
			  <a href="{$product.url}" class="thumbnail product-thumbnail">
				<img
			  class="ttproduct-img1"
				  src = "{$urls.no_picture_image.bySize.home_default.url}"
				>
			  </a>
			{/if}
		  {/block}
			{block name='product_flags'}
				<ul class="product-flags">
					{foreach from=$product.flags item=flag}
						<li class="{$flag.type}">{$flag.label}</li>
					{/foreach}
				</ul>
			{/block}
			{block name='product_reviews'}
				{hook h='displayProductListReviews' product=$product}
			  {/block}
			<div class="ttproducthover">
			<div class="tt-button-container">
				{include file='catalog/_partials/customize/button-cart.tpl' product=$product}
			</div>
			{hook h='displayTtWishListButton' product=$product}
			{hook h='displayTtCompareButton' product=$product}
			{block name='quick_view'}
				<div class="quick-view-block">
					<a href="#" class="quick-view btn" data-link-action="quickview" title="{l s='Quick view'}">
						<i class="material-icons search">&#xE8B6;</i> <span>{l s='Quick view' d='Shop.Theme.Actions'}</span>
					</a>
				</div>
			{/block}
			</div>
		</div>
		
		<div class="ttproduct-desc">
			<div class="product-description">
				<h5 class="cat-name">{$product.category|escape:'html':'UTF-8'}</h5>
				
				{block name='product_name'}
				  {if $page.page_name == 'index'}
					<span class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:18:'...'}</a></span>
				  {else}
					<span class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:18:'...'}</a></span>
				  {/if}
				{/block}
		
				{block name='product_description_short'}
					<div class="product-desc-short" itemprop="description">{$product.description_short|strip_tags:'UTF-8'|truncate:60:'...' nofilter}</div>
				{/block}
		
				{block name='product_price_and_shipping'}
				{if $product.show_price}
						<div class="product-price-and-shipping">
							<span itemprop="price" class="price">{$product.price}</span>
							{if $product.has_discount}
								{hook h='displayProductPriceBlock' product=$product type="old_price"}
								<span class="sr-only">{l s='Regular price' d='Shop.Theme.Catalog'}</span>
								{if $product.discount_type === 'percentage'}
								   <span class="discount-percentage discount-product">{$product.discount_percentage}</span>
								{elseif $product.discount_type === 'amount'}
								   <span class="discount-amount discount-product">{$product.discount_amount_to_display}</span>
								{/if}
								<span class="regular-price">{$product.regular_price}</span>
							{/if}
							{hook h='displayProductPriceBlock' product=$product type="before_price"}
							<span class="sr-only">{l s='Price' d='Shop.Theme.Catalog'}</span>
							{hook h='displayProductPriceBlock' product=$product type='unit_price'}
							{hook h='displayProductPriceBlock' product=$product type='weight'}
						</div>
					{/if}
				{/block}
				<div class="highlighted-informations{if !$product.main_variants} no-variants{/if} hidden-sm-down">
				{block name='product_variants'}
					{if $product.main_variants}
						{include file='catalog/_partials/variant-links.tpl' variants=$product.main_variants}
					{/if}
				{/block}
			</div>
			</div>
		</div>
	</div>
</article>
{/block}

 

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...