Oxid shop Ce Artikel erweitern

Hallo bin noch ein Anfänger was Oxid Shop und PHP angeht.

Für mein Praktkum soll ich im Oxid Shop eine Veränderung vornehmen.

Ich soll in den Artikeldetails ein zweites Feld für die genauere Beschreibung erstellen.

So nun habe ich im Adminbereich -> Artikel -> Stamm einen zweiten großen Editor eingefügt.

Dazu habe ich die Datei oxid/admin/article_main.php

Zeile 117



        $this->_aViewData["editor"] = $this->_generateTextEditor( "100%", 300, $oArticle, "oxarticles__oxlongdesc", "details.tpl.css");
        $this->_aViewData["editor1"] = $this->_generateTextEditor( "100%", 300, $oArticle, "oxarticles__oxlongdesc1", "details.tpl.css");


und die Datei oxid/out/admin/tpl/atricle_main.tpl

Zeile 285



<!-- Anfang rechte Seite -->
          <td valign="top" class="edittext" align="left" style="width:50%;height:99%;padding-left:5px;padding-bottom:30px;padding-top:10px;">

            [{ $editor }] 


          </td>
          
          <td valign="top" class="edittext" align="left" style="width:50%;height:99%;padding-left:5px;padding-bottom:30px;padding-top:10px;">

            [{ $editor1 }]

          </td>
          
    <!-- Ende rechte Seite -->


verändert.

So nun Zeigt er mir im Adminbereich einen zweiten Editor an der allerdings die Daten n icht übernimmt.
Ich habe unter Xampp unter PHPMyAdmin in die Datenbank oxarticles geschaut um den Eintrag des eigendlchen Editors zurück verfolgen zu können.
Dort sind bis auf oxlongdesc alle Daten Anzusehen. Nun frage ich mich wie die Daten aus oxlongdesc zurückzuverfolgen sind.

Desweiteren ist mir nicht bekannt wo ich im Oxid Shop selbst (unter welcher Datei)
die Artikeldetails angezeigt werden und welche Datei dort auf die Datenbank zurückgreift.

Ach ja ich muss ja die Datenbank noch um oxlongdesk1 erweitern ist das mit PHPMyAdmin möglich?

Ich wäre für jede Hilfe sehr dankbar denn im moment komm ich da nicht weiter.

Ich hoffe ich habe mein Anliegen gut beschrieben:)

Hallo ich bins noch mal habe die Eingabe mittels einem selbst erstellten Modul hinbekommen. Nun speichert er die Sachen schon mal in der MySql Datenbank jetzt bleibt nur noch die Frage wie ich diese einträge im Oxid Shop selbst anzeigen lassen kann.
Leider besteht der Oxid Shop aus ziemlich vielen Dateien und einen wirklichen zusammenhang hab ich trotz einigem lesen vom Quellcode noch nicht gefunden also meine Frage: Wie kann ich in den Produktdetails, ( wo das Produkt genau beschrieben wird ) noch eine “Tabelle” einfügen die dann den Eintrag aus der MySql Datenbank übnimmt.

Um jede Hilfe wär ich dankbar auch schon wenn ich wüsste wie die Datei heißt in dem die Produktdetails ausgegeben werden. Danke…

MFG Newbie88

[QUOTE=Newbie88;24374]Wie kann ich in den Produktdetails, ( wo das Produkt genau beschrieben wird ) noch eine “Tabelle” einfügen die dann den Eintrag aus der MySql Datenbank übnimmt.[/QUOTE]Da brauchst Du nicht weiter zu tun, als im Template das neue Feld zu verwenden…

[QUOTE=Newbie88;24374]Um jede Hilfe wär ich dankbar auch schon wenn ich wüsste wie die Datei heißt in dem die Produktdetails ausgegeben werden. Danke…[/QUOTE]Wie soll die schon heißen?

details.tpl natürlich.

Klingt schon mal logisch danke :slight_smile: aber das Template kann ja nun leider der Mysql Datenbank nicht sagen “hey hol dir den und den eintrag aus der Datenbank” das müsste ja aufgabe eines PHP Scriptes sein. Nur in welcher .php Datei wird das gemacht und wie wird es gemacht

[QUOTE=Newbie88;24392]aber das Template kann ja nun leider der Mysql Datenbank nicht sagen “hey hol dir den und den eintrag aus der Datenbank” das müsste ja aufgabe eines PHP Scriptes sein. Nur in welcher .php Datei wird das gemacht und wie wird es gemacht[/QUOTE]Vergiss alles, was Du bisher über konventionelle Shop-Programmierung mit PHP gelernt hast, und vertraue mir…

OXID ist so cool, dass das genau so funktioniert…

Nennt sich “Lazy loading”.

Wenn ich Erfahrung mit Shop Programmierung hätte wäre ich froh, oder auch nicht wenn du das sagst.
OXID mag ne coole Sache sein geb ich dir recht nur die Programmierung is ziemlich komplex

Hallo,

ich habe ebenfalls ein Problem mit dem Einfügen eines zweiten Feldes mit dem FCK-Editor. Die 1. Langbeschreibung funktioniert wunderbar mit dem Editor, aber wenn ich ein weiteres Editorfeld hinzufüge mit folgender Zeile in der Datei article_main.php:


$this->_aViewData["editor1"] = $this->_generateTextEditor( "100%", 300, $oArticle, "oxarticles__oxlongdesc_2", "details.tpl.css");

Und in der Datei article_main.tpl:


<!-- Anfang rechte Seite -->
          <td valign="top" class="edittext" align="left" style="width:100%;height:99%;padding-left:5px;padding-bottom:30px;padding-top:10px;">
            <table border="0" cellpadding="0" cellspacing="0" style="width:100%;" >
              <tr><td>[{ $editor }]</td></tr>
              <tr><td>[{ $editor1 }]</td></tr>
            </table>

          </td>
    <!-- Ende rechte Seite -->

bekomme ich weder den Editor angezeigt noch bekomme ich den Text aus dem Datenbankfeld OXLONGDESC_2 angezeigt.

Unter Stammdaten->Grundeinstellungen->System habe ich unter Module folgendes stehen:
article_main => tc_fckeditor/tc_fckeditor
content_main => tc_fckeditor/tc_fckeditor
newsletter_main => tc_fckeditor/tc_fckeditor
category_text => tc_fckeditor/tc_fckeditor
news_text => tc_fckeditor/tc_fckeditor
adminlinks_main => tc_fckeditor/tc_fckeditor

Was mache ich verkehrt? Vielleicht kann mir jemand dabei helfen.

Gruß
fkotzek4

Eins vorweg - ich hab null Ahnung von php - also ist fogendes mehr Raterei, denn Wissen …

Da die CE-version keinen Editor hat (sondern dieser erst durch Module eingebunden werden kann), dürfte die Zeile in der article.main.php eher ohne Belang sein. Ich vermute fast, die ist ein altes Überbleibsel, denn “oxarticles__oxlongdesc” würde ich so interpretieren, dass das Feld in der oxarticles-Tabelle gesucht wird.
Da steht die longdesc aber nicht mehr (das ist ist nun auch keine Raterei mehr, sondern Wissen :smiley: ), denn die lange Artikelbeschreibung wurde in eine eigene Tabelle ausgelagert: oxartextends

Und in der oxartextends ist neben oxlongdesc bereits oxlongdesc_1 bis oxlongdesc_3 vorhanden … aber nicht für weitere Artikelbeschreibung, sondern das ist der Standard für die Artikelbeschreibung in weiteren Sprachen.

Grundsätzlich solltest du ein zweites Feld für weitere Beschreibungen also schon mal anders nennen.

Oxid hat die Angewohnheit, bei Datenbankfelder die mit einer Zahl enden anzunehmen, dass es sich um multilinguale Felder handelt.
oxarticles__oxlongdesc = Langbeschreibung deutsch (Hauptsprache)
oxarticles__oxlongdesc_1 = Langbeschreibung englisch
oxarticles__oxlongdesc_2 = Langbeschreibung kisuaheli

Entweder die Sachen werden nicht abgespeichert, da die Oxid Vorgabe eine Sprache gleichzeitig ist, oder es wird für die 3. Sprache der oxlangdesc geändert.

Versuche lieber was aussagekräftigeres zB. oxlangdescalternate, dann kann man weiter schauen.