Seite 1 von 1

Objekte älter als 3 Tage per cronjob löschen

Verfasst: Mi 10. Mär 2021, 17:51
von christobal
Hi aus Tirol,

ich möchte automatisiert Objekte, die älter als 3 Tage sind löschen.
Ein Skript, der per Scheduler im webEdition ausgeführt wird und der dem Wunsch recht nahe kommt ist ff.:

Code: Alles auswählen

<we:condition name="cond_Datum">
<we:conditionAdd field="Datum" compare="&lt;" type="now" />
</we:condition>

<we:listview type="object" classid="13" order="we_id" condition="\$cond_Datum">
<we:ifNotFound>
<p>Nichts zum Parken gefunden.</p>
<we:else />

<we:repeat>
<we:field name="we_id" />
<we:field name="we_id"  nameto="ID_Del" to="global" />

<?php
//webEdition-Objekt mit einer bestimmten ID initialisieren
$obj = new we_objectFile();
$obj->initByID($ID_Del);
// Objekt parken
$obj->we_unpublish();
// Objekt in neues Verzeichnis verschieben
$obj->resetParentID();
$obj->ParentID = '473';
$obj->we_save();
?>

</we:repeat>
</we:ifNotFound>
</we:listview>
Nur, wie sage ich ihm:

Code: Alles auswählen

<we:conditionAdd field="Datum" compare="&lt;" type="now - drei Tage" />
Und, gibt es einen PHP-Befehl für Objekte löschen?

Code: Alles auswählen

$obj->we_delete();
Wäre um jeden Hinweis dankbar!
Christoph

Re: Objekte älter als 3 Tage per cronjob löschen

Verfasst: Mi 10. Mär 2021, 18:16
von blickfang
Hi,
das könnte auch direkt beim Erstellen des Objekts als Zeitplaner eingestellt werden, oder?

Wenn du das scriptseitig machen möchtest, je nachdem welche Version du einsetzt, könnte das hier klappen

Code: Alles auswählen

<?php we_base_delete::deleteEntry($idVar,OBJECT_FILES_TABLE); ?>
Ob das in einer Version 9.x noch klappt, hab ich nicht getestet...
Gruß
Timo