Items aus der Navigation ausblenden

  • Hallo,

    ich habe eine Frage zur Ausblendung von Items aus der Navigation.
    Das kann man ja einstellen, jedoch wenn man ein ausgeblendetes Item
    aufruft, taucht es doch auf einmal in der Navigation auf.
    Lässt sich dieses Verhalten unterbinden?

    viele Grüße,
    Stephan

  • Hallo,

    warum willst Du dann items, die schon ausgeblendet sind komplett aus der
    Navigation haben? Zur Zeit fällt mir keine Lösung ein, aber vielleicht
    kann ich Dir helfen, wenn ich das Problem verstehe.

    Kann das Item nur über die URL erreicht werden?
    Oder Nur über einen internen Link? Oder über das Verzeichnis,
    in dem es ist, aber nicht über die Navigation?

    In welcher Ebene der Navigation ist es? 2.,3.,4....?
    Es ist aber nicht das einzige Element in der Ebene,
    sonst könntest Du ja ganz einfach die ganze Ebene
    ausblenden.


    lg

    imbabura

  • Hi,

    vielen Dank für die Antwort.

    > warum willst Du dann items, die schon ausgeblendet sind komplett aus der
    > Navigation haben?

    Es geht um Newsitems (aber auch andere). Die werden irgendwo angelegt
    und an einer Stelle durch einen Smart Folder aggregiert. Der Nutzer soll nicht
    erfahren, wo genau das Newsitem liegt. (Also er soll es nicht über die Navigation
    erfahren, in der Adresszeile des Browsers kann er es ja imme sehen).
    Ich finde es irritierend, wenn in der Navigation auf der ersten Ebene auf einmal
    Ordner auftauchen, die sonst dort nicht zu sehen sind. Deswegen würde ich es gerne unterbinden.

    > Kann das Item nur über die URL erreicht werden?
    > Oder Nur über einen internen Link? Oder über das Verzeichnis,
    > in dem es ist, aber nicht über die Navigation?

    Über einen smart folder.

    viele Grüße,
    Stephan

  • Ja, ich dachte mir schon, dass das nicht einfach ist, aber ich glaub nicht, das meinem Kunden das so gefällt, wie es jetzt ist. Eventuell gibts ja nen Hack oder so?

    Es ist zum ersten mal, dass ich mich Plone/Zope arbeite, deswegen bin ich noch nicht ganz so fit, was die Integration zwischen Python und der Zope-Objektstruktur betrifft. Kann mir dafür vielleicht jemand sagen, wie ich in Python den Objektpfad der aktuell angezeigten Seite auslesen kann?
    Damit ließe sich ja eine Funktion erstellen, die prüft, ob sich das Element in den zu versteckenden Bereichen befindet und sich im Navigationsscript dann als condition einsetzen lässt.

    PS: Gibt es evtl. eine einfache Möglichkeit, Objekte von Plugins von Drittanbietern (im speziellen ploneboard und Plone Gazette) aus der Navigation auszublenden?

    Vielen Dank & Gruß
    ph

  • Okay, ich habe es jetzt selber hingekriegt mit einem kleinen Script, mit dem sich zumindest die Einträge anhand des Titels aus der Navigation ausblenden lassen.
    Nachteil: Beim Umbennenen der Objekte muss auch das Script angepasst werden.

    Hier also eine kurze Anleitung für alle, denen das oben beschriebene "Feature" auch auf die Nerven geht:

    1. im Template-Ordner ein Script (Python) erstellen:
    Name: "NavigationEintraegeAusschliessen"
    parameter list: "titel"
    Code:

    2. Die plone_portlets/portlet_navtree_macro "customizen" und die folgende Codezeile suchen:

    Code
    tal:condition="python: bottomLevel <= 0 or level < bottomLevel-1"


    und ersetzen durch:

    Code
    tal:condition="python: (bottomLevel <= 0 or level < bottomLevel-1) and here.NavigationEintraegeAusschliessen(item.Title)"


    ... Sicherlich nicht die eleganteste Lösung, aber sie erfüllt ihren Zweck !

    Grüße ph

  • Hallo Andreas,

    Weil mich das auch nervt.

    Zitat

    Hierfür gibt es keine einfache Lösung. Der Verhalten - so wie es is - ist beabsichtigt

    Das erscheint mir nicht logisch. Warum ist das so beabsichtigt ? Einen link auf ein Objekt anzuzeigen welches gerade angezeigt wird macht eigentlich nicht wirklich Sinn (deshalb wird ja in den Breadcrumbs das aktuelle Objekt nicht als link angezeigt). Außerdem: Durch die Breadcrumbs weiß wo man ist, also ist diese zusätzliche, redundante Information durch die Navigation überflüssig.
    Gruß Daniel

  • Ich habe eine Lösung für das Problem gefunden. Es gibt sogar ein HowTo dazu auf plone.org http://plone.org/documentation/…navigation-tree. (Was für mich zeigt, dass es durchaus noch andere Leute geben muss, die mit dem beabsichtigten Verhalten nicht ganz glücklich gewesen sind). Die Lösung ist das Produkt CustomNav. Das HowTo ist für Plone 2.5 geschrieben, wo Portlets noch in den Properties im ZMI angelegt werden.
    Im README zu CustomNav https://weblion.psu.edu/svn/weblion/we…runk/README.txtsteht wie man CustomNav unter Plone 3 verwenden kann (als classic portlet).

    Viele Grüße,
    Stephan

  • Böses Erwachen heute, mir ist das gestern beim Testen nicht aufgefallen. Leider zeigt die Navigation, wenn ich es nach dem im letzten Eintrag beschriebenen Ansatz mache und den Parameter currentItem=None verwende, nur noch die erste Ebene der Navigation an.

    :/