PhilippISN Posted November 21, 2011 Report Share Posted November 21, 2011 Liebe Community Ist es möglich das Formular, mit welches man neue Artikel erstellt, mit einem Dropdown zu erweitern? Ich weiß wie man zusätzliche Textfelder, Checkboxen oder HTML-Editoren einfügt, einfach die Tabelle xt_products erweitern, aber wie mach ich das für ein Dropdown? Ist es überhaupt möglich, schließlich gibt es für z.B. Hersteller ID eine eigene Funktion die dieses Dropdown befüllt, in dieser Datei gibt es auch keine Hookpoints zum erweitern (außer Bilder). Wäre toll, wenn das jemand weiß. Vielen Dank und beste Grüße Link to comment Share on other sites More sharing options...
PhilippISN Posted November 23, 2011 Author Report Share Posted November 23, 2011 So, da mir keiner weiter geholfen hat und ich es aber trotzdem geschafft habe, will ich meine Erkenntnisse natürlich niemanden vorbehalten. Um ein Dropdown in der "Artikel erstellen" Eingabemaske hinzuzufügen ist der Hookpoint class.product.php:_getParams_top wichtig. Dort erweitert man die $header Variable: $header['mein_dropdown'] = array('type' => 'dropdown','url'=>'DropdownData.php?get=mein_dropdown'); [/PHP] Für "mein_dropdown" muss man vorher natürlich eine entsprechende Spalte in der [i]products [/i]Tabelle angelegt haben. Nun braucht man nurmehr eine eigene Dropdown-Resource anlegen z.B. in einer eigenen php Datei: [PHP] if($request['get'] == 'mein_dropdown') { if(!isset($result)) $result = array(); $result[] = array('id' => 1, 'name' => 'Hallo'); } [/PHP] Diese in dem Hookpoint [b]admin_dropdown.php:dropdown[/b] registrieren und fertig ist der ganze Zauber. Hoffe ich hab damit jemanden weiterhelfen können Link to comment Share on other sites More sharing options...
schoorli Posted November 23, 2011 Report Share Posted November 23, 2011 Hallo, deine Beiträge gefallen mir:D ich komm noch nicht ganz mit, vielleicht weil schon nach Arbeitszeit ist;-) Die Rede ist von 'Artikel Neu' oder 'Artikel Bearbeiten'? (so heißen die Reiter bei mir) Wo finde ich die benötigten Hookpoints und wie kann ich dort die neue .php registrieren? Achja - und: Wie setzt du das zB ein? Sind vielleicht blöde Fragen, aber... grüße! Link to comment Share on other sites More sharing options...
PhilippISN Posted May 8, 2012 Author Report Share Posted May 8, 2012 hallo, sorry ist wahrscheinlich schon zu spät für eine antwort aber vieleicht hilft es ja jemand anderen. Zu deinen fragen: Wo finde ich die Hookpoints: Ist eigentlich egal, du musst nur wissen wie der hookpoint heißt. PHP registrieren: Einfach über den installer (also die plugin installer xml). Dort fügst du ein code-segment (im elternknoten plugin-code) mit folgenden inhalt ein: <code> <!-- Dropdownwerte bei Artikel erstellen --> <hook>class.product.php:_getParams_top</hook> <phpcode><![CDATA[ $header['mein_dropdown'] = array('type' => 'dropdown','url'=>'DropdownData.php?get=mein_dropdown'); ]]></phpcode> <order>1</order> <active>1</active> </code> [/PHP] Dann musst du noch die php-datei mit den dropdown-resourcen registrieren - ebenfalls im installer: [PHP] <code> <!-- Dropdown Resourcen --> <hook>admin_dropdown.php:dropdown</hook> <phpcode><![CDATA[ include _SRV_WEBROOT.'plugins/dropdown_test/classes/meindropdown.php'; ]]></phpcode> <order>1</order> <active>1</active> </code> [/PHP] In der meindropdown.php gibst du dann den inhalt des dropdowns zurück (beachte den get-Parameter). Du brauchst nur das $result array mit deinen daten erweitern (ohne return): [PHP] if($request['get'] == 'mein_dropdown') { [db-abfrage etc ....] foreach($data as $id) { $result[] = array('id' => $id,'name'=>'text','desc' => 'beschreibung'); $i++; } } [/PHP] Das wars auch schon :-) lg Link to comment Share on other sites More sharing options...
manoloxxl Posted March 19, 2014 Report Share Posted March 19, 2014 Hi PhilippISN, auch wenn es etwas her ist, ich muss sagen dass ich auch an der zweiten Anleitung scheiter. Ich habe die class.product.php gefunden in /xtFramework/classes/ und habe dort einen weiteren headereintrag eingetragen: $header['pusheinlage'] = array('type' => 'dropdown','url'=>'DropdownData.php?get=blabla'); Aber wo erstelle ich denn den Rest? Ich bekomme die Verbindung zwischen "erstelle dort den header eintrag" zu "im Installer" nicht hin. Außerdem vermute ich dass ich später dann auch nur im Admin das DropDown habe und nicht im Shop? Ich verstehe sowieso nicht warum es keine Liste der DB suffixe / prefixe gibt aus der man sich einfach mal ein paar Tipps holen kann. Auf https://xtcommerce.atlassian.net/wiki/dashboard.action sind immer nur einzelbeispiele, aber nie ganze Listen von DB Möglichkeiten zu finden... Link to comment Share on other sites More sharing options...
Takesh1_Sato Posted March 20, 2014 Report Share Posted March 20, 2014 das ist ein test ka kann keine themen erstellen deswegen sry Link to comment Share on other sites More sharing options...
arman Posted May 26, 2015 Report Share Posted May 26, 2015 hallo, sorry ist wahrscheinlich schon zu spät für eine antwort aber vieleicht hilft es ja jemand anderen. Zu deinen fragen: Wo finde ich die Hookpoints: Ist eigentlich egal, du musst nur wissen wie der hookpoint heißt. PHP registrieren: Einfach über den installer (also die plugin installer xml). Dort fügst du ein code-segment (im elternknoten plugin-code) mit folgenden inhalt ein: <code> <!-- Dropdownwerte bei Artikel erstellen --> <hook>class.product.php:_getParams_top</hook> <phpcode><![CDATA[ $header['mein_dropdown'] = array('type' => 'dropdown','url'=>'DropdownData.php?get=mein_dropdown'); ]]></phpcode> <order>1</order> <active>1</active> </code> [/PHP] Dann musst du noch die php-datei mit den dropdown-resourcen registrieren - ebenfalls im installer: [PHP] <code> <!-- Dropdown Resourcen --> <hook>admin_dropdown.php:dropdown</hook> <phpcode><![CDATA[ include _SRV_WEBROOT.'plugins/dropdown_test/classes/meindropdown.php'; ]]></phpcode> <order>1</order> <active>1</active> </code> [/PHP] In der meindropdown.php gibst du dann den inhalt des dropdowns zurück (beachte den get-Parameter). Du brauchst nur das $result array mit deinen daten erweitern (ohne return): [PHP] if($request['get'] == 'mein_dropdown') { [db-abfrage etc ....] foreach($data as $id) { $result[] = array('id' => $id,'name'=>'text','desc' => 'beschreibung'); $i++; } } [/PHP] Das wars auch schon :-) lg Hallo, wie funktionier, wenn man daten bzw id von der datenbank in die Dropdown füllt? Datenbank abfrage funktioniert nicht bei mir so richtig Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.