Im Cache findet man auch Dateien der Form "*-persistent_data_cache-*" ("b39fe69bd4fcda31a38ace2073cbfbc4-persistent_data_cache-1304ca9959164b8e1a39c66d102c579c"), die anscheinend Kategorie-Strukturdaten enthalten. Beim Löschen des Caches werden diese Dateien aber nicht gelöscht, so dass evtl. Strukturänderungen nicht berücksichtigt werden.... Das Problem liegt in "system\core\DataCache.inc.php => public function clear_cache($p_key=NULL)" Dort PHP: if($p_key !== NULL) { #identifier given $t_search_pattern = $this->get_cache_dir() . $this->v_cache_file_prefix . FileLog::get_secure_token() .'-'. $p_key; } else { #no identifier given, clear all $t_search_pattern = $this->get_cache_dir() . $this->v_cache_file_prefix . FileLog::get_secure_token() .'*'; } ersetzen mit PHP: //Avenger if($p_key !== NULL) { #identifier given $t_search_pattern = $this->get_cache_dir() . $this->v_cache_file_prefix . FileLog::get_secure_token() .'-'. $p_key; } else { #no identifier given, clear all $t_search_pattern = $this->get_cache_dir() .'*' . $this->v_cache_file_prefix . FileLog::get_secure_token() .'*'; } //Avenger In der Original-Version fehlte im Falle dass "$p_key" undefiniert ist, ein '*' vor dem weiteren Suchbegriff $this->get_cache_dir() .'*' . $this->v_cache_file_prefix . FileLog::get_secure_token() .'*'; Die Original-Version liefert dann ein Suchmuster "....\cache\persistent_data_cache-1304ca9959164b8e1a39c66d102c579c*", die neue Version "....\cache\*persistent_data_cache-1304ca9959164b8e1a39c66d102c579c*", und findet somit auch die fehlenden Dateien....
Falls es noch jemanden interessieren sollte: Das Problem besteht ab der Shopversion 2.0.11.0 nicht mehr.