PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: Templates, Module, Frage: Staffelpreise In Der Produkt Print


Purecut
17.09.2006, 22:04
Hallo

ich versuche gerade, dass in der "Artikeldatenblatt drucken" drucken wenn vorhanden Staffelpreise mit angezeigt werden.

Aber irgendwie klappt das mit der print_product_info.php nicht so rechtw wenn ich dort die smarty befehle einfüge.

Kann mir viellenicht hier jemand weiterhelfen.

Im Template habe ich schon den Befehl zur Anzeige der Staffelpreise eingebunden:

{if $MODULE_graduated_price !=''}
{$MODULE_graduated_price}
{/if}


Wenn ich dann in der print_product_info.php dies eintrage:

if ($_SESSION['customers_status']['customers_status_graduated_prices'] == 1)
**include (DIR_WS_MODULES.FILENAME_GRADUATED_PRICE);


erhalte ich einen Fehler:
PHP Fatal error: Call to a member function on a non-object in d:\apache\apache2\htdocs\shop\includes\modules\gra duated_prices.php on line 30

Wer kann mir denn hier mal bitte weiterhelfen.
Danke Purecut

Purecut
18.09.2006, 21:42
Schieb

Keiner der mir sagen kann wie es funktionieren könnte? :wacko:

TechWay
20.09.2006, 21:21
Hallo purecut,

kannst du mir sagen was bei dir in der Zeile 30 (includes\modules\graduated_prices.php) steht? (ich weiß ja nicht ob du die gleiche version verwendest :) )

Gruß
Steffen

Purecut
21.09.2006, 03:14
$module_smarty = new Smarty;
$module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
$module_content = array ();
$staffel_data = $product->getGraduated();

if (sizeof($staffel_data) > 1) {
**$module_smarty->assign('language', $_SESSION['language']);
**$module_smarty->assign('module_content', $staffel_data);
**// set cache ID
**$module_smarty->caching = 0;
**$module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/graduated_price.html');
**$info_smarty->assign('MODULE_graduated_price', $module);
}
?>


Dies ist Zeile 30:
$info_smarty->assign('MODULE_graduated_price', $module);

TechWay
21.09.2006, 08:43
ja da ist wohl der wurm vergraben :D

wie du siehst wird da auf das objekt $info_smarty zugegriffen und diesen gibts ja nur in product_info.php
in der print_product_info heißt es nämlich einfach nur $smarty!

jetzt kannst du hingehen und in der print_product_info, das $smarty gegen $info_smarty ersetzen (aber überall in der Datei)

aber mach natürlich sicherungen falls es doch nicht klappt...

oder probeweise kannst du in der gradueted_price die zeile 30 ändern in :

$smarty->assign('MODULE_graduated_price', $module);


aber dann wirds wohl in der product_info nicht mehr funken

Gruß
TechWay

gaspode2
06.02.2007, 17:18
Hi,

ich hatte genau das gleiche Problem. Ich habe dann den von Purecut im Anfangsposting genannten Code in die Datei xtcommerce/print_product_info.php eingefügt und greife so wie er im Template print_product_info.html auf das Staffelpreismodul zu.

Dann habe ich in einem - eigentlich naiven - Versuch in der Datei xtcommerce/print_product_info.php zusätzlich alle Vorkommen der Variablen $smarty durch $info_smarty ersetzt, doch siehe da: In der Druckvorschau tauchen die Staffelpreise korrekt auf. Die benutzte Shopversion ist die SP2.1.

Viele Grüße,
gaspode2