CMS-Seite ist fälschlich einer Kategorie zugeordnet

Hallo zusammen,

stehe gerade auf dem Schlauch:
Ich habe eine Reihe von CMS-Seiten, die alle als “Snippets” angelegt sind.
Bei Aufruf von einigen dieser CMS-Seiten wird im Kategoriebaum immer eine bestimmte Kategorie als aktiv angezeigt. Eigentlich sollte aber gar keine Kategorie aktiv sein.
Ich finde aber weder bei der CMS-Seite noch bei der genannten Kategorie eine Verbindung zwischen beiden.

Was passiert hier und wie kann ich es beheben?

In inc/category_tree.tpl habe ich auch nichts gefunden, womit ich es abfangen kann.
(nutze hier übrigens CE 4.2.0 Revision 23610)

Grüße
floko

Gelöst (per Workaround):
Frage jetzt in inc/category_tree.tpl ab, ob

$oView->getClassName()== ‘content’

In diesem Fall werden keine aktiven Kategorien angezeigt, sondern nur die inaktiven Wurzelkategorien.

könntest Du ein paar Zeilen Code mehr posten?

Kann ich schon, aber meine Templates sind schon derart “customized”, daß das den meisten Lesern nichts nutzen wird, fürchte ich.

In meiner category_tree.tpl, die in _left.tpl eingebunden ist, wird links der Kategorienbaum bis zu einer gewissen Tiefe abgebildet. Darunter folgt dann noch einmal eine Liste aller (restlichen) Wurzelkategorien. Das ist kein Oxid-Standard, soweit ich mich erinnere.
Also in etwa so:

[{if $oView->getClassName() != 'content' && ( $tree || $oView->getContentCategory() ) }]
[{assign var="oContentCat" value=$oView->getContentCategory() }]
[{defun name="category_tree" tree=$tree act=$act class=$class testSubCat=''}]
[{strip}]
    <ul [{if $class}]class="[{$class}]"[{/if}]>
    [{foreach from=$tree item=ocat key=catkey name=$test_catName}]   
                            
        [{if ( !$ocat->isTopCategory() || !$oView->showTopCatNavigation() ) && $ocat->getContentCats() }]
            [{foreach from=$ocat->getContentCats() item=ocont key=contkey name=cont}]
            <li><a id="test_BoxLeft_Cms_[{if $ocat->isTopCategory()}][{$ocat->oxcategories__oxid->value}]_[{$smarty.foreach.cont.iteration}][{else}][{$testSubCat}]_sub[{$smarty.foreach.cont.iteration}][{/if}]" href="[{$ocont->getLink()}]" class="[{if $ocat->isTopCategory()}]root[{/if}][{if $oContentCat && $oContentCat->getId()==$ocont->getId()}] act last[{/if}]">[{ $ocont->oxcontents__oxtitle->value }]</a></li>
            [{/foreach}]
        [{/if}]
        [{if $ocat->getIsVisible() }]
          <li>                                   
            <a id="test_BoxLeft_Cat_[{if $ocat->isTopCategory()}][{$ocat->oxcategories__oxid->value}]_[{$smarty.foreach.$test_catName.iteration}][{else}][{$testSubCat}]_sub[{$smarty.foreach.$test_catName.iteration}][{/if}]" href="[{$ocat->getLink()}]" class="[{if $ocat->isTopCategory()}]root [{/if}][{if $ocat->hasVisibleSubCats}][{if $ocat->expanded }]exp [{/if}]has [{else}]last [{/if}][{if isset($act) && $act->getId()==$ocat->getId() && !$oContentCat }]act [{/if}]">[{$ocat->oxcategories__oxtitle->value}] [{if $ocat->getNrOfArticles() > 0}] ([{$ocat->getNrOfArticles()}])[{/if}]</a>
            [{if $ocat->getSubCats() && $ocat->expanded}]
               [{fun name="category_tree" tree=$ocat->getSubCats() act=$act class="" testSubCat=$ocat->oxcategories__oxid->value }]
            [{/if}]
          </li>
        [{/if}]
    [{foreachelse}]
        [{if $oContentCat }]            
            <li><a id="test_BoxLeft_Cms_0" class="root act" href="[{$oContentCat->getLink()}]">[{ $oContentCat->oxcontents__oxtitle->value }]</a></li>
        [{/if}]
    [{/foreach}]
    </ul>
[{/strip}]
[{/defun}]
<hr />
[{else}]
[{else}]
[{* e.g. on startpage or on CMS pages *}]
[{* NOTHING special here *}]
[{/if}]

[{* show remaining top/root categories: *}]
[{* ... *}]

super - danke!

(Ich hab nämlich ein ähnlich gelagertes Problem, das ich bisher nicht lösen konnte… vielleicht hilfts ja)

Hi, muss ich auch mal meinen Senf dazu geben, vielleicht hats ja damit zu tun.

Is schon bissel länger her. Ich hatte vor 2 Jahren auch mal so ein Problem, das bestimmte CMS-Seiten scheinbar einer Kategorie untergeordnet waren, also der Link war dann z.B. “http://yapool-heizung.de/Komponenten/Impressum” .

Was natürlich quatsch ist, und wie das passiert ist wusste ich auch nicht. Gelöst hat sich das dann dadurch, das ich die oxseo und oxseohistory komplett geleert hab und dann die vorgegebenen CMS-SEO_links aus dem Installations-Paket wieder eingefügt habe.

mfg Tobi

Hi Tobi,
mir ging es hier zwar nicht um die URL und SEO-Probleme, aber ähnliche Dinge, wie Du sie schilderst, sind mir bei der Arbeit mit Oxid leider auch häufig passiert.
Zurücksetzen der SEO-Links kam für mich in solchen Fällen nie in Frage, weil ich dadurch bereits gut gelistete Seiten “verloren” hätte.
So muss ich z.T. mit irgendwelchen hässlichen URL à la “irgendeine-Seite-oxid.html” leben, die ich nicht mit eigenen Änderungen überschreiben kann - egal, ob ich nach individueller Änderung den Haken bei “fixiert” setze oder nicht, immer wieder kommt diese Oxid-eigene Schreibweise dabei heraus.
Naja, aber hier eigentlich Off Topic…

Grüße
floko