Autor |
Nachricht |
DEKONSTRUKTIV
Threadersteller
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Mi 16.11.2011 18:16
Titel magento shipment vor- & n achname |
|
|
ok, kids
ne magento frage:
wenn ich aus einer bestellung ein shipment mache, dann trägt der apparat den vor- & nachnamen des kunden zuaammen ins vornamen-feld der sendung ein. in der bestellung is noch alles ok, erst in versandansicht kombiniert er die felder. der nachname is dann leer.
die version, die da läuft is 1.6.0.0, hat jemand n groben tip, an welcher stelle ich den mechanismus finde, der die felder fürs shipment befüllt?
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Mi 16.11.2011 23:34
Titel
|
|
|
geht's nur um die darstellung?
also das frontend-template für's shipping findet sich unter design/frontend/base/default/template/checkout/onepage/shipping.phtml
wie du das template "richtig" anpasst (kopieren in dein theme, "updatesicherheit" etc.) ist dir bewusst?
edit: oh, habe grade mal ins template geschaut und verstehe dein problem. der name wird aus einem anderen template gerendert (achtung: das ist aber allgemein für die darstellung / formatierung des namens zuständig).
entweder du
- änderst die darstellung also generell (das template dafür liegt unter: design/frontend/base/default/template/customer/widget/name.phtml )
- legst ein neues template an und lädst dieses in einen eigenen block ( design/frontend/base/default/checkout.xml ) --> das wäre die "saubere" variante
- machst es "dreckig" und importierst dir den customer händisch, schmeißt die ausgabe des Namens aus dem Template und holst dir die Daten per Mage::getModel('customer/customer')->load($customer_id) --> Das würde ich allerdings nicht empfehlen.
Zuletzt bearbeitet von sahnemuh am Mi 16.11.2011 23:35, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
DEKONSTRUKTIV
Threadersteller
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Do 17.11.2011 04:15
Titel
|
|
|
es geht nich tatsaechlich ums frontend, sondern ums backend. aus einer eingehenden bestellung wird eine sendung generiert, in dieser sendung taucht zum ersten mal der zusammengezogene name als vorname auf und wird dann so weitergefuehrt.
das interne prozedere, das aus einer bestellung eine sendung macht, ausenanderzuklamuesern, is echt aufwendig. ich krieg da noch keinen richtigen griff dran.
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Do 17.11.2011 14:39
Titel
|
|
|
nope. sorry - ich habe mal nachgeschaut aber da bin ich auch raus
Wenn es dir hilft: Der Name wird auf m.E. in der Abstract.php von core/mage/customer/model/address/ konkatiniert. Aber wie man die core klassen anpasst ist nicht so mein metier (zwar schon gemacht aber ist ewig her).
|
|
|
|
|
Mac
Dabei seit: 26.08.2005
Ort: Köln
Alter: 62
Geschlecht:
|
Verfasst Do 17.11.2011 14:46
Titel
|
|
|
Core anpassen: paralleler Baum in local anlegen. Dann wirkt das wie bei den Templates
|
|
|
|
|
DEKONSTRUKTIV
Threadersteller
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Do 17.11.2011 14:57
Titel
|
|
|
herzlichen dank, dem tip werd ich nachgehen.
|
|
|
|
|
DEKONSTRUKTIV
Threadersteller
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Do 17.11.2011 15:16
Titel
|
|
|
ok, hab mal reingeschaut. die concatenation findet in der tat im customer model statt, in der methode getName(). das is soweit auch ok, weil das das definierte verhalten von getName() is. das problem is: beim erzeugen des shipment verwendet der apparat eben getName(), um den vornamen zu befüllen und lässt den nachnamen leer. und ich komm nich dahinter, wo diese funktionalität, die das shipment erzeugt, vergraben is.
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Do 17.11.2011 16:18
Titel
|
|
|
Mac hat geschrieben: | Core anpassen: paralleler Baum in local anlegen. Dann wirkt das wie bei den Templates |
das kann man natürlich mit überschreiben/vererbung machen allerdings ist es dann auch nur bedingt updatesicher. sinnvoller wäre m.E. eine eigene methode dafür anzulegen, und die vorhandene klasse extended. die muss dann aber wiederum an 1098898 stellen angemeldet werden so weit mich erinnere. oder liege ich da mit meinem gefährlichen halbwissen falsch? (ich hab' bislang eher frontend für magento gemacht und bin nicht so der programmierbär)
|
|
|
|
|
|
|
|
Ähnliche Themen |
Magento mit Amazon verbinden
Magento Artikel Individualisierungsoptionen Regeln zuweisen
Magento - Backend Links defekt (admin)
Suche Hilfe für Varnish / Magento Konfigurartion
|
|