Hallo OXID-Community,
wollte mal fragen, ob jemand von euch weiß, wie ich auf eine neue Datenbank-Spalte in oxarticles zugreife. Es handelt sich dabei um eine Spalte mit dem Namen OXBULLET, welche Stichpunkte zu den Produkten beinhaltet. Eigentlich sollte ich einfach mit diesem Befehl die Werte der Spalte auslesen können:
[{ $product->oxarticles__oxbullet->value }]
Das Problem ist, dass die neue Spalte nicht über den Admin-Bereich erstellt wurde und auch daher nicht der Klasse oxArticle zuzuordnen ist. Eine Möglichkeit wäre im Core die oxarticle.php-Datei zu erweitern, aber davon lasse ich lieber die Finger, auch wegen zukünftigen Updates von OXID.
Hat von euch jemand eine Idee, mit welcher Variable oder Klasse ich die Werte der Spalte auslesen kann? Würde mich über Hilfe freuen.
Gruß, Andreas
Hallo !
in der Detailsansicht müsste das mit:
$oDetailsProduct->oxarticles__oxbullet->value
funktionieren.
mfg
Danke für die schnelle Antwort.
Hat aber leider noch nicht funktioniert.
Falls es hilft: Das Feld ist vom Typ “text”.
Möchte ungern was im Core oder in den Views ändern, wäre schön wenn es auch ohne geht.
Gruß, Andreas
ich verwende sowas bei uns im Shop 4.5 auch, allerdings als varchar-Feld
nachdem Anlegen des Feldes musst natürlich noch die Views aktualisieren und den Templatecache leeren
hab grad mal noch getestet, mit TEXT geht das auch
Das Problem ist, dass das Feld nicht im Admin-Bereich angelegt wurde, sondern anscheinend manuell in die Datenbank eingefügt wurde.
Wenn ich das richtig verstehe, wird ja die Views beim Anlegen eines Feldes im Admin-Bereich automatisch aktualisiert … außer ich irre mich, habe das noch nicht gemacht bisher.
Könntest du mir vielleicht ein Beispiel geben, wie ich die Views erweitern kann so, dass der Befehl von deinem ersten Post auch bei mir funktioniert?
Würde mich sehr darüber freuen.
Admin-> Service->Tools-> Views aktualisieren.
also erst mal sollte man vielleicht klären welche Version Du nutzt, und 2. hab ich grad mal im Bugtracker gefunden:
Zitat:
0003746: lowercase fields don’t work with lazy loading
0003746: lowercase fields don't work with lazy loading - OXID eShop bugtrack
Danke euch allen für die Tipps.
@novalgin: Werde das mit dem “Lazy Loading”-Modul mal ausprobieren.
@tobi73de: Der Shop benutzt die “Community Edition 4.5.9_43186”.
Halte euch auf dem Laufenden.
Gruß, Andreas
Werde das mit dem “Lazy Loading”-Modul
brauchste nich, is für frühere Versionen
Wen es interessiert: Habe es doch noch mit Hilfe geschafft.
Die Lösung war der oben genannte Befehl, nur in der tpl/inc/product.tpl-Datei und anstelle von der Kurzbeschreibung:
[{oxhasrights ident="SHOWSHORTDESCRIPTION"}]
<div id="test_shortDesc_[{$testid}]">[{ $product->oxarticles__oxbullet->value }]</div>
[{/oxhasrights}]
Nun werden die Stichpunkte in der Produktliste angezeigt.
Hoffe ich konnte helfen.
Gruß, Andreas
Hi,
ich hatte heute das gleiche Problem. Die von mir selbst angelegte Datenbankspalte wurde in der productmain.tpl nicht angezeigt, obwohl ich die korrekte Schreibweise verwendet habe
$oDetailsProduct->oxarticles__oxspalte->value
Grund dafür war eine Zahl in der Bezeichnung der Spalte.
Also etwas wie Meine_Spalte_2 funktionierte nicht. Habe ich es in Meine_Spalte_B geändert, hat es funktioniert.
Groß-/Kleinschreibung spielt keine Rolle, in der tpl-Datei ist alles kleingeschrieben.
Vielleicht stolpert der eine oder andere auch nochmal über dieses Thema.
Ich nutze derzeit OXID CE 4.8.6
Hi,
da ich auch schon vor dem Problem stand, noch eine weitere kleine Anmerkung:
Zahlen am Anfang des Spaltennamen oder in der Mitte sollten kein Problem sein.
(Zumidnest habe ich bei Test kein Problem festgestellt, Ihr dürft mich aber gerne Korrigieren)
Nur Zahlen am Ende werden Problematisch. Da “_1” bzw “_2” usw. an den Spaltennamen für die Mehrsprachigkeit im OXID Shop verwendet wird (sprich die gerade selektierte Sprache).
Dadurch kann es passieren das Views nicht so generiert werden, wie man es erwartet.
Aber wer es genau wissen will: