#1 (permalink)  
Alt 22.12.2008, 16:37
Benutzer
 
Registriert seit: 03.09.2008
Beiträge: 31
Standard Kurzbeschreibung in Rechnung und E-Mail

Hallo alle,

ich möchte die Kurzbeschreibung in der Rechnung und der Bestätigungsmail anzeigen lassen.
Und nach meiner Recherche hier habe ich bisher folgendes unternommen:

shop/admin/print_order.php
Vorher:
PHP-Code:
$order_data[]=array(
                
'PRODUCTS_MODEL' => $order_data_values['products_model'],
                
'PRODUCTS_NAME' => $order_data_values['products_name'],
                
'PRODUCTS_ATTRIBUTES' => $attributes_data,
                
'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model,
                
'PRODUCTS_PRICE' => xtc_format_price_order($order_data_values['final_price'],1,$order->info['currency']),
                
'PRODUCTS_QTY' => $order_data_values['products_quantity']);
        } 
Nachher:
PHP-Code:
$psd_query=xtc_db_query("SELECT products_short_description FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='".$order_data_values['products_id']."'");
        
$order_data[]=array(
                
'PRODUCTS_MODEL' => $order_data_values['products_model'],
                
'PRODUCTS_NAME' => $order_data_values['products_name'],
                
'PRODUCTS_SHORT_DESCRIPTION' => $psd_data_values['products_short_description'],
                
'PRODUCTS_ATTRIBUTES' => $attributes_data,
                
'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model,
                
'PRODUCTS_PRICE' => xtc_format_price_order($order_data_values['final_price'],1,$order->info['currency']),
                
'PRODUCTS_QTY' => $order_data_values['products_quantity']);
        } 
shop/templates/soundso/admin/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/module/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/mail/german/order_mail.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

Ich kenne mich mit PHP leider nicht aus, aber ich denke, das sollte nicht sooo schwer sein?! Welche Dateien muss ich denn noch wie und wo abändern, damit es auch tatsächlich funktioniert und die short_description ausgegeben wird?

Vielen Dank für die weihnachtliche Hilfe ;-)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 23.12.2008, 10:57
Benutzer
 
Registriert seit: 03.09.2008
Beiträge: 31
Standard print_order.php-Frage bei falschem Thema gepostet?

Hi,

ich habe auf diese Frage von gestern leider immer noch keine Antwort bekommen. Habe ich den Beitrag dem falschen Thema zugeordnet?

Ich wär sehr glücklich, wenn mir da jemand weiterhelfen könnte!

Danke und Grüße und Winke

Robin

Zitat:
Zitat von Konfusion Beitrag anzeigen
Hallo alle,

ich möchte die Kurzbeschreibung in der Rechnung und der Bestätigungsmail anzeigen lassen.
Und nach meiner Recherche hier habe ich bisher folgendes unternommen:

shop/admin/print_order.php
Vorher:
PHP-Code:
$order_data[]=array(
                
'PRODUCTS_MODEL' => $order_data_values['products_model'],
                
'PRODUCTS_NAME' => $order_data_values['products_name'],
                
'PRODUCTS_ATTRIBUTES' => $attributes_data,
                
'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model,
                
'PRODUCTS_PRICE' => xtc_format_price_order($order_data_values['final_price'],1,$order->info['currency']),
                
'PRODUCTS_QTY' => $order_data_values['products_quantity']);
        } 
Nachher:
PHP-Code:
$psd_query=xtc_db_query("SELECT products_short_description FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='".$order_data_values['products_id']."'");
        
$order_data[]=array(
                
'PRODUCTS_MODEL' => $order_data_values['products_model'],
                
'PRODUCTS_NAME' => $order_data_values['products_name'],
                
'PRODUCTS_SHORT_DESCRIPTION' => $psd_data_values['products_short_description'],
                
'PRODUCTS_ATTRIBUTES' => $attributes_data,
                
'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model,
                
'PRODUCTS_PRICE' => xtc_format_price_order($order_data_values['final_price'],1,$order->info['currency']),
                
'PRODUCTS_QTY' => $order_data_values['products_quantity']);
        } 
shop/templates/soundso/admin/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/module/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/mail/german/order_mail.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

Ich kenne mich mit PHP leider nicht aus, aber ich denke, das sollte nicht sooo schwer sein?! Welche Dateien muss ich denn noch wie und wo abändern, damit es auch tatsächlich funktioniert und die short_description ausgegeben wird?

Vielen Dank für die weihnachtliche Hilfe ;-)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 23.12.2008, 11:33
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Ort: Mußtopp
Beiträge: 638
Standard

PHP-Code:
$psd_query=xtc_db_query("SELECT products_short_description FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='".$order_data_values['products_id']."'"); 
danach fehlt folgendes:

PHP-Code:
$psd_data_values=xtc_db_fetch_array($psd_query); 
mfg
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 23.12.2008, 12:22
Benutzer
 
Registriert seit: 03.09.2008
Beiträge: 31
Standard

hihubbabubba

danke. funktioniert aber leider immer noch nicht.

Ich habe gelesen, man sollte root/print_order.php und root/send_order.php noch anpassen. Allerdings weiß ich nicht, wie.
Den Code-Schnipsel einzubauen bringt nichts: Syntax-Error!
Das lässt sich auch nicht 1:1 kopieren, im root sieht die print_order.php etwas anders aus:

PHP-Code:
<?php
include ('includes/application_top.php');

// include needed functions
require_once (DIR_FS_INC.'xtc_get_order_data.inc.php');
require_once (
DIR_FS_INC.'xtc_get_attributes_model.inc.php');


$smarty = new Smarty;

// check if custmer is allowed to see this order!
$order_query_check xtc_db_query("SELECT
                      customers_id
                      FROM "
.TABLE_ORDERS."
                      WHERE orders_id='"
.(int) $_GET['oID']."'");
$oID = (int) $_GET['oID'];
$order_check xtc_db_fetch_array($order_query_check);
if (
$_SESSION['customer_id'] == $order_check['customers_id']) {
    
// get order data

    
include (DIR_WS_CLASSES.'order.php');
    
$order = new order($oID);
    
$smarty->assign('address_label_customer'xtc_address_format($order->customer['format_id'], $order->customer1'''<br />'));
    
$smarty->assign('address_label_shipping'xtc_address_format($order->delivery['format_id'], $order->delivery1'''<br />'));
    
$smarty->assign('address_label_payment'xtc_address_format($order->billing['format_id'], $order->billing1'''<br />'));
    
$smarty->assign('csID'$order->customer['csID']);
    
// get products data
    
$order_total $order->getTotalData($oID); 
    
$smarty->assign('order_data'$order->getOrderData($oID));
    
$smarty->assign('order_total'$order_total['data']);

    
// assign language to template for caching
    
$smarty->assign('language'$_SESSION['language']);
    
$smarty->assign('oID', (int) $_GET['oID']);
    if (
$order->info['payment_method'] != '' && $order->info['payment_method'] != 'no_payment') {
        include (
DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/payment/'.$order->info['payment_method'].'.php');
        
$payment_method constant(strtoupper('MODULE_PAYMENT_'.$order->info['payment_method'].'_TEXT_TITLE'));
    }
    
$smarty->assign('PAYMENT_METHOD'$payment_method);
    
$smarty->assign('COMMENT'$order->info['comments']);
    
$smarty->assign('DATE'xtc_date_long($order->info['date_purchased']));
    
$path DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/';
    
$smarty->assign('tpl_path'$path);

    
// dont allow cache
    
$smarty->caching false;

    
$smarty->display(CURRENT_TEMPLATE.'/module/print_order.html');
} else {

    
$smarty->assign('ERROR''You are not allowed to view this order!');
    
$smarty->display(CURRENT_TEMPLATE.'/module/error_message.html');
}
?>
Siehst Du da die Lösung?

Robin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 26.12.2008, 13:36
Benutzer
 
Registriert seit: 03.09.2008
Beiträge: 31
Standard Frage an Tuvalu

Hi nochmal,

ich beisse mir die Zähne an meinem Problem kaputt. Leider bin ich ja erst xt:Commerce-Anfänger bzw. PHP-unerfahren, aber ich werde mit Sicherheit auch irgendwann hilfreich zur seite stehen können. Doch bis dahin brauche ich noch etwas Hilfe - nach wie vor bei folgendem Problem:

Ich möchte in der Bestellmail und im Rechnungsdruck die Kurzbeschreibung mit ausgeben!

Zitat:
Zitat von Konfusion Beitrag anzeigen
... bisher folgendes unternommen:

shop/admin/print_order.php
Vorher:
PHP-Code:
... 
Nachher:
PHP-Code:
$psd_query=xtc_db_query("SELECT products_short_description FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='".$order_data_values['products_id']."'");
                
$psd_data_values=xtc_db_fetch_array($psd_query);
        
$order_data[]=array(
                
'PRODUCTS_MODEL' => $order_data_values['products_model'],
                
'PRODUCTS_NAME' => $order_data_values['products_name'],
                        
'PRODUCTS_SHORT_DESCRIPTION' => $psd_data_values['products_short_description'],
                
'PRODUCTS_ATTRIBUTES' => $attributes_data,
                
'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model,
                
'PRODUCTS_PRICE' => xtc_format_price_order($order_data_values['final_price'],1,$order->info['currency']),
                
'PRODUCTS_QTY' => $order_data_values['products_quantity']);
        } 
shop/templates/soundso/admin/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/module/print_order.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}

shop/templates/soundso/mail/german/order_mail.html
{$order_values.PRODUCTS_SHORT_DESCRIPTION}
Vielleicht kann mir Tuvalu weiterhelfen? Er wusste schon mal was zu diesem Thema, allerdings habe ich Version 3.0.4 SP2.1.

Zitat:
Zitat von tuvalu Beitrag anzeigen
vom 10.04.2006
Hi,

habe die Kurzbeschreibung bei mir vor einiger Zeit eingefügt und mir das hier als Änderung notiert:

adim/
print_order.php
Code austauschen um short_description zu definieren

Code:
while ($order_data_values = xtc_db_fetch_array($order_query)) { 
        $short_query = xtc_db_query("SELECT products_short_description FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE products_id=" . $order_data_values['products_id'] . " AND language_id=" . $_SESSION['languages_id']); 
        $short_result = xtc_db_fetch_array($short_query); 
        $attributes_query = xtc_db_query("SELECT 
                                products_options, 
                                products_options_values, 
                                price_prefix, 
                                options_values_price 
                                FROM ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." 
                                WHERE orders_products_id='".$order_data_values['orders_products_id']."'"); 
        $attributes_data = ''; 
        $attributes_model = ''; 
        while ($attributes_data_values = xtc_db_fetch_array($attributes_query)) { 
            $attributes_data .= '<br />'.$attributes_data_values['products_options'].':'.$attributes_data_values['products_options_values']; 
            $attributes_model .= '<br />'.xtc_get_attributes_model($order_data_values['products_id'], $attributes_data_values['products_options_values'],$attributes_data_values['products_options']); 
        } 
        $order_data[] = array ('PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'], 'PRODUCTS_ATTRIBUTES' => $attributes_data, 'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model, 'PRODUCTS_PRICE' => $xtPrice->xtcFormat($order_data_values['final_price'], true),'PRODUCTS_SINGLE_PRICE' => $xtPrice->xtcFormat($order_data_values['final_price']/$order_data_values['products_quantity'], true), 'PRODUCTS_QTY' => $order_data_values['products_quantity'], 'PRODUCTS_SHORT_DESCRIPTION' => $short_result['products_short_description']); 
    }
root/print_order.php und send_order.php

zum Ausdruck für Kunden, Code ausgestauscht
wie oben, Kurzbeschreibung eingefügt

templates/eigenestemplate/admin/print_order.html

{$order_values.PRODUCTS_SHORT_DESCIPTION} eingefügt

templates/eigenestemplate/module/print_order.html

{$order_values.PRODUCTS_SHORT_DESCIPTION} eingefügt

Hoffe, Du kannst etwas damit anfangen.

tuvalu
Original-Thread {short_description} in Bestellabschluß und Mail

In der print_order.php und send_order.php in v3.0.4 SP2.1 kann man das nicht genau so ersetzen, die Dateien sehen wie gesagt anders aus.
Vielleicht hat Tuvalu, Hubbabubba oder jemand anderes die Lösung für mein Problem?

Danke, Robin

Geändert von Konfusion (26.12.2008 um 13:38 Uhr) Grund: Link zum Original-Thread eingefügt
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 26.12.2008, 19:18
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Ort: Mußtopp
Beiträge: 638
Standard

Dein wahres Problem ist nicht das was du beschreibst sondern, daß du nicht weißt wie man debuggt. An diesem Kapitel kommst du nicht vorbei. Glaubs mir.

Der ultimative Debugbefehl lautet "echo" oder "print". Bei Arrays "print_r".

echo "x=$x<br>\n";
echo "arr=<pre>"; print_r($arr); echo "</pre>";

In einer Templatedatei prüfst du die Smartyvariablen indem du
{debug} einfügst. Dann öffnet sich ein Popupfenster was dir alle Smartyvarablen anzeigt.

Also. Du denkst dir irgendwas, codest es und übergibst Testdaten. Bestimmte Artikel/Artikelnummern und Datenbankwerte. Dann sollten diese in irgeneiner Weise verarbeitet werden.

Jetzt setzt du die o.g. Befehle zwischen die Codezeilen und vergleichst ob die Variablen jene Werte enthalten die du erwartest. So arbeitest du dich Schritt für Schritt durch die Datenverarbeitungskette. Anfangswerte , Folgewerte/-zustände, Folgewerte/-zustände, Folgwerte/-zustände u.s.w.
Bis du die Stelle findest wo's hakt.

Debuggen ist ne langweilige Arbeit und die macht keiner gerne. Aber es ist genau das was du jetzt brauchst. Um dir zu helfen müsste der Samariter entweder a) genial genug sein den Fehler mit den Augen zu erkennen oder b) die Sch...arbeit für dich übernehmen. ;-)

Wenn keiner dir den Fehler aufm Präsentierteller liefert, musst du wohl oder übel selbst ran. Die Frage sollte deshalb lauten: Wie kann ich einen deratigen Fehler finden? Dafür hab ich dir eben Tipps gegeben. ;-)

mfg
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 27.12.2008, 12:40
Benutzer
 
Registriert seit: 03.09.2008
Beiträge: 31
Standard

Uff,

ich hatte gehofft, das geht einfacher ;-)
Danke, jetzt muss ich mir das Ganze wohl doch etwas intensiver anschauen.

Servus, Robin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 16.01.2009, 11:57
xt:Commerce Support Kunde
 
Registriert seit: 04.12.2008
Beiträge: 11
Standard

Hallo Konfusion, ich habe das gleiche Problem aber mit den Einheiten. Soweit habe ich auch alles erweitert - es wird aber nicht angedruckt. Hast Du eine Lösung gefunden? Irgendwo gehen die in der print_order.php gesammelten Daten in einer anderen PHP-Datei verloren. In der print_order.php im Root-Verzeichnis habe ich auch diesen Select und das smarty erweiter - jedoch ohne erfolgt. Der o.g. Thread ist scheinbar für eine alte Version - klappt also auch nicht.

Meiner Meinung nach ist es ein Fehler im Programm wenn elementarte Daten wie z.B. die Abgabeeinheit nicht in der Mail steht und sollten doch vom Support gelöst und in das neuste Patch gebracht werden.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 18.01.2009, 11:25
xt:Commerce Support Kunde
 
Registriert seit: 04.12.2008
Beiträge: 11
Standard dann hier die Lösung

in der PHP-Datei order.php im Ordner includes/classes habe ich die Funktion getOrderData wie folgt erweitert:

Code:
        function getOrderData($oID) {
    	global $xtPrice;
    	
    	require_once(DIR_FS_INC . 'xtc_get_attributes_model.inc.php');
    	

    	$order_query = "SELECT o.products_id,	o.orders_products_id,	o.products_model,	o.products_name, o.final_price, o.products_shipping_time, o.products_quantity, p.products_vpe, p.manufacturers_id, v.products_vpe_name  
			FROM ".TABLE_ORDERS_PRODUCTS." o,  ".TABLE_PRODUCTS_VPE." v,  ".TABLE_PRODUCTS." p WHERE o.orders_id='".(int) $oID.   "' AND p.products_id = o.products_id AND v.products_vpe_id = p.products_vpe";

			$order_data = array ();
	$order_query = xtc_db_query($order_query);
	while ($order_data_values = xtc_db_fetch_array($order_query)) {
		$attributes_query = "SELECT
		        				products_options,
		        				products_options_values,
		        				price_prefix,
		        				options_values_price
		        				FROM ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES."
		        				WHERE orders_products_id='".$order_data_values['orders_products_id']."'";
		$attributes_data = '';
		$attributes_model = '';
		$attributes_query = xtc_db_query($attributes_query);
		while ($attributes_data_values = xtc_db_fetch_array($attributes_query)) {
			$attributes_data .= '<br />'.$attributes_data_values['products_options'].':'.$attributes_data_values['products_options_values'];
			$attributes_model .= '<br />'.xtc_get_attributes_model($order_data_values['products_id'], $attributes_data_values['products_options_values'],$attributes_data_values['products_options']);

		}
		$order_data[] = array ('PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_VPE_NAME' =>  $order_data_values['products_vpe_name'], 'PRODUCTS_VPE' => $order_data_values['products_vpe'],  'MANUFACTURERS_ID' => $order_data_values['manufacturers_id'], 'PRODUCTS_NAME' => $order_data_values['products_name'],'PRODUCTS_SHIPPING_TIME' => $order_data_values['products_shipping_time'], 'PRODUCTS_ATTRIBUTES' => $attributes_data, 'PRODUCTS_ATTRIBUTES_MODEL' => $attributes_model, 'PRODUCTS_PRICE' => $xtPrice->xtcFormat($order_data_values['final_price'], true),'PRODUCTS_SINGLE_PRICE' => $xtPrice->xtcFormat($order_data_values['final_price']/$order_data_values['products_quantity'], true), 'PRODUCTS_QTY' => $order_data_values['products_quantity']);

	}
	
	return $order_data;
    	
    }
somit kann ich in der HTML-Datei für die Mail (order_mail.html) auf die Variable products_vpe, products_vpe_name und manufacturers_id zugreifen.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
email, kurzbeschreibung, rechnung

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kurzbeschreibung im Bestätigungsmail + druckbare Rechnung dlevicki Template System 0 22.10.2008 15:26
PDF Rechnung erstellen und per Mail versenden. godder Allgemeine Diskussionen 1 09.07.2007 16:44
Wie Rechnung und create Account Mail anpassen? Little Allien Installation und Konfiguration 5 18.12.2006 10:58


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand