pathauto/URL-Alias überschreiben
am 14.06.2011 - 09:25 Uhr in
Hi.
Ich nutze das Module pathauto.
Jetzt habe ich einen Inhaltstyp, bei dem abhängig von einem CCK der URL-Alias angepasst werden muss. Hatte erst versucht über einen token die URL unter 'admin/build/path/pathauto' anzupassen, aber leider übernimmt er die '/' vom CCK nicht. Daher wollte ich jetzt das anlegen/updaten der Node via nodeapi abfangen und dort den path ändern in dem ich
$node->pathauto_perform_alias = 0; $node->path = $path;
setze - doch leider ist pathauto wohl 'vorher' dran und hat den Alias schon gesetzt...
Habt ihr ne Idee?
VG
- Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht könntest du im
am 14.06.2011 - 10:16 Uhr
Vielleicht könntest du im hook_nodeapi mit path_set_alias selbst einen PathAlias setzen, statt PathAuto behindern zu wollen.
Hey. Dank für deinen Hinweis!
am 14.06.2011 - 10:55 Uhr
Hey.
Dank für deinen Hinweis! Hab das sogar schon probiert und die Node ist dann auch unter dem Pfad erreichbar. Als automatischen Standardpfad nimmt er dann aber trotzdem den anderen (sprich: in der url_alias-Tabelle sind 2 Einträge).
Daher dacht ich mir, dass ich mich irgendwie bei autopath reinhacken muss...
Dann deaktiviere doch den
am 14.06.2011 - 12:10 Uhr
Dann deaktiviere doch den AutoPath für den Inhaltstyp.
Dazu musst du unter
admin/build/path/pathautoin der Box"Node Paths"das Feld für den Inhaltstyp UND das Feld"Standard-Pfadmuster"(das oberste Feld bei denNode Paths) leer lassen. Dann gibt es keine AutoPath-Regel für den Nodetype und auch keine allgemein gültige Regel. Damit dürfte kein automatischer Alias angelegt werden und du kannst im hook_nodeapi den Alias erstellen.Funktioniert so einfach natürlich nur beim Erstellen eines neuen Nodes. Wenn der Node aktualisiert wird, müsstest du natürlich den vorhandenen Alias aktualisieren.
Is ne Variante aber
am 14.06.2011 - 13:30 Uhr
Is ne Variante aber eigentlich möchte ich einen Teil der Funktionen weiter nutzen. Z.B. dass er den Titel mit in den Alias einbezieht und vorher kontrolliert, ob er schon vorhanden ist... hm ich kann mal schauen, ob es in dem Module einzelne Funktionen dafür gibt. Ansonsten ist das trotzdem schon mal ne Variante mit der ich arbeiten kann! Vielen Dank für den Gedankenanstoß.
Da fällt mir gerade auf...
am 14.06.2011 - 14:00 Uhr
Da fällt mir gerade auf... das Problem war doch, dass er die
'/'aus dem CCK-Feld nicht übernimmt, oder?Du gibst also in dein CCK-Feld ein:
ein/kleiner/testPathAuto sollte z. B. sowas daraus machen:
mein-titel/ein/kleiner/testStattdessen sieht es aber so aus:
mein-titel/einkleinertestStimmt das so in etwa?
Wenn ja, dann könnte man das Problem evtl. einfacher beheben:
Geh mal zu
admin/build/path/pathauto, öffne dort die Box"Einstellungen für Zeichensetzung"(Dort kannst du einstellen, wie Sonderzeichen im URL-Alias behandelt werden sollen) und scrolle bis ans Ende dieser Box. Der vorletzte Punkt dürfte die Aktion für den Slash ( '/' ) sein. Wenn dort"Entfernen"steht, wird's natürlich entfernt. Dort kannst du mal"Keine Aktion"auswählen und das ganze nochmal probieren.Oh wie geil! Auf die Idee bin
am 15.06.2011 - 11:50 Uhr
Oh wie geil! Auf die Idee bin ich natürlich gar nicht gekommen...
So funktioinierts genau so wie ich mir das vorgestellt hatte!!
Hab Vielen Dank!
So einfach kann's gehen
am 15.06.2011 - 13:33 Uhr
So einfach kann's gehen ^^
Wäre schön, wenn du noch den ersten Beitrag oben bearbeiten und "[gelöst]" vor den Titel schreiben würdest, das hält das Forum etwas übersichtlicher ;)