Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: macchina am 27.10.08 - 12:20:09

Titel: Dynamische Web Navigation
Beitrag von: macchina am 27.10.08 - 12:20:09
Hallo!

Ich bräuchte bitte ein paar gedankliche Inputs (keinen fertigen Code)...

Ich habe eine DB, die sehr viele Kategorien mit Unterkategorien hat. Die Ebenentiefe im Notes ist praktisch "unbegrenzt". Die Kategorien werden im Notes in einer Spalte getrennt mit "\" dargestellt. Standardtiefe ist dzt. so 4-5 Ebenen.

Für die Navigation im Web hatte ich bisher (d.h. bei anderen DBs) folgende Methode:
In einer Maske (WebNavi) wird ein WebQueryOpenAgent aufgerufen, der per NotesViewNavigator eine verschachtelte <li>-Struktur aufbaut mit <div> geschmückt, per css wird dann die Navigation (ein/ausblende per Mouseover) angezeigt.

Aufgrund der vielen Kategorien in meiner DB sprengt es die 64k-Grenze meines "htmlcode"-Feldes. Ausserdem ist die Variante nicht wirklich performant, da ja der WebQueryOpenAgent zuerstmal die komplette Ansicht durchgehen muss.

Hab schon ein paar eigene Ideen angetestet, aber nicht wirklich mit zufriedenstellendem Erfolg. z.B. per @Dbcolumn die 1. Spalte auslesen u. mit RestrictToCategory hinterlegen.

Natürlich könnte ich auch die Standard-Notes-Ansicht verwenden, funktioniert technisch im Web auch, aber bietet mir zu wenig Komfort.

Bin für jede Anregung dankbar!

Liebe Grüße
Ernstl
Titel: Re: Dynamische Web Navigation
Beitrag von: m3 am 27.10.08 - 12:53:32
Du kannst in eine View ja auch direkt HTML-Code eingeben/einbetten. Damit hast Du mal die Struktur, die Du jetzt mit einem WebQueryOpen Agent hast, vorhanden und noch dazu performanter. Und Du kannst Deine CSS/JS Effekte weiterhin nutzen.
Titel: Re: Dynamische Web Navigation
Beitrag von: macchina am 29.10.08 - 10:49:29
Hallo!

Danke fürs Feedback. Hab das mal angetestet, allerdings mit mäßigen Erfolg.
Mein WebQueryOpen-Agent hat mir eine verschachtelte Html-List-Struktur aufgrund des IndentLevels zusammengestöpselt. Zusätzlich versehen mit <div id= > - Tags, damit per CSS und JS die Navigation erstellt werden kann.
Beispiel:
Code
<ul>
  <li><a href="#">Kategorie 1</a>
    <ul>
      <li><a href="#">Kategorie 2.1</a>
              <ul>
                  <li><a href="./kats_chained?OpenView&RestrictToCategory=xyz">Kategorie 2.1.1</a></li>
                  <li><a href="./kats_chained?OpenView&RestrictToCategory=zzz">Kategorie 2.1.2</a></li>
              </ul>
       </li>
      <li><a href="#">Kategorie 2.2</a></li>
      <li><a href="#">Kategorie 2.3</a></li>
      <li><a href="#">Kategorie 2.4</a></li>
    </ul>
  </li>
  <li><a href="#">Kategorie 2</a></li>
  <li><a href="#">Kategorie 3</a></li>
  <li><a href="#">Kategorie 4</a></li>
</ul>

Im Script ist es einfach, den jetztigen Level und den nächsten Level abzufragen und zu unterscheiden, ob es noch Unterkategorien gibt, oder ob nur Dokumente folgen.


In der View direkt habe ich zwar Zugriff auf @doclevel bzw. @docparentlevel und @docnumber, nur nützen tun sie mir nichts, da man diese nur zur Anzeige verwenden kann.

Ich vermute ich muß mich nach einer anderen Art der Navigation umsehen u. mich von der <ul>-Struktur verabschieden...

LG Ernstl