Seite 3 von 10 ErsteErste 123457 ... LetzteLetzte
Ergebnis 81 bis 120 von 372

Thema: [OnePageWebsite] Eine one-page Website Struktur mit der Seitenstruktur erstellen

  1. #81
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Hallo Tim,

    sorry, ich habe mich wahrscheinlich mißverständlich ausgedrückt.
    Das Scrollen funktioniert, die Menüpunkte werden allerdings nur als "aktiv" markiert, wenn man diese direkt anklickt. Das Scrollen zu entsprechenden Bereichen auf der Seite aktiviert Menüpunkte hingegen nicht als "aktiv".


    Wenn ich von einer anderen Seite (bspw. blog.html) im Menü wieder zurück zur One-Page-Seite springe, wird zwar der korrekte Link erzeugt (Bsp.: http://www.domain.de/home.html#page1), der entsprechende Bereich wird aber nicht fokussiert. Das funktioniert erst nach einem Reload.

    Die zugehörigen Scripte sind natürlich eingebunden.

  2. #82
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Zitat Zitat von tl_richard_user Beitrag anzeigen
    An dieser Stelle: Vielen Dank für die Erweiterung, Tim!

    Ich habe die Contao-3-Version noch für mich angepasst:
    Eine Fehlermeldung wurde behoben und bei mir war das Problem, dass die Erweiterung für die "Unterseiten" das Layout der "Wurzelseite" verwendet hat. Vielleicht war das ja auch ein Fehler meinerseits…
    Außerdem verwende ich jetzt den Alias in den Ankern anstatt der Id.

    https://github.com/richardhj/OnePageWebsite
    Den Ansatz mit dem Alias als Anker finde ich bei meiner Seitenstruktur sehr interessant, auch die Verschachtelung des Wrappers.
    Ich habe Deine Version eben getestet und auch damit gibt es anscheinend noch ein Problem mit der URL-Strutkur, wenn man die One-Page-Menüpunkte aufruft und sich außerhalb der One-Page-Struktur befindet.
    Es wird momentan bspw. statt dem "bereinigten" domain.de/#kontakt die ursprüngliche Struktur domain.de/home.html#page1 aufgerufen und der Inhalt nicht fokussiert.

  3. #83
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von hangover Beitrag anzeigen
    Hallo Tim,

    sorry, ich habe mich wahrscheinlich mißverständlich ausgedrückt.
    Das Scrollen funktioniert, die Menüpunkte werden allerdings nur als "aktiv" markiert, wenn man diese direkt anklickt. Das Scrollen zu entsprechenden Bereichen auf der Seite aktiviert Menüpunkte hingegen nicht als "aktiv".


    Wenn ich von einer anderen Seite (bspw. blog.html) im Menü wieder zurück zur One-Page-Seite springe, wird zwar der korrekte Link erzeugt (Bsp.: http://www.domain.de/home.html#page1), der entsprechende Bereich wird aber nicht fokussiert. Das funktioniert erst nach einem Reload.

    Die zugehörigen Scripte sind natürlich eingebunden.
    Wenn Du den Zurück-Button des Browsers benutzt, oder ein javascript, werden sämtliche Anker ignoriert. So ist es nunmal. Nutze wirkliche links.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  4. #84
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von hangover Beitrag anzeigen
    Den Ansatz mit dem Alias als Anker finde ich bei meiner Seitenstruktur sehr interessant, auch die Verschachtelung des Wrappers.
    Ich nutze auch einen "Alias" für die Anker. Aber dieser sollte im Template einfach aus dem Titel der Seite mit standardize($title) gebildet werden und nicht innerhalb der Erstellungsroutine mit dem Alias aus der Datenbank. Dieser kann und wird in den meisten Fällen einen "/" slash beinhalten und damit entsteht ein unsauberer CSS-ID Anker.
    Daher unterstütze ich den Ansatz nicht. Sondern weise daraufhin einfach die Templates anzupassen.

    Ich habe Deine Version eben getestet und auch damit gibt es anscheinend noch ein Problem mit der URL-Strutkur, wenn man die One-Page-Menüpunkte aufruft und sich außerhalb der One-Page-Struktur befindet.
    Es wird momentan bspw. statt dem "bereinigten" domain.de/#kontakt die ursprüngliche Struktur domain.de/home.html#page1 aufgerufen und der Inhalt nicht fokussiert.
    Auch das ist gewollt.
    Wenn man eine normale Seite betrachtet, muss der Link der Navigation auf die Seite mit dem OnePage-Strukur Modul zeigen, sonst greift dein Anker nur für die aktuelle Seite und das ist falsch.

    domain.de/#kontakt -> das ist nicht bereinigt. Das ist einfach ein Anker auf der ersten Seite deiner Seitenstruktur bzw. auf der aktuellen Seite.
    domain.de/home.html#page1 -> ist das gleiche wie oben, nur Du bist auf einer normalen verschachtelten oder Geschwisterseite. Um zurück zum Anker #page1 zuspringen, muss der link so gebildet werden.
    Geändert von Tim G (21.05.2013 um 13:20 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  5. #85
    Contao-Nutzer
    Registriert seit
    18.08.2012.
    Beiträge
    33

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Die 3er Version besitzt kein Standard-Layout mehr. Daher gibt es leider kein Fallback mehr. In der 3er sollte man der Referenzseite bereits ein Layout übergeben. (siehe die Beiträge oben. Ein abgespecktes Layout für die Referenzseite. )


    Das habe ich mit Absicht nicht gemacht, weil in ordernähnlichen Strukturen Alias mit Slashes etc. entstehen, was für IDs eher kritisch ist. Auch kann es zu Dopplungen bei Artikel-IDs kommen.
    Ich finde es besser hier einfach das Template anzupassen. In den Core würde ich es nicht schreiben.
    Nochmal zu den zwei verschiedenen Seitentemplates.

    Habe ein "Standard" template angelegt, mit den ganzen Modulen (Navigation etc.) und dies dem Startpunkt der Webseite zugewiesen.
    Der Referenzseite habe ich dementsprechend ein abgespecktes Layout, wo nur Artikel eingebunden sind, zugewiesen.
    Ich verdeutliche das mal:

    - Startpunkt der Webseite (Standard Layout)
    --- Startseite (One Page Referenz) (Abgespecktes Layout)
    ----- Seite 1
    ----- Seite 2
    ----- Seite 3
    ----- usw...

    Jedoch geht dies bei mir nicht, denn sobald ich der referenzseite das abgespeckte Layout zuweise, verschwinden Header und Footer und somit ist keine Navigation mehr vorhanden. Also nicht die unterseiten der referenzseite erhalten das abgespeckte Layout sondern die Referenzseite selbst, was ja nicht sein soll.

    Hilfe?
    Geändert von Mazzelein (22.05.2013 um 09:56 Uhr)

  6. #86
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    - Startpunkt der Webseite (Standard Layout)
    --- Home mit OPW-Modul (Standard Layout)
    ----- One Page Referenz (versteckt) (Abgespecktes Layout)
    ------- Seite 1
    ------- Seite 2
    ------- Seite 3
    ------- usw...
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  7. #87
    Contao-Nutzer
    Registriert seit
    18.08.2012.
    Beiträge
    33

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    - Startpunkt der Webseite (Standard Layout)
    --- Home mit OPW-Modul (Standard Layout)
    ----- One Page Referenz (versteckt) (Abgespecktes Layout)
    ------- Seite 1
    ------- Seite 2
    ------- Seite 3
    ------- usw...
    Vielen Dank! Aber leider klappt das einfach nicht. Der nimmt das abgespeckte Layout einfach nicht an.

    EDIT: Okay, habs durch einen Screenshot hier jetzt verstanden, wie genau das angelegt werden muss. Die Navigation über Module zu laden im Standardlayout war der Fehler.
    Geändert von Mazzelein (24.05.2013 um 08:36 Uhr)

  8. #88
    Contao-Nutzer
    Registriert seit
    18.08.2012.
    Beiträge
    33

    Standard

    Ich habe nun ein anderes Problem und bekomme es auch einfach nicht hin. Bin in PHP einfach nicht weit genug..

    Und zwar möchte ich bei der Ausgabe der einzelnen Artikel (dabei gibt es ja mehrere pro Seite) auch die Klasse ausgeben.
    Der Aufbau des Templates sieht so aus:

    <div class="main">
    <?php foreach($page['content'] as $section => $contents): ?>
    <div class="inside block">
    <?php foreach($contents as $content): ?>
    <?php echo $content['html']; ?>
    <?php endforeach; ?>
    </div>
    <?php endforeach; ?>
    </div>


    und bei inside möchte ich die klasse des artikels ausgeben, also:

    <div class="inside block <?php echo $article['class']; ?>">
    <?php foreach($contents as $content): ?>
    <?php echo $content['html']; ?>
    <?php endforeach; ?>
    </div>

    Was aber leider nicht geht und ich blick auch nicht dahinter, warum :/

  9. #89
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Und zwar möchte ich bei der Ausgabe der einzelnen Artikel (dabei gibt es ja mehrere pro Seite) auch die Klasse ausgeben.
    Da brauchst Du nichts am Template ändern. Es werden die Klassen von den Artikeln ganz normal berücksichtigt. Artikel werden ganz normal als ".mod_article MEINE-KLASSE" ausgegeben.

    Ausserhalb der foreach-Schleife brauchst Du nicht suchen. Da würde ja maximal eine Klasse vergeben werden.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  10. #90
    Contao-Nutzer
    Registriert seit
    18.08.2012.
    Beiträge
    33

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Da brauchst Du nichts am Template ändern. Es werden die Klassen von den Artikeln ganz normal berücksichtigt. Artikel werden ganz normal als ".mod_article MEINE-KLASSE" ausgegeben.
    Das leuchtet mir ein Habe wohl zuviel beim template "mod_article" gelöscht. Jetzt klappt alles wunderbar. Dankeschön

  11. #91
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hallo Tim

    Keine Ahnung wie, aber irgendwie hab ich es geschafft die Erweiterung so zum laufen zu
    bringen, dass ich eine Navigation angezeigt bekomme und der Browser auch zum entsprechenden
    Artikel/Seite scrollt Soweit so gut, also.

    Gibt es denn auch eine Möglichkeit, den Header (z.B. Logo) sowie die OnePage-Navigation "statisch"
    zu platzieren, sodass sie jederzeit sichtbar sind und der Inhalt darunter scrollt? Oder ist das einfach
    eine Frage des CSS?

    Auf der Seite von Fairphone.com wird das, was ich meine, umgesetzt.
    Freundliche Grüsse
    Martin

  12. #92
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    #header {position:fixed;}
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  13. #93
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Danke Tim, das hab ich schon probiert. Aber wie bekomme ich es hin, dass die
    jeweilige Seite/Artikel unterhalb der Navigation "bremst" und zum Stillstand kommt - und
    nicht bis zum Browser-Fensterrand hochläuft und so von der Navigation verdeckt wird?

    Geht das überhaupt oder wird der Ankerpunkt immer so angesteuert, dass der Inhalt bis
    zum oberen Rand des Browserfenster (Viewport) läuft?
    Freundliche Grüsse
    Martin

  14. #94
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Danke Tim, das hab ich schon probiert. Aber wie bekomme ich es hin, dass die
    jeweilige Seite/Artikel unterhalb der Navigation "bremst" und zum Stillstand kommt - und
    nicht bis zum Browser-Fensterrand hochläuft und so von der Navigation verdeckt wird?

    Geht das überhaupt oder wird der Ankerpunkt immer so angesteuert, dass der Inhalt bis
    zum oberen Rand des Browserfenster (Viewport) läuft?
    Klar geht das. Habe das in einem aktuellen Projekt auch so.
    In dem moo_smoothScroll Template ein negativ Offset vergeben:

    Code:
    var offsetY = 153;
    	
    	new Fx.SmoothScroll(
    	{
    	   duration: 800,
    	   offset: {'y':-offsetY}
    	});
    in diesem Beispiel ist der Header 153px.

    Man kann auch ganz viel mit CSS richten. Die onepage Struktur ist hervorragend zu stylen, durch die <ul> Liste Struktur.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  15. #95
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Saugut, genau das habe ich gesucht! Tolles Projekt übrigens!
    Freundliche Grüsse
    Martin

  16. #96
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hallo Tim

    Ich hab jetzt mal ein bisschen 'rumprobiert und 'rumgespielt und bin dabei auf ein "Problem" gestossen. Vielleicht tritt
    das nur bei mir auf - oder Du kennst den notwendigen Trick dazu... ;-)

    Ich habe die Testseite wie von dir empfohlen aufgebaut:

    - meinedomain.tld (Startpunkt der Webseite, Standard Layout)
    --- Startseite (Artikel mit OPW-Modul:Normale Struktur, Standard Layout)
    ----- One Page Referenz (versteckt) (Abgespecktes Layout)
    ------- Seite 1 (Abgespecktes Layout)
    ------- Seite 2 (Abgespecktes Layout)
    ------- Seite 3 (Abgespecktes Layout)

    Wenn ich jetzt die Seite über die URL meinedomain.tld aufrufe, lande ich auf
    meinedomain.tld/index.php (obwohl eigentlich index.php/startseite.html angezeigt wird).
    Die Links im OPW-Navigationsmodul zeigen aber bereits z.B. auf
    meinedomain.tld/index.php/startseite.html#page4

    Ja, mod-rewrite und URL-umschreiben funktioniert noch nicht... ;-)

    Wenn ich also in der Navigation auf den Link klicke, springt die Website zwar dorthin wo #page4 ist, aber
    a) ist das nur ungefähr und b) wird gesprungen, nicht gescrollt. Erst ab diesem Link bin ich im Browser
    auf meinedomain.tld/index.php/startseite.html#page4 und von da an kann ich klicken was ich will - es wird
    immer sauber gescrollt!

    Wenn ich das mit deinem Projekt vergleiche, fällt mir z.B. auf dass gar keine .html-Seite im Adressfeld des
    Browser eingefügt wird. Und weiter fällt mir auf, dass bei dir anstelle #page4 der Name des Artikels steht...

    Kannst du mir verraten, wie das geht?
    Freundliche Grüsse
    Martin

  17. #97
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Wenn ich das mit deinem Projekt vergleiche, fällt mir z.B. auf dass gar keine .html-Seite im Adressfeld des
    Browser eingefügt wird. Und weiter fällt mir auf, dass bei dir anstelle #page4 der Name des Artikels steht...
    Ist ja hier bereits mehrfach angesprochen. Im Template einfach ids vergeben für die <li> und im Navi-Template auf diese IDs die hrefs umschreiben. Sollte kein Problem sein. Schön mit standardize(SEITEN_TITEL) arbeiten.

    Die Links im OPW-Navigationsmodul zeigen aber bereits z.B. auf
    meinedomain.tld/index.php/startseite.html#page4
    Setz mal die Referenzseite des OPW-Navi Moduls auf Deine Startseite (Artikel mit OPW-Modul:Normale Struktur, Standard Layout)
    Sonst ist das Verhalten erstmal richtig.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  18. #98
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hi Tim

    Zitat Zitat von Tim G Beitrag anzeigen
    Setz mal die Referenzseite des OPW-Navi Moduls auf Deine Startseite (Artikel mit OPW-Modul:Normale Struktur, Standard Layout)
    Sonst ist das Verhalten erstmal richtig.
    Hm... Im Modul [One-Page-Website: Navigationsmenü] kann ich keine Referenz-Seite setzen, nur ein Referenz-Modul! Und dort habe ich das
    OPW-Strukturmodul angegeben...

    Im Modul [One-Page-Website: Normale Struktur] hingegen kann ich eine Refernzseite auswählen. Dort muss ich allerdings die Seite
    One Page Referenz auswählen, weils sonst das Frontend leer beleibt. Heisst also: Wenn ich dort die Startseite angebe, bekomm ich
    weder eine Navigation noch die Artikel im Frondend...

    Das Modul [One-Page-Website: Navigationsmenü] habe ich übrigens im Header des Standardlayout eingebunden... Falls das einen
    Einfluss hat...

    Merci für deine Bemühungen.
    Freundliche Grüsse
    Martin

  19. #99
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Hm... Im Modul [One-Page-Website: Navigationsmenü] kann ich keine Referenz-Seite setzen, nur ein Referenz-Modul! Und dort habe ich das
    OPW-Strukturmodul angegeben...
    Check mal mit der github Version. Ich weiss jetzt nicht ob ich das ER up to date habe. Eine Weiterleitungsseite sollte auswählbar sein im Navi-Modul.

    Sonst klingt alles richtig.

    Nutzt du die 3er oder 2er Version?
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  20. #100
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Ja, eine Weiterleitungs-Seite kann ich im Modul [One-Page-Website: Navigationsmenü]
    angeben. Hier habe ich bereits die Startseite (startseite.html) angegeben... Du hast
    von Referenz-Seite geschrieben

    NB: Contao 3.1 - frisch installiert
    Freundliche Grüsse
    Martin

  21. #101
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Ja, eine Weiterleitungs-Seite kann ich im Modul [One-Page-Website: Navigationsmenü]
    angeben. Hier habe ich bereits die Startseite (startseite.html) angegeben... Du hast
    von Referenz-Seite geschrieben

    NB: Contao 3.1 - frisch installiert
    Jaja, mein ich doch

    puhh. 3.1 hatte ich jetzt noch nicht getestet.
    Das Navi-Modul testet ob die aktuelle Seite = der Weiterleitungsseite ist. Wenn nicht, wird der Anker an die jeweilige SEITE.html gehängt.
    Wenn beide gleich, dann wird einfach die aktuelle URL genommen.
    Vielleicht hat sich da in 3.1 etwas geändert, dass der Startpunkt der Webseite auf die erste Seite der Struktur leitet. Dann würden unterschiedliche Seiten entdeckt werden.

    Werde ich nächste Woche mal gegentesten. Sollte Dich beim weiteren Erstellen der Seite aber nicht hindern.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  22. #102
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Keine Panik. Ich beschäftige mich nur zum Spass und aus Interesse an der Sache mit
    solchen Sachen

    Aber noch was anderes: Hab grad festgestellt, dass mir der error.log gefüllt wird, mit immer
    den gleichen Einträge!

    [31-May-2013 12:20:50 GMT]
    PHP Runtime notice: Declaration of ModuleOnePageWebsiteNavigation::renderNavigation() should be compatible with Contao\Module::renderNavigation($pid, $level = 1, $host = NULL, $language = NULL) in /system/modules/OnePageWebsite/modules/ModuleOnePageWebsiteNavigation.php on line 17
    #0 /system/modules/OnePageWebsite/modules/ModuleOnePageWebsiteNavigation.php(17): __error(2048, 'Declaration of ...', '/home/www/web26...', 17, Array)
    #1 /system/modules/core/library/Contao/ClassLoader.php(152): include('/home/www/web26...')
    #2 [internal function]: Contao\ClassLoader::load('ModuleOnePageWe...')
    #3 [internal function]: spl_autoload_call('ModuleOnePageWe...')
    #4 /system/modules/core/library/Contao/Controller.php(278): class_exists('ModuleOnePageWe...')
    #5 /system/modules/core/pages/PageRegular.php(142): Contao\Controller->getFrontendModule(Object(Contao\ModuleModel), 'header2')
    #6 /index.php(250): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #7 /index.php(415): Index->run()
    #8 {main}

    Vielleicht sagt dir das was?
    Freundliche Grüsse
    Martin

  23. #103
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Ist geupdated für 3.1
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  24. #104
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Danke Tim!

    Die Fehlermeldungen sind weg! Aber das mit der Startseite funktioniert noch nicht so, wie es soll
    resp. wie ich mir das vorstelle :-)
    "Wenn ich die Seite über die URL meinedomain.tld aufrufe, lande ich auf
    meinedomain.tld/index.php (angezeigt wird aber der Inhalt von index.php/startseite.html).
    Die Links im OPW-Navigationsmodul zeigen aber bereits z.B. auf
    meinedomain.tld/index.php/startseite.html#page4"

    Es besteht also eine Diskrepanz zwischen Link im Browser und Link in der Navigation,
    wegen fehlenem "startsteite.html". Das Problem besteht nur beim allerersten Aufruf
    der Seite. Ich vermute mal, dass es an meiner Contao-Installation liegt...
    Freundliche Grüsse
    Martin

  25. #105
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Danke Tim!

    Die Fehlermeldungen sind weg! Aber das mit der Startseite funktioniert noch nicht so, wie es soll
    resp. wie ich mir das vorstelle :-)
    "Wenn ich die Seite über die URL meinedomain.tld aufrufe, lande ich auf
    meinedomain.tld/index.php (angezeigt wird aber der Inhalt von index.php/startseite.html).
    Die Links im OPW-Navigationsmodul zeigen aber bereits z.B. auf
    meinedomain.tld/index.php/startseite.html#page4"

    Es besteht also eine Diskrepanz zwischen Link im Browser und Link in der Navigation,
    wegen fehlenem "startsteite.html". Das Problem besteht nur beim allerersten Aufruf
    der Seite. Ich vermute mal, dass es an meiner Contao-Installation liegt...
    Nein, ich kann das reproduzieren. Wenn die erste Seite nach dem Startpunkt die Seite mit dem Modul ist. Ich schau's mir an.
    Kannst Du bei GitHub ein Ticket dafür erstellen. Dann haben wir eine Zuordnung.
    Dank Dir

    Ich lade das gleich bei GitHub rein.

    ModulOnePageWebsiteNavigation, Zeile 150:
    PHP-Code:
    $href '#page' .$objSubpages->id;
    if(
    $objJumpTo->id != $objPage->id)
    {
        
    $href $this->generateFrontendUrl($objJumpTo->row()) . '#page' .$objSubpages->id;

    Geändert von Tim G (03.06.2013 um 09:55 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  26. #106
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hab das "Problem" bei mir gefunden... Ich starte die Seite mit einer index.html-Seite und verweise dort auf die index.php! Das ist nur im Moment so, weil die statische Seite quasi die "Wartungsseite" ist und ich im Hintergrund am pröbeln bin... :-)

    Aktuell schneidet dein Skript den Teil "index.php" aus den Links raus, sodass ich wieder auf der statischen index.html lande... Wenn die "Wartungs-Seite" dann aber rausfällt, funktioniert alles hervorragend!
    Freundliche Grüsse
    Martin

  27. #107
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Hab das "Problem" bei mir gefunden... Ich starte die Seite mit einer index.html-Seite und verweise dort auf die index.php! Das ist nur im Moment so, weil die statische Seite quasi die "Wartungsseite" ist und ich im Hintergrund am pröbeln bin... :-)

    Aktuell schneidet dein Skript den Teil "index.php" aus den Links raus, sodass ich wieder auf der statischen index.html lande... Wenn die "Wartungs-Seite" dann aber rausfällt, funktioniert alles hervorragend!
    Ja, mit einer zusätzlichen Wartungsseite auf der Du arbeitest, bist Du ja ausserhalb der OnePage-Struktur mit ihren Ankern, hast aber die Navi dafür angezeigt. Damit muss hier der Anker mit einer kompletten URL gebildet werden (die Navi will zur OnePage) - hier wird sozusagen eine normale Navigation mit zusätzlichen Ankern draus. Das ist nötig, weil: Eine versteckte Bestätigungsseite für E-Mail z.B. würde dann falsch verlinken bzw. sämtliche "normale" Seiten und man möchte zu einem Anker in der OnePage-Struktur.

    Es muss aber noch eine Fallunterscheidung rein. Das stimmt.
    Ob es die erste Seite nach der Root-Page ist.

    Noch richtiger, der aktuelle Request-String sollte als default vor dem Anker stehen. Im Falle der Eingangsseite wäre dieser eh leer.

    Hab die Versionen geupdatet...
    Geändert von Tim G (03.06.2013 um 11:11 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  28. #108
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hi Tim

    Zitat Zitat von Tim G Beitrag anzeigen
    Im Template einfach ids vergeben für die <li> und im Navi-Template auf diese IDs die hrefs umschreiben. Sollte kein Problem sein. Schön mit standardize(SEITEN_TITEL) arbeiten.
    Komme nochmals darauf zurück. Warum machst du das nicht standardmässig so in deiner Erweiterung? Wäre doch wesentlich "eleganter" als das #pagexy-Zeugs?
    Freundliche Grüsse
    Martin

  29. #109
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Nein, ist es nicht.
    Theoretisch könnte jede Seite gleich heissen. Dann müsste ich wieder über eine Routine einbauen, die ggf. wieder eine Nummer vergibt.
    Würde ich das nicht machen, kommen nur doppelte IDs und dann schreiben wir hier wieder, weil w3c und wie sie nicht alle heissen...
    Nein, wer Seitentitel haben will -> Template
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  30. #110
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hi Tim

    Zitat Zitat von Tim G Beitrag anzeigen
    Nein, ist es nicht.
    Theoretisch könnte jede Seite gleich heissen. Dann müsste ich wieder über eine Routine einbauen, die ggf. wieder eine Nummer vergibt.
    Heissen ja, aber nur im Seitennamen. Nicht aber im Seitenalias - da schaut doch Contao dass die Namen eindeutig sind und fügt Nummer an. Sonst würde ja gar kein Navimodul funktionieren...

    Zitat Zitat von Tim G Beitrag anzeigen
    Nein, wer Seitentitel haben will -> Template
    You're the boss Und Freude habe ich trotzdem an der Erweiterung
    Geändert von tinoo (07.06.2013 um 08:49 Uhr)
    Freundliche Grüsse
    Martin

  31. #111
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Bitte auch die vorherigen Posts lesen! Dort ist mehrfach erklärt warum sich der Seitenalias noch weniger eignet! Stichwort Slashes, wenn ordnerähnliche Urls.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  32. #112
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hallo Tim

    Zitat Zitat von Tim G Beitrag anzeigen
    Einfach das mootools Template, moo_onepagenavigation, mit einbinden.
    Hierzu habe ich auch noch eine Frage, resp. Feststellung: Ich habe meine Seite ja so eingerichtet,
    dass ich nach eintippen der URL (im Browserfenster) direkt auf der OnePageWebsite lande. Die Seite
    steht dann auf der ersten "Page" - der entsprechende Menüpunkt wird aber (noch) nicht als "activ"
    gekennzeichnet. Erst wenn man das erste Mal auf den Menüpunkt klickt, bekommt er die entsprechende
    Klasse... Gibt's da eine Möglichkeit das zu ändern?
    Freundliche Grüsse
    Martin

  33. #113
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Hallo Tim



    Hierzu habe ich auch noch eine Frage, resp. Feststellung: Ich habe meine Seite ja so eingerichtet,
    dass ich nach eintippen der URL (im Browserfenster) direkt auf der OnePageWebsite lande. Die Seite
    steht dann auf der ersten "Page" - der entsprechende Menüpunkt wird aber (noch) nicht als "activ"
    gekennzeichnet. Erst wenn man das erste Mal auf den Menüpunkt klickt, bekommt er die entsprechende
    Klasse... Gibt's da eine Möglichkeit das zu ändern?
    3 Möglichkeiten:
    1. Das moo_ Template anpassen (dort geht ja auch PHP)
    2. Das nav_ Template anpassen und dort mit dem global $objPage Objekt und der ID der Seiten innerhalb der foreach-Schleife einfach den Button auf "active" setzen (mein Favorit).

    global $objPage;
    foreach...
    if($item['id'] == $objPage->id) { $item['isActive'] = true; }
    ...endforeach

    3. Erste Seite in der Seitenstruktur ist eine versteckte Weiterleitungsseite auf Deine eigentliche Home-Seite, aber mit gesetztem Anker.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  34. #114
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Guten Morgen Tim

    Ich arbeite im Modul [One-Page-Website: Navigationsmenü] mit dem Template nav_default. Wenn ich dieses
    nun kopiere und gemäss 2.) ändere, wird der erste Menupunkt beim ersten Aufruf der Seite trotzdem nicht "active"
    gesetzt... Gut möglich, dass ich was falsch mache - könntest Du ein Template nav_OPW.htlm5 mit der Erweiterung
    ausliefern, wo die Änderung korrekt enthalten ist?

    Dann habe ich noch etwas anderes festgestellt: Unmittelbar vor dem abschliessenden </div> von "mod_onepagewebsiteregular"
    habe ich einen Anker <a id="" class="invisible"> … </a>. Die HTML-Validierungs-Tools meckern hier, dass die id leer nicht leer sein
    darf. Kann es sein, dass dieser Anker zuviel ausgliefert wird?

    Merci für deine Bemühungen!
    Freundliche Grüsse
    Martin

  35. #115
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Ich arbeite im Modul [One-Page-Website: Navigationsmenü] mit dem Template nav_default. Wenn ich dieses
    nun kopiere und gemäss 2.) ändere, wird der erste Menupunkt beim ersten Aufruf der Seite trotzdem nicht "active"
    gesetzt... Gut möglich, dass ich was falsch mache - könntest Du ein Template nav_OPW.htlm5 mit der Erweiterung
    ausliefern, wo die Änderung korrekt enthalten ist?
    Mhh... eher nicht. Damit würden zwei neue Templates in die Erweiterung kommen, die ich für überflüssig halte.
    Auch würde das nicht für jeden nötig sein. Auf der ofenrat.de Seite wollen wir gar nicht, dass sofort der erste Button aktiv ist, weil der erste Button eine Rubrik tiefer geht als das Titelbild.

    Dann habe ich noch etwas anderes festgestellt: Unmittelbar vor dem abschliessenden </div> von "mod_onepagewebsiteregular"
    habe ich einen Anker <a id="" class="invisible"> … </a>. Die HTML-Validierungs-Tools meckern hier, dass die id leer nicht leer sein
    darf. Kann es sein, dass dieser Anker zuviel ausgliefert wird?
    Mal die neueste Version von github nehmen.
    Geändert von Tim G (18.06.2013 um 07:25 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  36. #116
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Hallöschen

    Zitat Zitat von Tim G Beitrag anzeigen
    ...Damit würden zwei neue Templates in die Erweiterung kommen, die ich für überflüssig halte.
    Okee... Schade - zumal ja die Wahl zwischen nav_default und nav_OPW erhalten bliebe...

    Zitat Zitat von Tim G Beitrag anzeigen
    Mal die neueste Version von github nehmen.
    Tiptop, der Anker mit leerer ID ist jetzt weg...
    Geändert von tinoo (18.06.2013 um 08:51 Uhr)
    Freundliche Grüsse
    Martin

  37. #117
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Hierzu habe ich auch noch eine Frage, resp. Feststellung: Ich habe meine Seite ja so eingerichtet,
    dass ich nach eintippen der URL (im Browserfenster) direkt auf der OnePageWebsite lande. Die Seite
    steht dann auf der ersten "Page" - der entsprechende Menüpunkt wird aber (noch) nicht als "activ"
    gekennzeichnet. Erst wenn man das erste Mal auf den Menüpunkt klickt, bekommt er die entsprechende
    Klasse... Gibt's da eine Möglichkeit das zu ändern?
    Ich hab dir das mal im moo_onepagewebsitenavigation Template ergänzt:

    Einfach nach Zeile 55 ergänzen.
    Code:
    // set first button to active when on first page of website and no anchor is set
    var strRequest = '<?php echo $this->replaceInsertTags('{{env::request}}') ?>';
    if(location.hash.length == 0 && strRequest.length == 0)
    {
    	objAnchors[0].addClass('active');
    	objAnchors[0].getParent('li').addClass('active');
    }
    Probier mal aus, ob das den Ansprüchen entspricht.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  38. #118
    Contao-Nutzer
    Registriert seit
    22.07.2009.
    Beiträge
    24

    Frage

    Hallo zusammen,

    erstmal danke für die reichhaltigen Support Tipps Tim!

    Ich habe mit Contao 3.1.0 soweit alles am Laufen. Ich verstehe nur nicht WAS ich in die Templates schreiben muss, WIE ich die editieren kann, weiß ich .

    Könnte einer der Wissensträger hier einem dummen User weiterhelfen...

    Es soll statt "#page" bitte der Seitenalias der Seite ausgegeben werden...

    Vielen Dank für die Extension!!!

  39. #119
    Contao-Fan Avatar von tinoo
    Registriert seit
    19.06.2009.
    Ort
    made in switzerland
    Beiträge
    591

    Standard

    Guten Morgen Tim

    Zitat Zitat von Tim G Beitrag anzeigen
    Einfach nach Zeile 55 ergänzen.
    ....
    Probier mal aus, ob das den Ansprüchen entspricht.
    Naja, "Ansprüche" ist jetzt etwas hochgegriffen... :-)

    Die Ergänzung funktioniert soweit, dass beim Aufruf der URL der erste Menupunkt tatsächlich die Klasse "active" bekommt, sowohl das umgebende <li> als auch der Link <a> selbst. Die nachfolgenden Menupunkte bekommen einfach leere <li>'s... ABER, der erste Menupunkt behält die Klasse active wenn ich auf den zweiten oder dritten Menupunkt klicke. Diese bekommen zwar die Klasse active auch - aber jetzt habe ich zwei! Komischerweise funktioniert es dann aber nach ein paar Klickereien plötzlich - dafür habe ich dann <li>'s mit leeren Klasseangaben (<li class=" ">), was beim ersten und letzten Element nicht auffällt, da diese ja auch first und last mitbekommen...

    Ah, grad rausgefunden: Der erste Menupunkt behält das active-Attribut solange, bis ich den Menupunkt erstmals angeklickt habe und dann 'was anderes auswähle!
    Freundliche Grüsse
    Martin

  40. #120
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tinoo Beitrag anzeigen
    Guten Morgen Tim



    Naja, "Ansprüche" ist jetzt etwas hochgegriffen... :-)

    Die Ergänzung funktioniert soweit, dass beim Aufruf der URL der erste Menupunkt tatsächlich die Klasse "active" bekommt, sowohl das umgebende <li> als auch der Link <a> selbst. Die nachfolgenden Menupunkte bekommen einfach leere <li>'s... ABER, der erste Menupunkt behält die Klasse active wenn ich auf den zweiten oder dritten Menupunkt klicke. Diese bekommen zwar die Klasse active auch - aber jetzt habe ich zwei! Komischerweise funktioniert es dann aber nach ein paar Klickereien plötzlich - dafür habe ich dann <li>'s mit leeren Klasseangaben (<li class=" ">), was beim ersten und letzten Element nicht auffällt, da diese ja auch first und last mitbekommen...

    Ah, grad rausgefunden: Der erste Menupunkt behält das active-Attribut solange, bis ich den Menupunkt erstmals angeklickt habe und dann 'was anderes auswähle!
    ja, das kann sein.
    ich muss die last Variable noch beschreiben. War gestern nur so zwischen Tür und Angel.


    Hier ein opw_default Template mit Alias:
    PHP-Code:
    <ul class="<?php echo $this->level?>">
    <?php foreach($this->entries as $page): ?>
    <?php
    $alias 
    $page['row']['alias'];
    $page['cssId'] = 'id="'.$alias.'"';
    ?>
    <li <?php echo $page['cssId']; ?> class="<?php echo $page['class']; ?> <?php echo $alias?>">
    <div class="wrapper">
    <?php foreach($page['content'] as $section => $contents): ?>
        <div class="<?php echo $section?> block">
            <?php foreach($contents as $content): ?>
                <?php echo $content['html']; ?>
            <?php endforeach; ?>
        </div>
    <?php endforeach; ?>
    </div>
    <?php echo $page['subpages']; ?>
    </li>

    <?php endforeach; ?>
    </ul>
    Hier ein Navi-Template mit Anker auf Alias
    PHP-Code:
    <ul class="<?php echo $this->level?>">
    <?php foreach ($this->items as $item): ?>
    <?php
    $item
    ['href'] = '#'.$item['alias'];
    ?>
    <?php 
    if ($item['isActive']): ?>
    <li class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><span class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></li>
    <?php else: ?>
    <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
    <?php endif; ?>
    <?php 
    endforeach; ?>
    </ul>
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

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
  •