Contao-Camp 2024
Ergebnis 1 bis 14 von 14

Thema: Frage: Einzellne Artikel in Subnavigation

  1. #1
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard Frage: Einzellne Artikel in Subnavigation

    Hallo Leute, ich hab eine Frage an euch, wie ihr hierbei vorgehen würdet:

    Folgendes:
    Ich muss eine HP bauen mit, sagen wir mal, 5 Seitenstrukturen.
    Jede Seitenstruktur soll ca. 10 Artikeln bekommen.

    Jetzt geht es um die Navigation.
    Hier soll eine Horizontale Navigation von der Seitenstrukur erscheinen (is ja kein Problem), aber jetzt soll eine Subnavigation auf Artikelebene sich einblenden, wenn man über die Hauptnavigation fährt.

    Mir geht es jetzt nur um die Subnavigation. Wie kann man dies bewerkstelligen?
    LG, Andi

  2. #2
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    Hallo, leider hab ich bis dato noch immer keine Lösung hierfür gefunden.

    Ich ab folgendes gemacht:
    Ich hab eine Seitenstruktur jetzt so aufgebaut:

    Seite 1
    - Unterseite 1a
    - Unterseite 1b
    - Unterseite 1c

    Seite 2
    - Unterseite 2a
    - Unterseite 2b
    - Unterseite 2c

    Zu jeder Unterseite hab ich einen Artikel. Ich hab auch bei Seite 1 im Artikel das Element "Artikel" eingebunden und zum jeweiligen Artikel verbunden, so dass ich, wenn ich auf den Menüpunkt "Seite 1" klicke, alle Artilel sehe, welche sich in den Unterseiten befinden. Das funktioniert eigentlich ja prima.

    Was ich aber haben möchte ist folgendes: Wenn ich jetzt über den Menüpunkt "Seite 1" fahre, sehe ich als Subnavigation die Unterseiten. Wenn ich jetzt auf den Untermenüpunkt klicke, soll zum jeweiligen Eintrag gesprungen werden, wo auch der Artikel sich auf "Seite 1" befindet.
    Zur Zeit wird eben eine neue Seite aufgebaut und ich sehe dann NUR den Artikel des jeweiligen Submenüpunktes. Ich möchte aber zusätzich alle restlichen auch immer angezeigt haben, sprich er soll auf Seite 1 zum jeweiligen Element springen.

    Ich hoffe, ich hab mich verständlich ausgedrückt.

    Kann mir hierbei jemand helfen? Ich hab auch schon das Modul Onepage Bundle bzw. Onepage Navigation installiert, aber konnte hiermit dies noch nicht lösen.

    Kurz gesagt soll das Hauptmenü so sein und beim hovern soll ein Submenü erscheinen, welche eine Onepage Navigation funktionieren soll
    LG, Andi

  3. #3
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Zitat Zitat von m-werk Beitrag anzeigen
    Ich hoffe, ich hab mich verständlich ausgedrückt.
    Leider nicht so ganz...

    Vermutlich meinst du so etwas:
    Es gibt eigentlich nur deine Seiten 1 2 und 3, die jeweils mehrere Artikel enthalten.
    Jeder Artikel hat seine eigene ID und kann per Anker angesprungen werden.
    Also: die Artikel nicht als Unterseiten sondern als Artikel in der jeweiligen Seite anlegen und ggf. eine ID vergeben.

    Was dir dann also fehlt ist eine (Sub-)Navigation, die eben diese Anker anspringt. Das müsste eigentlich mit der Artikelnavigation gehen, ich kann es aber im Moment nicht selbst ausprobieren.

    Mit dem OnePager verbindest du, soweit ich mich erinnere, mehrere (Contao-)Seiten zu einer Seite im Browser. Aber das ist ja gar nicht nötig, soweit ich dich verstanden habe.

  4. #4
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    Ja so sollte es sein.

    Ich hab eine Seite und darunter hab ich jetzt mal die Artikeln. Jetzt fehlt mir zur Hauptnavigation, welche sich auf die Seite bezieht noch die Subnavigation zu den Artikeln. Eigentlich funktioniert dies schon mit dem Onepage Navigation. Es erscheint auch die dementsprechende Subnavigation.

    ABER:
    Der Kunde möchte, dass die Subnavigation beim hovern aufklappt. Zur zeit hab ich nur eine starre, da ich ja in der Kopfspalte 2 Navis eingeblendet habe. <nav class="mod_navigation"...>...</nav> und darunter <div class="mod_onepage...">...</div>

    Ich müsste nur das hover hinbekommen, so dass dann die 2. Navigation eingeblendet wird.
    Geändert von m-werk (28.11.2018 um 08:10 Uhr)
    LG, Andi

  5. #5
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo m-werk,
    mir fallen da spontan zwei Möglichkeiten ein (eventuell sogar drei...):
    1. JavaScript
    2. Template der Hauptnavigation anpassen: im Template abfragen, ob man auf der entsprechenden Seite ist, dann das Modul mit der Artikelnavigation als ul ausgeben (per inserttag)
    3. Eventuell mit CSS, kommt aber ganz darauf an, was du da nu hast.. da müsste man mal die Seite sehen.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  6. #6
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    Ok, mit jquery könnte man das lösen. Das Template der Navigation möchte ich nicht ändern und mit reinem CSS das ändern? Mir wäre da jetzt schon jquery lieber.


    Leider kann ich keine Seite zeigen, da diese zur Zeit lokal bei mir läuft.
    LG, Andi

  7. #7
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von m-werk Beitrag anzeigen
    Ok, mit jquery könnte man das lösen. Das Template der Navigation möchte ich nicht ändern und mit reinem CSS das ändern? Mir wäre da jetzt schon jquery lieber.


    Leider kann ich keine Seite zeigen, da diese zur Zeit lokal bei mir läuft.
    Dann machs halt mit jquery. Ich werd dich nicht zwingen etwas zu machen, was du nicht willst ;-)

    Viele Grüße

    Edit: wobei das ja erst mal nur geht, wenn man auch auf der Seite ist. Ich weiß jetzt nicht, ob die Navi auch zu sehen sein soll, wenn man auf einer andere Seite ist und darüber hovert... das geht dann am einfachsten mit den Template Anpassungen.
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  8. #8
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    Ok, die Navi soll schon immer zu sehen sein. Auch das Hovern soll bei allen Seiten funktionieren, egal wo ich bin.

    Wie könnte denn eine Templateanpassung eventuell hierbei so aussehen?
    LG, Andi

  9. #9
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich kann dir das nicht wirklich sagen, da ich das Modul auch noch nicht kenne.
    Als erstes kannst du mal versuchen das Modul überhaupt über das Template auszugeben mit: {{insert_module::*}}
    Wenn das richtig funktioniert, dann musst du den Inserttag an sich ja nur noch an der richtigen Stelle ausgeben, also wenn das li der Seite mit ID xy ausgegeben wird, dann noch den inserttag ausgeben.
    So in der groben Theorie.

    Ich weiß halt nicht, wie das Modul funktioniert, ob das eventuell auch die Navigationspunkte aus der aktuellen Seite erstellt, oder aus der Seite, die du da angegeben hast oder so...

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  10. #10
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    Hm, ich werde mir das mal in ruhe ansehen.

    Wenn ich dich richtig verstanden habe, soll ich das Onepage Template für dir Navigation so ändern, dass NICHT nur die Artikel ausgegeben werden, denen ich gesagt habe, dass diese zur Onepage Navigation gehören, sondern auch die Seitenstruktur. Das wäre logisch.

    Ich kann ja bei jedem Artikel sagen, dass dies zur Onepagenavigation gehört.

    Hier ist das Templage der Onepage Navigation:
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

        <?php if($this->hasItems): ?>
            <ul class="onepage_navigation__list">
                <?php foreach ($this->navigation as $nav): ?>
                    <li<?php if($nav->css): ?> class="<?= $nav->css;?>"<?php endif; ?>>
                        <a href="<?= $nav->onepage_jump?>" data-onepagelink="<?= $nav->articleID ?>" title="<?= $nav->title ?>">
                            <?= $nav->title ?>
                        </a>
                    </li>
                <?php endforeach; ?>
            </ul>
        <?php endif; ?>

    <?php $this->endblock(); ?>
    Ich muss jetzt nur noch herausfinden, wie ich auch die Seitenstruktur dort einbinden kann.

    Ich muss ja auch dafür sorgen, dass jede Seitenstruktur eingebunden wird, auch wenn darunter kein Artikel als Onepage Navigation definiert ist.

    Also, könnte ich von der mod_navigation folgendes einbauen, oder?

    PHP-Code:
    <a href="<?= $this->request ?>#<?= $this->skipId ?>" class="invisible"><?= $this->skipNavigation ?></a>

      <?= $this->items ?>

      <a id="<?= $this->skipId ?>" class="invisible">&nbsp;</a>
    LG, Andi

  11. #11
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich versteh gerade nicht was du meinst glaube ich.
    Du sollst/willst ja die normale Navigation anpassen, damit da auch das onepage Navigations Modul drin ausgegeben wird.
    Also sollte der Inserttag erst mal in das normale Navigationsmodul.
    Dann kannst du damit schon mal sehen, ob da auch schon die passenden Artikel-Links ausgegeben werden. Wenn nicht muss man da an der Stelle noch ran gehen.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  12. #12
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Ich würde auch mit dem Kunden noch diskutieren, wie er sich denn die Navigation auf einem Mobil-Gerät vorstellt. Diese Hover-Navis sind eigentlich out...

  13. #13
    Alter Contao-Hase
    Registriert seit
    20.06.2009.
    Ort
    Graz (Austria)
    Beiträge
    1.424

    Standard

    So, jetzt hab ich wieder Infos.

    Für die Mobile Version wird nur die Hauptnavigation verwendet und da nur die 1. Ebene.

    Jetzt zur Web-Version.
    Ich hab nun im Template "nav_default.html5" folgendes eingebaut "{{insert_module::4}}"
    PHP-Code:
    <ul class="<?= $this->level ?>">
      <?php foreach ($this->items as $item): ?>
        <?php if ($item['isActive']): ?>
          <li class="<?= $item['class'?>"><strong class="<?= $item['class'?>"<?php if (!empty($item['subitems'])) echo ' aria-haspopup="true"'?> itemprop="name"><?= $item['link'?></strong><?= $item['subitems'?>{{insert_module::4}}</li>
        <?php else: ?>
          <li<?php if ($item['class']) echo ' class="' $item['class'] . '"'?>><a href="<?= $item['href'] ?: './' ?>" title="<?= $item['pageTitle'] ?: $item['title'?>"<?php if ($item['class']) echo ' class="' $item['class'] . '"'?><?php if ($item['accesskey'] !== '') echo ' accesskey="' $item['accesskey'] . '"'?><?php if ($item['tabindex']) echo ' tabindex="' $item['tabindex'] . '"'?><?= $item['target'?><?= $item['rel'?><?php if (!empty($item['subitems'])) echo ' aria-haspopup="true"'?> itemprop="url"><span itemprop="name"><?= $item['link'?></span></a><?= $item['subitems'?></li>
        <?php endif; ?>
      <?php endforeach; ?>
    </ul>
    Dies funktioniert, wenn ich den Hauptmenüpunkt anklicke.
    Das heißt, sobald ich den Hauptmenüpunkt angeklickt habe, kann ich über diesen auch hovern und mir wird die Subnavigation, in diesem Falle meine Onepage Navigation eingeblendet.

    ABER was noch nicht funktioniert ist, wenn ich über einen anderen Hauptmenüpunkt fahre (hovere) dann wird dort das Submenü (Onepage Navi) nicht eingeblendet, da ich nicht weiß, wo ich das Module im Template noch einbauen muss.

    Ich hab versucht, nach dem letzten $item['subitems'] dies einzubauen, aber dann wird bei einem anderen Hauptmenü immer jene Onepage Navi gezeigt, welche ich auch gerade aktiv habe.

    Ich hoffe, ihr könnt mir folgen. Leider hab ich noch keinen Hoster, wo ich die Seite online zeigen kann, da der Kunde noch keinen bestellt hat.
    LG, Andi

  14. #14
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo m-werk,
    ich verstehe noch nicht was du da jetzt für ein Problem hast und was du da überhaupt jetzt erreichen möchtest...
    Kannst du das eventuell genauer erklären oder zeichnen? Welche Navigationspunkte sollen wann wo wie zu sehen sein?
    Und: Was funktioniert jetzt?
    Das bei dir jetzt das ganze nur geht wenn du auf der Hauptseite bist, ist klar, da du ja in dem Bereich bist, der Ausgegeben wird, wenn es Aktiv ist (isActive).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •