Isotope-Cart-ProductAddedFeedback: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Die Seite wurde neu angelegt: „<!-- begin Stub --> <div class="stub" align="center" style="margin-bottom:30px;"> {| cellpadding="2" cellspacing="0" style="text-align: left; color:#B65C5C; borde…“)
(kein Unterschied)

Version vom 24. Juli 2011, 17:06 Uhr

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.

Isotope-Basket - Feedback wenn neues Produkt im Warenkorb

In der aktuellen Isotope Version (0.2.10 stable), wird dem Benutzer nach erfolgreichem Hinzufügen eines Produktes in den Warenkorb, keine Meldung angezeigt. Mit den Boardmitteln von contao und ein wenig Kreativität kann man das in wenigen Minuten ändern.

Variante1: Isotope Box und Hooks

Wir erstellen zuerst ein neues Modul. In diesem Tutorial verwende ich den Modulnamen IsotopeExt. Im Ordner TL_ROOT/system/modules erstellen wir folgende Verzeichnisse und Dateien: IsotopeExt/config/config.php, IsotopeExt/IsotopeCartExt.php

PHP Konfiguration

In der config/config.php folgenden PHP-Code hinzufügen:

$GLOBALS['TL_HOOKS']['iso_addProductToCollection'][] 		= array('IsotopeCartExt', 'addProduct');
$GLOBALS['TL_HOOKS']['iso_addProductToCollection'][] 		= array('IsotopeCartExt', 'createFENotification');

(Am einfachsten eine config.php eines anderen Moduls kopieren und dessen Inhalt ersetzen.)

Damit registrieren wir zwei neue Hooks, die jedes mal aufgerufen werden, wenn ein Produkt dem Warenkorb hinzugefügt wird. Im Folgenden nun die Implementation der zwei registrierten Funktionen.

In der IsotopeBasket.php folgenden Code einfügen:

class IsotopeCartExt extends Model {
	public function addSuccess(){
		$_SESSION['ISOTOPE']['FE_NOTIFY']['messages']['add_success'] = array(
			'class'   => 'add_success',
			'message' => 'Produkt wurde dem Warenkorb hinzugefügt.'
		);
	}
 
	public function createFENotification(IsotopeProduct $objProduct, $intQuantity){
		$objTempl = new FrontendTemplate('iso_notification');
		$objTempl->messages = $_SESSION['ISOTOPE']['FE_NOTIFY']['messages'];
		$_SESSION['ISOTOPE']['FE_NOTIFY']['html'] = $objTempl->parse();
 
		return $intQuantity;
	}
}

Templates

Nun ist es möglich die erstellten Session Objekte im Frontend zu verwenden.

Ansichten
Meine Werkzeuge

Contao Community Documentation

Dann sollte da auch 3.1.5 stehen. Wenn nicht mach mal Systemwartung, dreh dich im Kreis, ruf: "uga uga uga" und opfer ein kleines huhn... aber nur ein KLEINES, ist ja kein major.

Marc Reimann
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge