Ich habe einen Pre-Save-Hook im Modul erstellt, der meinen Knoten durch Abrufen von Informationen aus verschiedenen APIs auffüllt. Ich kann mir jedoch nicht vorstellen, wie ich einem neu erstellten Knoten einen Knotenalias hinzufügen soll. Gibt es eine Funktion oder ein Modul oder etwas (Drupal 7 hatte path_auto)? Oder sollte ich mit rohem Einsatz in gehen url_alias
? Könnte ich mich mit einer so drastischen Bewegung in den Fuß schießen?
8
path-aliases
Bogdan Kuštan
quelle
quelle
Antworten:
Um den Alias zu erstellen, überprüfe ich zuerst, ob der Alias in der Benutzeroberfläche festgelegt wurde, und wenn er leer ist, setze ich ihn manuell mithilfe von label ().
Weitere Informationen finden Sie unter https://www.drupal.org/node/1853148
quelle
Mit Drupal 8 habe ich Folgendes getan (nach einer kurzen Suche in der Datei pathauto.module ):
Schritt 1: Erstellen Sie den Knoten
Schritt 2: Speichern Sie den Knoten
Schritt 3: Fügen Sie den Pfad ein (stellen Sie sicher, dass das Pathauto-Modul installiert ist, und fügen Sie ein Muster für den angegebenen Knotentyp hinzu).
Wenn Sie den Knoten programmgesteuert aktualisieren müssen, vergessen Sie nicht, seinen Pfad zu aktualisieren:
pathauto_entity_update($node)
und vergessen Sie nicht, ihn zu löschen, wenn Sie den Knoten löschen (löschen Sie ihn, BEVOR Sie den Knoten natürlich löschen, da die Referenz verloren geht, wenn Sie ihn nicht verwenden tu das nicht):pathauto_entity_delete($node)
quelle
Ab Drupal 8.8 sind Pfad-Aliase jetzt Entitäten, und die Methode zum Erstellen eines neuen Alias hat sich geändert.
Um einen Alias programmgesteuert zu speichern, haben Sie folgende Möglichkeiten:
quelle
Um eine saubere Zeichenfolge zu erhalten, können Sie diese Funktion aus dem Pathauto-Modul verwenden.
Quelle: Drupal: Bereinigen Sie eine Zeichenfolge zur Verwendung in URLs
quelle
Wir unterhalten einen inoffiziellen Port des Pathauto- Moduls. Sie benötigen auch token.module, das Sie von hier erhalten können . Die Verwendung erfolgt auf eigenes Risiko, die Konfigurationsstruktur kann sich ändern oder Kernaktualisierungen können das Modul vorübergehend beschädigen.
Die Arbeit hat gerade begonnen, um diese beiden Module wieder auf drupal.org zu bringen.
quelle
Auch wenn Sie nur eine benutzerdefinierte Inhaltsentität verwenden und dem Formular den URL-Pfad-Alias hinzufügen möchten ...
mach einfach
}}
quelle