Das habe ich auch schonmal versucht. Löschst du so eine Kategorie auf diesem Weg, wird es selbst nach einem Rebuild nicht übernommen. Oder habe ich da was vergessen? Ich habe das Script sogar noch parat:
Code: Alles auswählen
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we.inc.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we_modules/object/we_objectFile.inc.php';
$kategorien = array(2,20,23,22,30,54,39,4,3,51,48,42,36,37,43,53,38,21,52,34,15,35,13,32,10,12,16,1,7,8,9,33,11,14,18,17);
foreach($kategorien as $kategorie) {?>
<we:listview type="object" classid="4" categoryids="$kategorie">
<we:repeat>
<we:field name="WE_ID" alt="we_path" to="global" nameto="idobj" />
<?php
if( $GLOBALS[idobj] == 7516 ) {
$obj = new we_objectFile();
$obj->initByID($GLOBALS[idobj]);
$cats = $obj->Category;
echo $cats."<br>";
$cats = str_replace(",".$kategorie.",", ",", $cats);
$obj->Category = $cats;
$obj->we_save();
$obj->we_publish();
}
?>
</we:repeat>
</we:listview>
<?php } ?>
Es ist ganz eindeutig, dass die Kategorien danach nicht mehr über den Listview in diesem Objekt zu finden sind. Aber rufe ich das Objekt im Backend auf, sind sie noch drin. Veröffentliche ich es dann neu, wird es auch wieder im Listview gefunden.