Boxen sind die einfachste Möglichkeit, eine Ausgabe im Template zu erzeugen, da die Box im Gegensatz zur Page weder Registriert registriert werden muss, noch muss ein Template zugewiesen werden muss.
Um eine Box zu realisieren, erstellen Sie eine php-Datei im Ordner /plugins/my_plugin/boxes/ sowie eine Templatedatei im Ordner /plugins/my_plugin/templates/boxes/. Der Name der php-Datei muss dabei identisch zum Namen des Plugins (zzgl. der Endung ".php") sein. Ähnlich ist es bei der Template-Datei, lediglich muss dieses eine HTML-Datei sein und den Suffix "box_" haben.
...
Beispiel der php-Datei:
Code Block | ||||
---|---|---|---|---|
| ||||
defined('_VALID_CALL') or die('Direct Access is not allowed.'); // Datei vor direktaufruf schützen if (ACTIVATE_XT_BESTSELLER_PRODUCTS_BOX == 'true' && isset($xtPlugin->active_modules['xt_bestseller_products'])) { // Abfrage ob das Plugin aktiviert ist und die Box mit der Option "ACTIVATE_XT_BESTSELLER_PRODUCTS_BOX" aktiviert wurde require_once _SRV_WEBROOT . _SRV_WEB_PLUGINS . '/xt_bestseller_products/classes/class.bestseller_products.php'; // Einbinden der Klasse if ($params['limit']) { $limit = $params['limit']; } else { $limit = XT_BESTSELLER_PRODUCTS_BOX_LIMIT; } // laden der Produktmenge aus Option bzw. params (siehe info unten bzgl. params) $bestseller_products_data_array = array ( 'limit' => $limit, 'sorting' => $params['order_by'], 'paging' => false ); $bestseller_products_box = new bestseller_products($current_category_id); $bestseller_products_list = $bestseller_products_box->getbestsellerProductListing($bestseller_products_data_array); // Generieren der Produktliste if (count($bestseller_products_list) != 0) { if (ACTIVATE_XT_BESTSELLER_PRODUCTS_PAGE == true) { $show_more_link = true; } else { $show_more_link = false; } // Wenn die Page "Top-Produkte" aktiviert wurde, wird eine Verlinkung zu dieser generiert $tpl_data = array ( '_bestseller_products' => $bestseller_products_list, '_show_more_link' => $show_more_link ); // $tpl_data wird durch den Framework an das Template übergeben. $show_box = true; } else { $show_box = false; } } else { $show_box = false; } // $show_box de/aktiviert Boxen ?> |
...