Also so schwierig wie das die “Partner” hier immer darlegen ist das doch garnicht. Mein “Standardrumpf” für eine Sache die ich in allen Templates haben möchte geht als Modul von oxviewconfig aus - da kommst du nämlich überall ran über
[{ $oViewConf->meineModulFunktion() }]
Also legst du dir im modules Ordner einen Unterordner an, z.B. carousel
modules/carousel/
So und nun brauchst du eine Klasse in dem Ordner die das eigentliche Modul ist, also legst du dir eine datei in diesem Ordner an z.B. carousel_viewconfig.php:
modules/carousel/carousel_viewconfig.php;
So jetzt musst du in dieser datei als minimum den Rumpf angeben für ein Modul, der sieht so aus:
<?php
class carousel_viewconfig extends carousel_viewconfig_parent{
}
?>
Achte darauf das die Vererbung immer über eine Klasse die auf _parent endet und genauso heißt wie dein Modul lauten muss - also extends carousel_viewconfig_parent
und nun kannst du in dieser Klasse Funktionen definieren die dir z.B. zufällig ein Bild generieren:
public function getCarousel(){
$num = rand() * 5;
$str = “<img src='meinBild”.$num."’ />";
return $str;
}
Innerhalb dieser Funktionen hast du dann auch zugriff auf das ganze Oxid Framework, z.B. auf oxConfig, darüber könntest du auch den Pfad zu einem bestimmten Bilderordner bekommen:
$conf = oxConfig::getInstance();
//Für z.B. die ZOOM_1 Bilder
$myPath = $conf->getPictureDir(false) . “z1/” ;
So und nun musst du das Modul nur noch aktivieren in deinem Backend in Stammdaten -> Grundeinstellungen -> System unter Module trägst du folgendes ein - vorher unbedingt die DB sichern (also mindestens oxconfig Tabell), wenn ein Fehler im Modul ist geht der Shop baden bis du entweder das Modul reparierst oder das Backup einspielst weil oxviewconfig quasi überall verwendet wird:
oxviewconfig => carousel/carousel_viewconfig
Wenn du alles richtig gemacht hast und im admin speicherst sollte dein Shop jetzt noch funktionieren - ansonsten entweder display_errors = on in der php.ini setzen (google hilft) wenn du eine weiße Seite erhältst oder das Backup einspielen und den Fehler suchen bis es nicht mehr weiß ist
Nun kannst du in deinen Templates über folgenden Aufruf auf deine Funktion zugreifen:
[{ $oViewConf->getCarousel() }]
So herzlichen Glückwunsch du hast dein erstes Modul geschrieben - ich durfte mir das alles selber raus fieseln und es war grauenvoll, eventuell findet diese Anleitung ja nen Platz in der Hilfe.
Aggrosoft it intelligence GbR