Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
languagexmlphp
title/plugins/xt_bestseller_products/boxes/xt_bestseller_products.php
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

?>

...