Ausgabe der Artikel Maße im Template

Kann mir bitte jemand sagen wie ich im Template(Detailseite) auf die Maße eines Artikes zugreifen kann. Diese kann man bei der Artikeladministration im Bereich “Erweitert” eintragen. Nur kann ich nirgendwo finden wo diese ausgegeben werden.

Hallo ostec,

das ist die gleiche unbeantwortete Frage wie hier, oder?
http://www.oxid-esales.com/forum/showthread.php?t=2969

Im Grunde muss man einfach in z.B. der details.tpl eingreifen und folgendes einfügen:
[{$product->oxarticle__oxlength->value}] (ungetestet!)

Gruß

@Marco: Genau so ist es richtig.

Danke für die Antworten passt wunderbar

Hallo Marco,

ich bin in diesen Tagen auf diese Thema gestoßen und habe probiert einfach mal die Länge in den Artikeldetails anzuzeigen so wie es auch schon für das Gewicht gemacht wird, dabei habe dieses hier programmiert:

[{if $product->oxarticles__oxlength->value }]
<div id=“productLength” class=“lperunit”>
([{$product->oxarticles__oxlength->value}])
</div>
[{/if}]

Es wird aber irgendwie nicht angezeigt. Kannst du mir oder jemand nochmal weiterhelfen.

Vielen Dank

Hallo webtec,
dein Schnippsel funktioniert auf alle Fälle in der CE 4.5.4, details.tpl, Theme Basic.
tmp-Ordner vorher gelöscht ?

Danke Seelauer,

ja funktioniert tatsächlich, tmp hatte ich mal wieder vergessen.

Ich danke dir

Nur ein Hinweis:

Die allgemeine Lösung zum Problem mit tmp-files in einer Entwicklungs-Umgebung:

In Oxid eShop Admin:
Grundeinstellungen > Performance > “Überprüfen ob Templates neu kompiliert werden müssen. Schalten Sie diese Einstellung aus, wenn der eShop in den Live-Betrieb geht.”

  • siehe Handbuch.

Check-Box aktivieren und jede Änderung wird sofort kompiliert.

PS: Der Code-Snippet funktioniert in allen 4.x Versionen und die Dimensionen dazu bitte noch in der lang.php definieren.

Vielen Dank auch Earlybird,

für alle die es auch noch interessiert, hier nun der komplette Vorgang.
Ich habe zunächst in der details.tpl folgenden Codeschnipsel programmiert und hinzugefügt:

[{if $product->oxarticles__oxlength->value }]
<div id=“productLength” class=“lperunit”>
([{ oxmultilang ident=“DETAILS_ARTLENGTH” }] [{$product->oxarticles__oxlength->value}] [{ oxmultilang ident=“DETAILS_ARTMEASUREUNIT” }])
</div>
[{/if}]

[{if $product-&gt;oxarticles__oxwidth-&gt;value }]
&lt;div id="productWidth" class="wperunit"&gt;
	([{ oxmultilang ident="DETAILS_ARTWIDTH" }] [{$product-&gt;oxarticles__oxwidth-&gt;value}] [{ oxmultilang ident="DETAILS_ARTMEASUREUNIT" }])
&lt;/div&gt;
[{/if}]

[{if $product-&gt;oxarticles__oxheight-&gt;value }]
&lt;div id="productHeight" class="hperunit"&gt;
	([{ oxmultilang ident="DETAILS_ARTHEIGHT" }] [{$product-&gt;oxarticles__oxheight-&gt;value}] [{ oxmultilang ident="DETAILS_ARTMEASUREUNIT" }])
&lt;/div&gt;
[{/if}]

Dies zeigt die 3 Werte Länge Breite und Höhe in den Artikeldtails an in sofern sie gesetzt sind, also nicht auf 0 stehen.
Um auch die Worte Länge, Breite und Höhe vor den Werten, sowie m für Meter hinter den Werten anzuzeigen habe ich in der deutschen lang.php diese identifiers definiert:

‘DETAILS_ARTHEIGHT’ => ‘Höhe:’,
‘DETAILS_ARTMEASUREUNIT’ => ‘m’,
‘DETAILS_ARTLENGTH’ => ‘Länge:’,
‘DETAILS_ARTWIDTH’ => ‘Breite:’,

und bei der englischen lang.php diese identifiers:

‘DETAILS_ARTHEIGHT’ => ‘Height:’,
‘DETAILS_ARTMEASUREUNIT’ => ‘m’,
‘DETAILS_ARTLENGTH’ => ‘Length:’,
‘DETAILS_ARTWIDTH’ => ‘Width:’,

die dann enstsprechend durch meine Programmierung aufgerufen werden.

So ich denke damit ist es ausreichend definiert.

Viel Spaß beim ausprobieren.

Vielen Dank für die Anleitung. Das brauche ich grad und werde es mal ausprobieren!

Hallo zusammen,

[QUOTE=webtek;73260]Vielen Dank auch Earlybird,

für alle die es auch noch interessiert, hier nun der komplette Vorgang.
Ich habe zunächst in der details.tpl folgenden Codeschnipsel programmiert und hinzugefügt:

[/QUOTE]

ist es eigentlich möglich die Ausgabe direkt mit PHP oder Smarty in cm umzurechnen?
meine Artikel sind alle nicht so groß und 0,014m sieht nicht so nett aus wie 1,4cm.

Im Forum wird beschrieben das die Warenwirtschaft / Packetversand aber die Maße in Meter braucht und man den Shop nicht komplett auf cm umstellen sollte, ist das richtig?

Grüße Piet

@Stilfabrik

Das kannst Du z.B. im Template an der Stelle umrechnen lassen wo Du es anzeigen möchtest.

Ähnliche Beispiele als Ansatz:


(1)
[{ if $product->oxarticles__oxweight->value > 0 }]
[{ assign var="kg" value=$product->oxarticles__oxweight->value }]
[{ math assign="var_name" equation="(x * y)" x=$kg y=100 }]Index=[{$var_name}]
[{/if}]

(2)
[{math equation="x*y" x=20 y=$product->getArticleRatingAverage() assign="currentRate" }]

Die math Formel und Parameter musst Du natürlich anpassen.

Danke für die Antwort,
werde ich mal ausprobieren.

Ich habe den Code oben jetzt nochmal erweitert (Edit), dann siehst Du bei Beispiel (1) den kompletten Zusammenhang. So wird es leichter verständlich.

und hier das Script “Anzeige der Länge, Breite, Höhe” für Version: 4.6.2 Theme Azure:

in productmain.tpl an gewünschter Stelle einfügen:
<div>
[{if $oDetailsProduct->oxarticles__oxlength->value }]
[{ oxmultilang ident=“DETAILS_ARTLENGTH” }] [{$oDetailsProduct->oxarticles__oxlength->value}][{ oxmultilang ident="_UNIT_MM" }]
[{/if}]-
[{if $oDetailsProduct->oxarticles__oxwidth->value }]
[{ oxmultilang ident=“DETAILS_ARTWIDTH” }] [{$oDetailsProduct->oxarticles__oxwidth->value}][{ oxmultilang ident="_UNIT_MM" }]
[{/if}]-

						[{if $oDetailsProduct-&gt;oxarticles__oxheight-&gt;value }]
							[{ oxmultilang ident="DETAILS_ARTHEIGHT" }] [{$oDetailsProduct-&gt;oxarticles__oxheight-&gt;value}][{ oxmultilang ident="_UNIT_MM" }]
						[{/if}]
					&lt;/div&gt;

in die de/lang.php:

‘DETAILS_ARTHEIGHT’ => ‘Höhe:’,
‘DETAILS_ARTLENGTH’ => ‘Länge:’,
‘DETAILS_ARTWIDTH’ => ‘Breite:’,

in die en/lang.php:
‘DETAILS_ARTHEIGHT’ => ‘Height:’,
‘DETAILS_ARTLENGTH’ => ‘Length:’,
‘DETAILS_ARTWIDTH’ => ‘Width:’,