Ankündigung

Einklappen
Keine Ankündigung bisher.

Pagejump-Parameter path und active_scope

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Pagejump-Parameter path und active_scope

    Hallo zusammen,

    bislang hatte ich meine Visu nach folgendem Schema aufgebaut:
    Code:
    <pages>
      <page name="Home">
        <navbar>
          <pagejump target="EG">
        </navbar>
    
        <page name="EG">
          . . .
        </page>
    
      </page>
    </pages>
    Die verlinkten Unterseiten befinden sich also verschachtelt in der Page "Home".

    Jetzt versuche ich, per pagejump Seiten zu erreichen, die nicht innerhalb der Home-Seite liegen, sondern auf derselben Ebene (in erster Linie, um auf der Unterseite eine neue Top-Navbar anzeigen und die übergeordnete Navbar verschwinden lassen zu können):
    Code:
    <pages>
      <page name="Home">
        <navbar>
          <pagejump target ="EG">
        </navbar>
      </page>
    
      <page name="EG">
          . . .
      </page>
     
    </pages>
    Das funzt so aber wohl nicht. Beim Suchen nach einer Lösung bin ich über die undokumentierten (?) Parameter path und active_scope des pagejump-Widgets gestoßen.

    Code:
    <pagejump path="~/EG" active_scope="path" target="EG">
    </pagejump>
    Was tun die Dinger? Wie gibt man dort "Pfade" an? Was muss dann mit target passieren?

    Und: Hilft das bei meiner Aufgabestellung, oder funktionert die Verlinkung auf eine Unterseite mit Verlassen der übergeordneten Seite generell nicht?

    (CV0.11.0 auf Wiregate)

    Gruß,
    Jan.

    #2
    Also grundsätzlich ist den Pagejumps egal wo sie stehen und man kann damit zu jeder Page springen, egal auf welcher Ebene sie sind. Keine Ahnung warum, dass bei Dir nicht geht, wenn Deine Beispiele aus der echten Konfig sind, dann ist da zumindest eine Leerstelle zu viel 'target ="EG"'.

    Das einzige was problematisch ist, sind mehrere Seiten mit dem selben Namen. Wenn man z.B. so eine Struktur hat:

    Code:
    <pages>
    <page name="Übersicht">
      <page name="EG">
        <page name="Wohnzimmer">..</page>
      </page>
      <page name="OG">
        <page name="Wohnzimmer">..</page>
      </page>
    </page>
    </pages>
    Dann würde ein Pagejump mit target="Wohnzimmer" nicht wirklich wissen auf welche Seite er springen muss. Für solche Fälle ist der path, denn damit kann man den Pfad zur übergeordneten Seite angeben, also z.B. <pagejump path="Übersicht/EG" target="Wohnzimmer"> wäre dann der Pagejump zum Wohnzimmer im EG. Die path-Angaben sind immer absolut, von der obersten Seite angefangen. active_scope ist für Deine Zwecke vermutlich irrelevant. Das bestimmt, welche Pagejumps als aktiv markert werden active_scope="target" ist das default-Verhalten und bewirkt, dass nur der Pagejump als aktiv markiert wird, der auf diese Page verweist (wenn die page erade aktiv ist), active_scope="path" bedeutet, dass alle Pagejumps auf dem Pfad zur Seite als aktiv markiert sind, Beim obigen Beispiel, wären also, wenn die Page "Übersicht/EG/Wohzimmer" angezeigt wird alle Pagejumps aktiv markiert die auf die drei seiten in diesem Pfad zeigen. Ist komplizierter zu Erklären als es eigentlich ist, in der Metal-Demo-Config kann man sich das in Aktion ansehen.
    Gruß
    Tobias

    Kommentar


      #3
      OK, dann hatte ich zumindest path richtig interpretiert. active_scope ist damit auch klar, Danke für die Erläuterung.

      Wenn ich mein obiges Code- Beispiel (war nur Pseudocode, das Leerzeichen war ein Tippfehler) mal anpasse sollte das prinzipiell also so aussehen (?):

      Code:
      <pages>
        <page name="Home">
          <navbar>
           <pagejump path="EG" target="EG"></pagejump>
          </navbar>
        </page>
      
        <page name="EG">
           . . .
        </page>
      </pages>
      Bzw., da eindeutige Pagebezeichnungen vergeben sind, müsste auch
      Code:
      <pagejump target="EG"></pagejump>
      reichen. Dass dem pagejump egal ist, wo es selbst steht, ist gut- aber ist im auch egal, in welchem Pfad es das Target findet? Oder muss in diesem Beispiel der Pfad angeben werden (s. 1. Codebeispiel)?
      Ich habe aus meiner Config mal alles andere gelöscht, so dass nur noch ein ähnlicher Rumpf wie oben übrig bleibt. Das Ergebnis ist gleich, der Link wird nicht ausgeführt. Check Config bringt:
      Code:
      Element 'page': This element is not expected.
      Das ist bezogen auf die page "EG". Klingt, als dürften sich unter <pages> nicht mehr als eine <page> befinden...?!
      Zuletzt geändert von japo; 16.03.2019, 22:36. Grund: Edit sagt, ihr fehlte ein "s"

      Kommentar

      Lädt...
      X