Definierte Zusatz-Artikel im Warenkorb anzeigen

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

Hallo, wie bekomme ich die Cross Selling ins Template unter den Warenkorb? Hier ist die jeweilige Smarty-Funktion anscheinend nicht verfügbar.

Antwort von GTB (04.08.2010)

diese Funktion ist nicht Standard.

du kannst mit geringem Aufwand dir zusätzlich Artikel die du vorher definierst im Warenkorb anzeigen lassen.

füge in der "/shopping_cart.php" noch vor:

} else {

	// empty cart
	$cart_empty = true;

folgenden Code ein.

	// Anzeige von Zusatzartikel im Warenkorb
	require_once (DIR_FS_INC.'xtc_get_vpe_name.inc.php');

    $special_query = xtc_db_query("SELECT p.products_id, pd.products_name, p.products_image, p.products_tax_class_id, p.products_price, p.products_vpe_status, p.products_vpe_value, p.products_vpe
                                   FROM products_to_categories ptc, categories_description cd, products p, products_description pd
                                   WHERE cd.categories_name='Warenkorb'
                                   AND cd.language_id=2
                                   AND ptc.categories_id=cd.categories_id
                                   AND p.products_id=ptc.products_id
                                   AND pd.products_id=p.products_id
                                   AND pd.language_id='".$_SESSION['languages_id']."'
                                   ORDER by RAND() LIMIT 3");

    if (xtc_db_num_rows($special_query)) {
        $module_content = array ();
         while ($special = xtc_db_fetch_array($special_query)) {

         	$products_price = $xtPrice->xtcGetPrice($special['products_id'], $format = true, 1, $special['products_tax_class_id'], $special['products_price'], 1);

         	$vpe = '';
			if ($special['products_vpe_status'] == 1 && $special['products_vpe_value'] != 0.0) {
			$vpe = $xtPrice->xtcFormat($products_price['plain'] * (1 / $special['products_vpe_value']), true).TXT_PER.xtc_get_vpe_name($special['products_vpe']);
         	}

            $special_image = '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($special['products_id'], $special['products_name'])).'">'.xtc_image(DIR_WS_THUMBNAIL_IMAGES.$special['products_image'], $special['products_name']).'</a>';
            $special_name = '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($special['products_id'], $special['products_name'])).'">'.$special['products_name'].'</a>';
            $special_buy_now = '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($special['products_id'], $special['products_name'])).'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$special['products_name'].TEXT_NOW).'</a>';

            $module_content[] = array ('SPECIAL_NAME' => $special_name, 'SPECIAL_VPE' => $vpe,  'SPECIAL_ID' => $special['products_id'], 'SPECIAL_IMAGE' => $special_image, 'SPECIAL_PRICE' => $products_price['formated'], 'SPECIAL_BUY_NOW' => $special_buy_now);
       }
    } else {
        $module_content = false;
    }

    $smarty->assign('module_content', $module_content);
	// ENDE

Im Admin erstellst du einen neue Kategorie "Warenkorb" und verlinkst die Produkte die du im Warenkorb anzeigen lassen möchtest.

im Tempalte "/templates/xtc5/module/shopping_cart.html"

kannst du so die Produkte anzeigen lassen: (Formatierung selber durchführen)

 {foreach name=aussen item=module_data from=$module_content}

 {$module_data.SPECIAL_NAME}
 {$module_data.SPECIAL_IMAGE}
 {$module_data.SPECIAL_PRICE}
 {$module_data.SPECIAL_VPE}
 {$module_data.SPECIAL_BUY_NOW}

 {/foreach}

Viel Spass damit!

GTB

Nachtrag Tomcraft: Die Artikel, die angezeigt werden sollen, müssen der Kategorie "Warenkorb" zugeordnet/verlinkt werden. Diese Kategorie darf jedoch "inaktiv" sein, damit sie im Kategoriebaum nicht angezeigt wird.

           
anything