Boxen erstellen

Boxen sind die einfachste Möglichkeit, eine Ausgabe im Template zu erzeugen, da die Box im Gegensatz zur Page weder registriert werden muss, noch muss ein Template zugewiesen werden.

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:

Plugin: /plugins/my_testplugin/

php-Datei: /plugins/my_testplugin/boxes/my_testplugin.php

Template-Datei: /plugins/my_testplugin/templates/boxes/box_my_testplugin.html

 

Beispiel der php-Datei:

/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

?>

 

Beispiel HTML-Datei

/plugins/xt_bestseller_products/templates/boxes/box_xt_bestseller_products.html
<div class="sidebar-box">
    {if $_show_more_link == true}
{*<!-- $_show_more_link wurde via $tpl_data an das Template übergeben und kann über {$_show_more_link} genutzt werden -->*}
	<p class="headline"><a href="{link page='bestseller_products' conn=SSL}">{txt key=TEXT_HEADING_BESTSELLER_PRODUCTS}</a></p>
    {else}
    <p class="headline">{txt key=TEXT_HEADING_BESTSELLER_PRODUCTS}</p>
    {/if}
    <div class="box">

{*<!-- $_bestseller_products wurde via $tpl_data an das Template übergeben, hier wird das Array via Schleife als Liste im Template ausgegben -->*}
 {foreach name=aussen item=bestseller_products_data from=$_bestseller_products}
        {if $bestseller_products_data.products_image == 'product:noimage.gif'}
        <p class="product-image"><a href="{$bestseller_products_data.products_link}"><img src="{$tpl_url_path}img/no_image.png" alt="{$bestseller_products_data.products_name}" /></a></p>
        {else}
        <p class="product-image"><a href="{$bestseller_products_data.products_link}">{img img=$bestseller_products_data.products_image type=m_sidebar class="productImageBorder" alt=$bestseller_products_data.products_name}</a></p>
        {/if}
        <p class="product-name"><a href="{$bestseller_products_data.products_link}">{$bestseller_products_data.products_name}</a></p>
        <p class="product-price">{$bestseller_products_data.products_price.formated}</p>
        {if $bestseller_products_data.products_shipping_link}
        <p class="product-tax-shipping">{$bestseller_products_data.products_tax_info.tax_desc}&nbsp;<a href="{$bestseller_products_data.products_shipping_link}" target="_blank" rel="nofollow">{txt key=TEXT_EXCL_SHIPPING}</a></p>
        {else}
        <p class="product-tax-shipping">{$bestseller_products_data.products_tax_info.tax_desc}&nbsp;{txt key=TEXT_EXCL_SHIPPING}</p>
        {/if}
        {/foreach}
    </div><!-- .box -->
</div><!-- .sidebar-box -->

Support
Shop Support: Support zum Shop und anderen
Produkten von xt:Commerce.

Fehler melden
Report a Bug: Fehler gefunden?
Informieren Sie uns.

xt:Commerce Marketplace
Plugins & Templates: Über 500 Möglichkeiten in unserem
Store zur Shop-Optimierung.

xt:Commerce Service Team
Services: Wir übernehmen individuelle
Anpassungen für Ihren Shop.

Impressum