If Funkion erweitern um Dinge nicht anzuzeigen

Wie kann ich diesen if clause erweitern?

Ich möchte bspw, dass nicht nur auf der Startseite sondern auch auf der contact Seite der categoriestree nicht angezeigt wird.

 [{block name="sidebar_categoriestree"}]
        [{if $oView->getClassName() != 'start'}]
            [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() deepLevel=0 noscript=1 nocookie=1}]
        [{/if}]
    [{/block}]

 [{block name="sidebar_categoriestree"}]
        [{if $oView->getClassName() != 'start' || $oView->getClassName() == 'contact'}]
            [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() deepLevel=0 noscript=1 nocookie=1}]
        [{/if}]
    [{/block}]

Herzlichen Dank, ich werd nur langsam bescheuert… sobald ich mich entscheide etwas zu posten, weil ich schon ewig Zeit damit verdaddel, find ich kurzzeitig später ne Lösung die funktioniert.

[{block name="sidebar_categoriestree"}]
        [{if $oView->getClassName() != 'start'&& $oView->getClassName() != 'contact'&& $oView->getClassName() != 'content'}]
            [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() deepLevel=0 noscript=1 nocookie=1}]
        [{/if}]
    [{/block}]

Ich hab es so gelöst, ich hoffe, das kann man so machen. Es funktioniert jedenfalls.

Vielleicht kann mir auch noch wer sagen wie ich in den Kategorien unter alist unter dem categoriestree also in der sidebar noch ne tagscloud einfügen kann. Das hat sich mir leider noch nicht erschlossen.

Welche OXID-Version ist bei dir im Einsatz?

die aktuellste 4.7.4_ 57063 denke ich.

Okay, schau mal in der Datei application/views/TEMPLATE_NAME/tpl/layout/sidebar.tpl in Zeile 46…

[B]Standard:[/B]

[{block name="sidebar_tags"}]
        [{if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "alist" && $oView->getClassName() ne "suggest" && $oView->getClassName() ne "tags"}]
            [{oxid_include_widget nocookie=1 cl="oxwTagCloud" blShowBox="1" noscript=1 }]
        [{/if}]
    [{/block}]

[B]Neuer Code:[/B]

[{block name="sidebar_tags"}]
        [{if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "suggest" && $oView->getClassName() ne "tags"}]
            [{oxid_include_widget nocookie=1 cl="oxwTagCloud" blShowBox="1" noscript=1 }]
        [{/if}]
    [{/block}]

Habe ich jetzt nicht getestet aber müsste gehen. Ich habe die folgende Bedingung entfernt:

 && $oView->getClassName() ne "alist"

Danke, das funktioniert. Ich war fast auch schon so weit. Nur hab ich es mit auskommentieren probiert. Das führte mehr oder weniger zum zerschießen der Seite.

 [{block name="sidebar_tags"}]
        [{if $oView->showTags() && $oView->getClassName() ne "details" <!--&& $oView->getClassName() ne "alist"--> && $oView->getClassName() ne "suggest" && $oView->getClassName() ne "tags"}]
            [{oxid_include_widget nocookie=1 cl="oxwTagCloud" blShowBox="1" noscript=1 }]
        [{/if}]
    [{/block}]

    [{block name="sidebar_news"}]
        [{if $oxcmp_news|count }]
            [{include file="widget/sidebar/news.tpl" oNews=$oxcmp_news}]
        [{/if}]
    [{/block}] 

Vermute mal auskommentieren geht in einer if funktion nicht.

[QUOTE=Kristinius;121944]Vermute mal auskommentieren geht in einer if funktion nicht.[/QUOTE]

Korrekt. Außerdem nutzt du dort HTML-Kommentare, das geht schon 3x nicht, da du dich in der IF-Anweisung im Smarty-Syntax bewegst.

Smarty-Kommentare sehen wie folgt aus, können aber auch nicht innerhalb einer Smarty-Anweisung benutzt werden:

[{* Dieser Kommentar ist im Gegensatz zu einem HTML-Kommentar auch nicht mehr im Quellcode der ausgelieferten Seite zu sehen :) *}]

Du kannst es auch so machen, dann hast du eine Sicherung des Original-Zustandes:

[{block name="sidebar_tags"}]
         [{* ORIGINAL-CODE *}]
         [{*if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "alist" && $oView->getClassName() ne "suggest" && $oView->getClassName() ne "tags"*}]

         [{* NEUER-CODE *}]
        [{if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "suggest" && $oView->getClassName() ne "tags"}]
            [{oxid_include_widget nocookie=1 cl="oxwTagCloud" blShowBox="1" noscript=1 }]
        [{/if}]
    [{/block}]

Danke! Werde ich mir merken :slight_smile: