Hallo zusammen, da es bei Shopware die Funktion nicht gibt habe ich einen kleinen Cron geschrieben welcher die Kategorien, die leer sind ausschaltet. Wir aktualisieren Mengen und Preise direkt in der Datenbank und daher rutschen immer mal leere Kategorien durch bzw. sind wieder gefüllte Kategorien nicht aktiv. Das ganze klappt auch recht gut. Das Script ist sicher nicht perfekt aber es erfüllt seinen Zweck. Anbei mal der Code zur allgemeinen Verwendung oder Optimierung. [code]<?php //Datenbank Daten
$servernameSM = “";
$usernameSM = "”;
$passwordSM = “";
$dbnameSM = "”;
// Create connection
$connSM = new mysqli($servernameSM, $usernameSM, $passwordSM, $dbnameSM);
// Check connection
if ($connSM->connect_error) { die("Connection failed: " . $connSM->connect_error); } //SQL Befehl auslesen der letzten Kategorien der Datenbank $sqlLastCat = “SELECT cat.id, cat.parent, cat.description FROM s_categories as cat WHERE NOT EXISTS (SELECT * FROM s_categories WHERE cat.id = parent) AND stream_id IS NULL”; $resultSqlLastCat = $connSM->query($sqlLastCat); if ($resultSqlLastCat->num_rows > 0) { //Alle letzten Kategorien durchlaufen while($rowLastCat = $resultSqlLastCat->fetch_assoc()) { //Auslesen Anzahl der Kategorien mit 0 Produkten $sqlActiveProducts = “SELECT COUNT(s_articles.active) as anzahl FROM s_articles, s_articles_categories WHERE s_articles.id = s_articles_categories.articleID AND s_articles_categories.categoryID = “.$rowLastCat[“id”].” AND s_articles.active = 1”; $resultActiveProducts = $connSM->query($sqlActiveProducts); while($rowCountActive = $resultActiveProducts->fetch_assoc()) { //Wenn Anzahl 0 Kategorie ausschalten if ($rowCountActive[“anzahl”] == 0) { $sqlDeactivateCategories = "UPDATE s_categories SET active = 0 WHERE id = ".$rowLastCat[“id”]; $connSM->query($sqlDeactivateCategories); } //Wenn Anzahl nicht 0 Kategorie anschalten else { $sqlActivateCategories = "UPDATE s_categories SET active = 1 WHERE id = ".$rowLastCat[“id”]; $connSM->query($sqlActivateCategories); } } } } $connSM->close(); ?>[/code] Wie gesagt das ganze klappt soweit recht gut. Das einzige Problem ist noch der Templatecache. Die neu ausgeschalteten Kategorien werden erst nach aufwärmen des caches ausgeblendet. Frage wäre jetzt kann ich diesen direkt in dem Script neu erstellen lassen? Habe dazu den Aufruf gefunden engine/Shopware/Components/HttpCache/ Wenn ich das in den Browser hacke wird der Zugang verweigert. Kann mir jemand helfen. Vielen Dank!