Aktionen automatisch An- und Abschalten

Ihr benötigt Hilfe oder habt Fragen bei der Erstellung eines eigenen Layouts oder kleinen Veränderungen am Standard Layout, dann ist dies das richtige Forum

Moderatoren: Magnus, mmaass, ablass

Aktionen automatisch An- und Abschalten

Beitragvon 3xproaudio » Sa 12. Mär 2016, 22:02

In meinem Shopkonzept sind Aktionen und Highlights gleich zu betrachten.
Wir haben monatlich, täglich oder am Wochenende spezielle Deals und ich erzeuge Aktionen und Highlights immer parallel.
Alle haben die gleichen ID´s und nutzen ihre eigenen Funktionalitäten um genau das zu machen, was sie sollen.

-> Highlights haben den automatischen Datumsmechanismus, so dass um Mitternacht die Preise automatisch wieder hochgesetzt werden, wenn das Highlight ausgelaufen ist.
-> Aktionen werden auf der Startseite (in der Version 2.3) und als eigenes Menu ab 2.4 angezeigt und verlinken auf alle Artikel, die der Aktion entsprechen und ein preisliches Highlight haben.

Durch die exakte Parallelität funktioniert das supergut.

Nur: die Aktionen auf der Titelseite werden im Gegensatz zum Highlight ja nicht automatisch ausgeschaltet, wenn das Highlight vorbei ist.
Das habe ich folgendermaßen gelöst:

Ich benutze ein vorhandenes Datenbankfeld, das offensichtlich "nur" für programmtechnische Zwecke genutzt wird, aber ansonsten keine Funktion hat. (eigentlich hätte ich auch ein neues Feld dafür erzeugen können...)

Das ist das Feld: "temp" in der Tabelle randshop_aktion
Es wird grundsätzlich beim Anlegen eines Artikels auf 0 gesetzt und nie wieder irgendwo verändert.

In functions.aktionen.inc.php habe ich folgendes ergänzt:

in Zeile 213 folgende Abfrage im String ergänzt:

Code: Alles auswählen
$SQLString .= TABLE_AKTION . ".temp, ";


nach Zeile 235 folgende Abfrage ergänzt:

Code: Alles auswählen
$ResultDataArray[$Counter]["aktiv"] = $QuerryResult["temp"];


Das war es schon in den Funktionen.

In der Datei \includes\header.inc.php dann folgende Änderung:

Zeile 330 hinzugefügt:

Code: Alles auswählen
       if($AktionData["aktiv"])
          {


um die folgenden beiden Zeilen in die If Abfrage einzuschließen:
Code: Alles auswählen
             $aktionNames[] = array('akt_id'=>$AktionData["id"],'aktions_name'=>$AktionData["aktions_titel"]);
             $AktionsIDArray[] = $AktionData["id"];


danach natürlich wieder "Klammer zu" }

Das wars.

Da ich eine eigene Importroutine habe, setze ich das Feld "temp" natürlich automatisch beim Import entsprechend unserer Deals.

In den Adminbereich müsste man bei den Aktionen ein weiteres Häkchen programmieren, um das auch von dort umschalten zu können.

Könnte ein nettes Feature sein......oder eine generelle Kopplung an die Highlights - per Auswahl in den Grundeinstellungen.

Oder die Auswahl, ob Highlights oder Aktionen in der Startseite angezeigt werden. Eigentlich ist das ja ein Doppelmoppel.....zumindest bei mir :lol:
Benutzeravatar
3xproaudio
 
Beiträge: 105
Registriert: Mo 13. Apr 2009, 13:16
Wohnort: Berlin

Zurück zu Designfragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
cron