Plugin-Option: Dropdown
Es ist auch möglich die Auswahlmöglichkeiten des Benutzers auf feste Wahlmöglichkeiten zu reduzieren, dieses lässt sich am besten mit einem Dropdown ("Select") -Feld realisieren.
Hier gibt es zwei Möglichkeiten, zum einen kann auf im Shop vorbereitete Dropdowns zugegriffen werden, zum anderen können Sie ein komplett individuelles Dropdownfeld erstellen.
System-Dropdowns:
<config> <key>ACTIVATE_XT_BESTSELLER_PRODUCTS_BOX</key> <type>dropdown</type> <url>conf_truefalse</url> <value>true</value> <de> <title>Box aktivieren</title> </de> <en> <title>Activate box</title> </en> </config>
Dieser Eintrag in der Installations-XML-Datei erstellt ein klassisches Dropdown, im Element "url" wird definiert welcher Dropdown-Typ verwendet werden soll, weitere Typen finden Sie in der Datei /xtAdmin/DropdownData.php. In diesem Beispiel ist es "conf_truefalse", hier hat der Benutzer lediglich die Möglichkeit "true" oder "false" auszuwählen.
Auch die Values von Dropdowns können mit der Abfrage der Konstante ACTIVATE_XT_BESTSELLER_PRODUCTS_BOX abgefragt werden.
z.B.: /plugins/xt_bestseller_products/boxes/xt_bestseller_products.php
// .... if (ACTIVATE_XT_BESTSELLER_PRODUCTS_BOX == 'true' && isset($xtPlugin->active_modules['xt_bestseller_products'])) { require_once _SRV_WEBROOT . _SRV_WEB_PLUGINS . '/xt_bestseller_products/classes/class.bestseller_products.php'; // ....
Individuelle Dropdowns:
Bei individuellen Dropdowns ist das vorgehen ähnlich, lediglich die Werte des Dropdowns müssen zuvor über den Hook "admin_dropdown.php:dropdown" definiert werden und per "url" in der Installations-XML des Plugins verknüpft werden.
1. Option hinzufügen
<config> <key>XT_BESTSELLER_PRODUCTS_SHOW_TYPE</key> <type>dropdown</type> <value>nothing</value> <url>plg_xt_bestseller_products_show_type</url> <de> <title>Produktauswahl</title> </de> <en> <title>Products to show</title> </en> </config>
2. Dropdown im Hook "admin_dropdown.php:dropdown" hinzufügen
<code> <hook>admin_dropdown.php:dropdown</hook> <phpcode><![CDATA[ if ($request['get'] == 'plg_xt_bestseller_products_show_type') { if (!isset($result)) $result = array(); $result[] = array('id' => 'master', 'name' => XT_BESTSELLER_PRODUCTS_MASTER, 'desc' => XT_BESTSELLER_PRODUCTS_MASTER); $result[] = array('id' => 'slave', 'name' => XT_BESTSELLER_PRODUCTS_SLAVE, 'desc' => XT_BESTSELLER_PRODUCTS_SLAVE); $result[] = array('id' => 'nothing', 'name' => XT_BESTSELLER_PRODUCTS_NOTHING, 'desc' => XT_BESTSELLER_PRODUCTS_NOTHING); }]]></phpcode> <order>1</order> <active>1</active> </code>
3. Sprachtexte für die im Dropdown verwendeten Begriffe hinzufügen
<phrase> <key>XT_BESTSELLER_PRODUCTS_MASTER</key> <class>admin</class> <de> <value>Masters + Normal</value> </de> <en> <value>Masters + Normal</value> </en> <bp> <value>Masters + Normal</value> </bp> </phrase> <phrase> <key>XT_BESTSELLER_PRODUCTS_SLAVE</key> <class>admin</class> <de> <value>Slaves + Normal</value> </de> <en> <value>Slaves + Normal</value> </en> <bp> <value>Slaves + Normal</value> </bp> </phrase> <phrase> <key>XT_BESTSELLER_PRODUCTS_NOTHING</key> <class>admin</class> <de> <value>Normal</value> </de> <en> <value>Normal</value> </en> <bp> <value>Normal</value> </bp> </phrase>