blUseTimeCheck und DB-Felder OXACTIVEFROM, OYACTIVETO

Hallo,

wir kann ich die Option blUseTimeCheck aktivieren um den zeitgesteuerten Produktstatus (DB-Felder OXACTIVEFROM und OXACTIVETO) zu nutzen?

Geht das überhaupt mit der CE?

in den Einstellungen im Admin die Checkbox aktivieren und dann speichern nicht vergessen

OK, danke für den Hinweis - ich habs nun gefunden. Fur alle die auch auf der Suche sind:
Unter Stammdaten->Perfom.->Beim Laden von Artikeln “Aktiv von/bis” berücksichtigen ist die Option zu finden.

So, ich habe bei einem aktuellen Demoshop die beiden Felder eingetragen und im Backend aktiviert - leider ohne Funktion. Auch nach der Einbindung der bin/cron.php hatte ich keinen Erfolg.

Ich werde es mal mit einem eigenen Cronjob versuchen.

cronjob? falsches Thema?
für “aktiv von … bis …” braucht man keinen cronjob, darum kümmert sich bestimmte Abfrage in SQL

Ok, ich ging davon aus wenn das Datum außerhalb der Range liegt, dass der Status dann auch ignoriert wird. Das scheint nicht zu funktionieren - war von mir ein logischer Fehler.

Was auch nicht funktioniert wenn entweder OXACTIVEFROM oder OXACTIVETO auf NULL sind.
Unser Kunde möchte nur Aktiv ab setzen oder nur Aktiv bis. Deshalb werde ich einen Cronjob erstellen der den Status entsprechend allen Kombinationen automatisch auf 0 oder 1 setzt.
Mal schauen evtl. überschreibe ich einfach die Funktion getActiveCheckQuery mit einem Modul.

So, ich habe die Funktion um einige Abfragen erweitert, wer das benötigt kann das verwenden…

class tm_status_oxarticle extends tm_status_oxarticle_parent
{
public function getActiveCheckQuery( $blForceCoreTable = null )
{
$sTable = $this->getViewName($blForceCoreTable);
// check if article is still active
$sQ = " $sTable.oxactive = 1 ";

     // enabled time range check ?
    if ($this->getConfig()->getConfigParam('blUseTimeCheck')) {
         $sDate = date('Y-m-d H:i:s', oxRegistry::get("oxUtilsDate")->getTime());
         $sDateDefault = '0000-00-00 00:00:00';			 		
  	/*     1. Variante: Beide Datumwerte sind NULL */
  	$sQ1 = " (($sTable.oxactivefrom = '$sDateDefault') and ($sTable.oxactiveto = '$sDateDefault') and ($sTable.oxactive = 1) ) ";		
  	/*     2. Variante: Nur aktiv bis */		
  	$sQ2 = " (($sTable.oxactivefrom != '$sDateDefault') and ($sTable.oxactivefrom < '$sDate') and ($sTable.oxactiveto = '$sDateDefault') ) ";					 
  	/*     3. Variante: Nur aktiv von */				
  	$sQ3 = " (($sTable.oxactivefrom = '$sDateDefault') and ($sTable.oxactiveto != '$sDateDefault') and ($sTable.oxactiveto > '$sDate') ) ";					 			 
  	/*     4. Variante: Beide, aktiv von und aktiv bis */						
  	$sQ4 = " ( ($sTable.oxactivefrom != '$sDateDefault') and ($sTable.oxactivefrom < '$sDate') and ($sTable.oxactiveto != '$sDateDefault') and ($sTable.oxactiveto > '$sDate') ) ";					 			 		
  	
  	$sQ = $sQ1 . "or" . $sQ2 ."or". $sQ3 . "or" . $sQ4; 							
     } 
     return $sQ;
}

}

Die Datumswerte funktionieren unabhängig vom Status - für mein Projekt brauche ich das.