Link-URLs für Ankerbasierte Navigation mit Hash-sign umschreiben (Scrollseite)
am 29.04.2016 - 16:08 Uhr in
Hallo in die Runde,
ich habe eine Seite auf der immer mehrere Nodes eines zugehörigen Terms aufgelistet werden. Diese Seiten (z.B. /team, /leistungen, /schwerpunkte ...) werden über Views erzeugt. Die einzelnen Nodes haben alle einen HTML-Anker, den ich über die rewrite-field-Funktion in Views hinzugefügt habe. Der Anker ist immer gleich dem Node-title (kann aber auch die ID sein, das is ersma egal).
Im händisch angelegten Menü ist es ja kein Problem z.B. www.url.de/termname#node-title statt www.url.de/node/id für jeden Inhalt einzeln anzulegen um ihn direkt per Link anzuspringen. Werden die Links allerdings programmatisch erzeugt - so z.B. beim reference-field - muss ich irgendwie dazwischengrätschen um den Link "umzuschreiben". Ich denke das geht sicher mit hook_link_alter oder so, aber leider fehlt mir die Erfahrung wie und wo ich das anwende (template.php, und wenn ja wie und liegt die wie bei Drupal 7 im theme-Ordner)?
Wenn mir hier einer mit 'nem Beispiel auf die Sprünge helfen könnte, wäre das super!
Danke im Voraus und Grüße,
Fab
- Anmelden oder Registrieren um Kommentare zu schreiben
Beispiel
am 19.05.2016 - 13:22 Uhr
Du möchtest dort eine Systematische Änderung durchführen. Dies hat mit Theming nichts zu tun und daher sollten diese Änderungen in einen Modul entwickelt werden.
Beispiel: https://www.drupal.org/node/778734#comment-2877604 . Mit anderen Worten solltest du einen Ordner in den /sites/all/modules/custom/DeinModul und dort einen deinmodul.info und deinmodul.module Datei hinterlegen.
Der # gehört nicht in den Systempfad und daher sollte dies nicht so in die DB hinterlegt werden. Könntest du nicht stattdessen einen speziellen Alias erzeugen welcher durch .htaccess auf die # URL weiterleitet?
Weiter kannst du nach "hook_pathauto_pattern_alter" suchen, falls du damit weitermachen möchtest.
There is a module for that :).
Hallo Fab, das geht mit
am 19.05.2016 - 13:45 Uhr
Hallo Fab,
das geht mit folgendem Modul:
https://www.drupal.org/project/special_menu_items
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Eigentlich wollte ich das ja
am 19.05.2016 - 15:25 Uhr
Eigentlich wollte ich das ja mit Pathauto realisieren, aber da wird das #-sign nicht angenommen.
Komischerweise kann ich aber beim Editieren der Node im URL-Alias ein #-sign in den Pfad eintragen. Dann wird diese URL auch durchgängig im ganzen System verwendet. Also auch in sämtlichen Referenzen auf die entsprechende Node. Das Problem ist so auf einfache Art und Weise gelöst :)
Das special-menu-items-Modul hätte da nicht geholfen. Ich wüsste auch nicht wie.
Trotzdem danke für eure Mithilfe.
Hi, ach so pathauto, dann ist
am 19.05.2016 - 16:23 Uhr
Hi,
ach so pathauto, dann ist einiges klar.
Das erzeugt Serversieitige Links.
# funktioniert nur im Browser und ist Klientseitig,
das kann gar nicht gehen, denn sonst müsste der Server das Dokument parsen wie ein Klient.
special-menu-items benötigst Du nur,
wenn Du in einem Menü ein # Zeichen benötigst.
(Das geht sonst nämlich nicht)
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Hallo Robert,ich habe
am 23.05.2016 - 16:11 Uhr
Hallo Robert,
ich habe special-menu-items nicht installiert und keine Probleme ein #-sign in Menü-URLs zu verwenden. Is aber - wie gesagt Drupal 8.
Grüße,
Fab