Inhalt eines Mehrdimensionalen Arrays abfragen ?

Wenn ich die abfrage im Formular einbinde:

{php} var_dump($order->customer); {/php}

dann wird als ergebnis folgendes ausgeworfen: NULL
 
Dort wo du das jetzt eingefügt hast wird es von der Engine auch nicht interpretiert.

Schreib das unter die Zeile im PHP-File und dann wird irgendwo im oberen Bereich der Seite nach dem Reload der var_dump ausgegeben werden.
 
Das wird nun geschrieben:

array(17) { ["name"]=> NULL ["company"]=> NULL ["gender"]=> NULL ["csID"]=> NULL ["vat_id"]=> NULL ["shop_id"]=> NULL ["ID"]=> NULL ["cIP"]=> NULL ["street_address"]=> NULL ["suburb"]=> NULL ["city"]=> NULL ["postcode"]=> NULL ["state"]=> NULL ["country"]=> NULL ["format_id"]=> NULL ["telephone"]=> NULL ["email_address"]=> NULL }
 
Dann hast du jetzt den Aufbau des Arrays
Code:
array(17) { 
	["name"]=> NULL 
	["company"]=> NULL 
	["gender"]=> NULL 
	["csID"]=> NULL 
	["vat_id"]=> NULL 
	["shop_id"]=> NULL 
	["ID"]=> NULL 
	["cIP"]=> NULL 
	["street_address"]=> NULL 
	["suburb"]=> NULL 
	["city"]=> NULL 
	["postcode"]=> NULL 
	["state"]=> NULL 
	["country"]=> NULL 
	["format_id"]=> NULL 
	["telephone"]=> NULL 
	["email_address"]=> NULL 
}

Wenn du jetzt im PHP auf einen einzelnen EIntrag zugreiffen willst, dann kannst du das im PHP-File so
PHP:
$city = $order->customer['city'];

Irgendwie blicke ich noch nicht durch, was du damit nun machen willst.
 
Also ich möchte gerne folgendes machen.

Der Kunde bekommt eine bestellbestätigungs mail (das formular ein paar post vorher) in diesem Formular möchte ich einen button integrieren wo der kunde drauf drückt und dann via DHL das Versandlabel erstellt wird. zum erstellen des Labels muss ich den link zum Labelgenerator (extern) anpassen mit den attributen name etc. damit die felder alle im vorraus ausgefüllt sind. Und dazu muss ich die daten alle einzeln abfragen weil die einzelnen attribute wie name straße etc. in ein jeweils eigenes feld geschrieben werden müssen.

Und die abfrage der einzelnen Daten muss im oben geposteten formular stattfinden ansonsten funktioniert das leider nicht :(
 
Es ist nicht einfach, eine eigene Funktion in ein bestehendes System zu integrieren, dass man nicht selber gemacht hast. Ich selber traue mir sowas nur zu, nachdem ich mich mit dem System auseinandergesetzt habe. Ev. gibt es Plugins - Wenn ja, ev. gibt es da schon eines welches das kann. Ansonsten sollte man sich schlau machen, wie man selber ein Plugin erstellen kann.

Was du nicht machen solltest, ist die bestehende Lösung umzuprogrammieren. Zukünftige Updates werden nicht mehr funktionieren. Grad bei einem Bestellsystemen ist es wichtig, dass die Applikation auf dem neusten Stand ist - es geht um Geld!
Mit Eigenentwicklungen baust du mit grosser Wahrscheinlichkeit Sicherheitslücken mit ein.

Mein gut gemeinter Rat: Lass die Hände davon!
Benutze nur Plugins von der Offiziellen Seite des Shopsystemanbieters.
Ich, mit meinen vielen Jahren als Programmierer würde mich nicht einfach so daran wagen.
 
Also die Originale definition des platzhalters {adress_label_customer} sieht so aus:
PHP:
$smarty->assign('address_label_customer',xtc_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />'));


kann ich dann nicht einfach mir eins erstellen wie ich es brauche also quasi für jeden einzelnen inhalt ?

PHP:
$smarty->assign('vorname',xtc_address_format($order['customers_firstname'], $order->customer, 1, '', '<br />'));
 
Danke für die Antwort problem ist nur das es weder ein Plugin gibt von DHL für diesen fall noch vom Shopbetreiber weder noch von externen Anbietern, selbst wenn ich 5000€ bezahlen würde ich finde es nirgendswo der es genau so macht wie ich es brauche es gibt ähnliche prozesse die es unterstützen aber nicht in einem rutsch und ich will dem kunden ersparen sich nach der bestellung durch 200 scripte zu klicken.
 
Dann solltest du dich aber Hinsetzen und das System GENAU studieren und dir dann ien Plugin schreiben, dass alle Aspekte der Sicherheit mit abdeckt.
Auf keinen Fall den Code des Shops anpassen!

Viel Glück, du kannst es gut gebrauchen
 
Zurück