Aus internen Links in Drupal automatisch vollwertige URLs machen

Aus internen Links in Drupal automatisch vollwertige URLs machen

Wenn man in Drupal einen Link auf eine interne Seite setzt, gibt man meistens nur den relativen Pfad an. Beispiel: Wenn wir einen Link auf einen anderen Blogeintrag setzen, dann geben wir nur diesen Teil ein:


/blog/wie-man-verhindert-dass-drupal-ungewollt-e-mails-verschickt


Daraus macht Drupal beim Anzeigen des Artikels dann automatisch die vollständige URL (wie man leicht erkennt, wenn man mit dem Mauszeiger über den Linktext geht):


http://www.webtotum.de/blog/wie-man-verhindert-dass-drupal-ungewollt-e-m...


Das ist praktisch, vor allem weil bei einer späteren Änderung der Domain die Links automatisch richtig zusammengesetzt werden. Einen Nachteil hat diese Methode jedoch: Nicht alle Module können diesen Mechanismus nutzen. So werden derartige interne Links zum Beispiel vom Newslettermodul Simplenews derzeit nicht korrekt umgewandelt. Sie gehen beim Versenden des Newsletters einfach verloren.


Das läßt sich durch die Verwendung des Drupal-Moduls Pathologic vermeiden. Dieses stellt einen neuen Input-Filter zur Verfügung, der automatisch aus internen Links die vollständige URL erzeugt.


Die Verwendung ist ganz einfach:


  1. Modul installieren, bei Drupal 7 geht das direkt aus Drupal heraus. Bei Drupal 6 muss man das Modul erst herunterladen, entpacken und per FTP in den Modul-Ordner (meistens ../sites/all/modules/) transferieren. Alternativ kann man natürlich auch Drush verwenden.
  2. Modul aktivieren
  3. Den Filter in allen Eingabeformaten aktivieren, wo er erwünscht ist (in der Regel dürfte das bei FullHTML und FilteredHTML der Fall sein).
  4. Den Filter ganz ans Ende der Liste der aktiven Filter schieben. Fertig.

Verschickt man jetzt einen Simplenews-Newsletter mit einem internen Link, so wird dieser vor dem Versenden automatisch in die vollständige URL umgewandelt und geht nicht mehr verloren.


Das funktioniert übrigens nicht nur bei Simplenews sondern beispielsweise auch bei Feeds.