Jump to content
xt:Commerce Community Forum

Neue Funktion in xtcPrice ins Template einbinden?


testman

Recommended Posts

Hallo,

ich würde gerne die Prozentangabe der Ersparnis bei reduzierten Artikeln separat, also nicht unter dem neuen Preis ausgeben.

Wenn ich nun die ursprüngliche Funktion xtcFormatSpecial

	function xtcFormatSpecial($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
if ($format) {
$price = '<span class="productOldPrice"><small>'.INSTEAD.'</small><del>'.$this->xtcFormat($pPrice, $format).'</del></span><br />'.ONLY.$this->checkAttributes($pID).$this->xtcFormat($sPrice, $format).'<br /><small>'.YOU_SAVE.round(($pPrice-$sPrice) / $pPrice * 100,1).' % /'.$this->xtcFormat($pPrice-$sPrice, $format).'</small>';
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies[$this->actualCurr]['decimal_places']);
}
}[/PHP]

so bearbeite, dass ich den Teil abspalte, der die Ersparnis ausgibt:

[PHP]'<small>'.YOU_SAVE.round(($pPrice-$sPrice) / $pPrice * 100,1).' % /'.$this->xtcFormat($pPrice-$sPrice, $format).'</small>'[/PHP]

und eine neue Funktion xtcFormatErspanis schreibe:

[PHP] function xtcFormatErsparnis($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
if ($format) {
$ersparnis = '<small>'.YOU_SAVE.round(($pPrice-$sPrice) / $pPrice * 100,1).' % /'.$this->xtcFormat($pPrice-$sPrice, $format).'</small>';
if ($vpeStatus == 0) {
return $ersparnis;
} [/PHP]

wie kann ich diese Funktion dann in mein Template einbinden?

Ich würde die Anzeige gerne in der new_products_default.html einbauen. Dort wird das Preismodul ja mit {$module_data.PRODUCTS_PRICE} eingebunden.

Wo habe ich entsprechende Definitionen und Eintragungen vorzunehmen, um das Ergebnis der Ersparnis-Funktion auszugeben?

Danke im Voraus,

Martin

Link to comment
Share on other sites

Ok, sowas habe ich mir schon gedacht. Da ich von Smarty keine Ahnung habe, habe ich erstmal (learning by doing):

{$module_data.PRODUCTS_PRICE}

dann

$module_data

dann

PRODUCTS_PRICE

per FindIt in allen XTC-Dateien gesucht - bin aber anscheinend nicht in der Lage, die Datei zu finden, in der Übergabe und Definition der Variablen stattfinden. Wenn ich entsprechende Einträge gefunden hätte, wäre ich wohl in der Lage gewesen, mir die Funktionsweise herzuleiten, aber ich finde nix im Code, was auf eine Zuweisung hindeutet.

...gibt es dazu irgendwo für Smarty-Noobs eine verständliche Anleitung?

Link to comment
Share on other sites

...gibt es dazu irgendwo für Smarty-Noobs eine verständliche Anleitung?

http://www.google.de/search?hl=de&q=smarty+anleitung&btnG=Google-Suche&meta=

1. Eintrag ;-)

PRODUCTS_PRICE:

kann ich mir nicht denken, das du nichts gefunden hast, du hättest ja zumindest die datei finden müssen, in der das selbst steht ;-)

probier mal "suchen & ersetzen" von inforapid.de

Link to comment
Share on other sites

Ja, die Smarty-Doku ist wirklich SEHR hilfreich für den Umgang mit XTC...nicht.

Klar habe ich die Datei gefunden, in der das auftaucht...

Ich habe gar nicht geschrieben, nichts gefunden zu haben. Wenn du den Beitrag nochmal liest, siehst du, dass ich geschrieben habe, nichts gefunden zu haben, was auf eine Übergabe bzw. Definition hinweist. Das ist ein ziemlicher Unterschied zu gar nichts.

Weißt du, in welcher Datei die Übergabe stattfindet? Das wäre nämlich mal ein wirklich hilfreicher Beitrag. Es ist nicht so, dass ich mich total dumm bzw. inaktiv stelle und hier erwarte, dass mir fertiger Code vorgesetzt wird. Mir reicht schon ein Dateiname anstelle von nutzlosen Hinweisen auf die Smarty-Doku, da die Smarty-Doku sicher nix zu xtcFormat bzw. $module_data.Product_Price etc. zu sagen hat.

_____________________________________________________

Kann mir bitte bitte jemand sagen, wo in XTC die Verbindung zwischen der Funktion xtcFormatSpecial und der Ausgabe in der new_products_default.html hergestellt wird? Ich wäre sehr verbunden für eine präzise Auskunft, da ich mich jetzt schon blöd gegoogelt und das XTC-Verzeichnis mehrmals von vorne bis hinten durchsucht habe.

Danke.:D

Link to comment
Share on other sites

hättest du dich mit meinem nutzlosen hinweis zur smarty doku beschäftigt anstatt dich zu beschweren hättest du festgestellt das von

$module_data.PRODUCTS_PRICE

das

$module_data

von der

{foreach name=aussen item=module_data from=$module_content}

Schleife kommt, daher das $module_data

Daher wirst du erstmal nichts finden, wenn du nach

$module_data.PRODUCTS_PRICE suchst, außer den Dateien, die ebenfalls mit der foreach Schleife itterieren!

Wenn du meinen 2. unnötigen Hinweis mit dem Programm "suchen und ersetzen" gefolgt wärst und dann mal nach "new_products_default.html" gesucht hättest, dann hättest du alle PHP Dateien gefunden, welche diese Template Datei überhaupt einbinden, denn das ist ja die voraussetzung

dann findest du z.b. die Datei includes/modules/new_products.php

dort findest du auch ein

$module_smarty->assign('module_content', $module_content);

welches in der foreach schleife herangezogen wird

{foreach name=aussen item=module_data from=$module_content}

hoffe, du bist zufrieden mit dieser antwort

;-)

(und immer auf die smileys achten!)

Link to comment
Share on other sites

  • 1 year later...

Hallo Ihr Zwei,

vielen Dank für das Topic testman!

Habe genau das selbe Ziel wie du und stecke auch am exakt gleichen Punkt fest. Nur leider hilft mir die Antwort von suppi_2 nicht so richtig weite.

Ich habe in der xtcPrice.php ebenfalls die neue Funktion angelegt, zwar ein bisschen abgeändert aber im Grunde gleich. Nur leider bekomme ich trotz dieses Posts es nicht hin, die Funktion an die entsprechenden Templates zu übergeben.

Ich hoffe Ihr könnt mir kurz auf die Sprünge helfen!

Vielen lieben Dank im Voraus !

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...