{cms_selflink} mit automatischer Vergabe der page_id

Hilfe zu Modulen und Tags
konsument
Forum Members
Forum Members
Posts: 137
Joined: Thu Oct 26, 2006 9:20 am

{cms_selflink} mit automatischer Vergabe der page_id

Post by konsument »

Hallo Leute,

gibt es eine Möglichkeit die function.cms_selflink.php so zu modifizieren, dass man bei Einbinden des Links über das Icon im TinyMCE anstelle des Seiten- bzw. Menütitels automatisch die page_id eingetragen bekommt?
Bräuchte das ganz dringend, da ich möchte, dass bei Umbenennen einer Seite der Link noch funktioniert.

Über einen hinweis wär ich äußerst entzückt  :D

Gute Grüße
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by nicmare »

das würde mich auch mal interessieren. irgendwie ist mir so, als wäre das früher mal so gewesen?!
owr_bgld

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by owr_bgld »

Ich habs nicht getestet, aber lt. Beschreibung sollte es entweder mit der ID oder mit dem page_alias funktionieren.

EDIT:
Funktioniert so wie es in der Hilfe angegeben ist. (Drum gibts ja den Link zur Hilfe)
Last edited by owr_bgld on Wed Apr 21, 2010 8:05 am, edited 1 time in total.
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by nicmare »

das ist schon klar dass das mit der id geht. aber das müsstet man ja händisch machen. wir wollen ja dass der cms linker die id automatisch nimmt anstatt dem alias
NaN

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by NaN »

Wie man's macht, macht man's verkehrt  ::)
Soweit ich weiß hat der cms_selflinker im TinyMCE anfangs immer die ID genommen.
Dann haben Leute geklagt, dass man doch besser das Alias nehmen sollte, weil man als Editor mit 'ner Zahl nichts anfangen kann.
({cms_selflink page=15} ist dermaßen nichtssagend, dass ich die Klagen gut verstehen kann)
Dann haben die Entwickler drauf reagiert und standard ist nun seit einiger Zeit page alias.
Nun klagen wieder die anderen...
konsument wrote:
Bräuchte das ganz dringend, da ich möchte, dass bei Umbenennen einer Seite der Link noch funktioniert.
... aber auch das kann ich irgendwie verstehen.
Da der cms_selflinker im Tiny ja wieder überarbeitet wurde und statt den Tag {cms_selflink ...} jetzt ... ausgibt, kann man ja eigentlich wieder auf die Id umsteigen.

Schaut Euch mal die Datei TinyMCE.module.php an.
Speziell die Zeile 400:

Code: Select all


tinyMCE.activeEditor.execCommand('mceInsertContent', false, '<a href="{cms_selflink href=\'".$entry->Alias()."\'}">'+sel+'</a>');";

wenn man das einfach ändert in

Code: Select all


tinyMCE.activeEditor.execCommand('mceInsertContent', false, '<a href="{cms_selflink href=\'".$entry->Id()."\'}">'+sel+'</a>');";

verwendet der Tiny von nun an immer die Seiten Id ;)
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by nicmare »

Sehr aufschlussreich! danke. wo du doch so ein experte bist: hast du ne idee wie man den linker so erweitern kann, dass man auch die einzelnen news artikel laden und auswählen kann?
mike-r

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by mike-r »

öhm, um da mal einzuhaken, der CMS-linker verlinkt den page-alias. Das heisst, dass man bei einer Änderung des Titels explizit den page-alias AUCH ändern müsste.

Das zu tun ist imho eine ganz schlechte Idee, da der page-alias gleichzeitig der Link zur Seite ist. Ändert man diesen, so hat man mindestens 3 Probleme:
  • Lokal gesetzte Lesezeichen führen ins Leere
  • Eingehende Links führen ins Leere
  • Suchmaschinen werten u.U. den Inhalt ab
Cool URIs don't change!

Oder hab ich grad ein Brett vorm Kopf und rede Unsinnn?
owr_bgld

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by owr_bgld »

Nene, du hast schon recht. eigentlich sollte man den page_alias einmal setzen und dann nicht mehr ändern. Drum kann ich ja nachvollziehen, dass viele das anstatt der ID wollten. Und mann muss nicht bei der Änderung des Titels den alias ändern, außer die Seite hat einen gänzlich unterschiedlichen Inhalt und der alias würde "dämlich" aussehen hinterher.
Es gibt also zwei "Typen"

Die einen sagen "ich hab den page_alias und wenn ich eine Seite mit einem selflink bearbeite kann ich mit der id nichts anfangen, weil ich dann immer suchen müsste, welche Seite das eigentlich ist"
Die anderen sagen "ich wills mit der ID haben, denn wenn ich meinen page_alias ändere dann muss ich überall nachsehen ob ich nicht einen selflink auf gerade die Seite gemacht habe."

Tja da haben die Programmierer halt die Qual der Wahl - die Frage ist ob man das so machen könnte, dass es zusätzlich zum cmslinker z.B. einen cmslinkerID gibt dass man bei den Eintellungen zur Werkzeugleistemit kleiner Korrektur dann anstatt cmslinker z.B. cmslinkerID eintragen kann.
NaN

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by NaN »

mike-r wrote:
öhm, um da mal einzuhaken, der CMS-linker verlinkt den page-alias. Das heisst, dass man bei einer Änderung des Titels explizit den page-alias AUCH ändern müsste.
Naja, nicht unbedingt.
Es sei denn das Alias hat so gänzlich nichts mehr mit dem eigentlichen Inhalt zu tun.
mike-r wrote:
Cool URIs don't change!

Oder hab ich grad ein Brett vorm Kopf und rede Unsinnn?
Unsinn ist es nicht.
Aber es kommt halt vor, dass ein Alias geändert wird. (Warum auch immer)
Und dann ist es mühsam alle Seiten durchzugehen, ob da nicht evt. noch auf das alte Alias verwiesen wird.

nicmare wrote:
hast du ne idee wie man den linker so erweitern kann, dass man auch die einzelnen news artikel laden und auswählen kann?
Da wäre ein neues Plugin nötig.
Und von TinyMCE Plugins hab ich leider noch keine Ahnung.
Aber nette Idee.
Gabs nicht mal ein Plugin mit dem man sich Links zu einzelnen Modulen zurechtbasteln konnte?
konsument
Forum Members
Forum Members
Posts: 137
Joined: Thu Oct 26, 2006 9:20 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by konsument »

Dank dir NaN!  :D
owr_web wrote: Die einen sagen "ich hab den page_alias und wenn ich eine Seite mit einem selflink bearbeite kann ich mit der id nichts anfangen, weil ich dann immer suchen müsste, welche Seite das eigentlich ist"
Das kann ich nicht ganz nachvollziehen. Denn ich meine seit TinyMCE 2.6.x wird in der WYSIWYG-Ansicht der Menü-Title der Seite ausgegeben auf die man verlinken will. Der Smarty mit der ID steht für den Redakteur "unsichtbar" im Quelltext.

In den vorherigen Versionen des TinyMCE wurde der Smart-Tag direkt in der WYSIWYG-Ansicht ausgegeben. Aber selbst dort wäre es aufgrund des Attributes "text" einfach nachvollziehbar gewesen um welche Seite es sich handelt:

Code: Select all

{cms_selflink page='15' text='Meine Seite'}


Selbst bei CMSMS 1.0.x wurde im FCKeditorX der selflink mit dem Attribut "text" ausgegeben.

Für mich ist die Einbindung des Links über die ID einfach die intelligentere Art und Weise (über die Auswirkungen für SEO möchte ich mir erstmal nicht den Kopf zerbrechen).

Off Topic:

Grundsätzlich würde ich mir ohnehin wünschen, dass CMSMS den Seitenaufruf über die page_id vornimmt und nicht über den page_alias. Denn im Gegensatz zum page_alias ist die page_id garantiert immer unique. Somit wär es auch möglich Seiten zu erstellen, die den selben page_alias haben.
Allerdings bin ich alles Andere als ein Entwickler um die interne Architektur von CMSMS zu verstehen. Von daher wird es nur ein Wunsch bleiben.

Aber ich liebe CMSMS so oder so!  ;D
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by nicmare »

kann man das nicht einfach als parameter in die settings packen wie das andere auch? dann kann man sich das selber aussuchen...finds auch blöd dass die linkbezeichnung den menünamen bekommt. will eigentlich immer den link ganz anders (semantischer) benennen. also diese entwicklung ist auf jeden fall ein rückschritt
owr_bgld

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by owr_bgld »

konsument wrote: Das kann ich nicht ganz nachvollziehen. Denn ich meine seit TinyMCE 2.6.x wird in der WYSIWYG-Ansicht der Menü-Title der Seite ausgegeben auf die man verlinken will. Der Smarty mit der ID steht für den Redakteur "unsichtbar" im Quelltext.
Ne, nicht ganz - wenn ich über tiny den selflink auf eine Seite "einklicke", steht da (Tiny 2.6.4, CMSms 1.6.7) dann folgender html-Quellode:

Code: Select all

<a href="{cms_selflink href='page_alias'}">Menütext</a>
Und der Rest ist schon klar, aber da hast du wieder das Problem bei Änderung des Menütextes - wenn du den änderst kannst du alle Seiten durchschauen ob du nicht dort etwas eingetragen hast, was dann falsch ist.

Wobei sich hier mir die Frage stellt, welchen Aufwand es darstellt, bei den Seiten in der Tabelle auch zusätzlich die ID anzeigen zu lassen. Denn ich glaube, das wäre eine Möglichkeit - Wenn man einen neuen Browser-Tab mit den Seiten offen hat kann man nämlich schnell die ID sehen ohne auf jede Seite mit der Maus gehen zu müssen und dann unten zu schauen welche ID die hat. Aber das ist wieder eine andere Geschichte.

@Linkbezeichnung: Beim Einfügen über tiny wird das ja nur als momentaner Standardwert gesetzt, den ich ohnehin schnell und einfach ändern kann.
konsument
Forum Members
Forum Members
Posts: 137
Joined: Thu Oct 26, 2006 9:20 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by konsument »

nicmare wrote: [...] Will eigentlich immer den link ganz anders (semantischer) benennen. [...]
Das kannst du ja machen, indem du den entsprechenden Text markierst und dann den Link einbindest.
owr_web wrote: Ne, nicht ganz - wenn ich über tiny den selflink auf eine Seite "einklicke", steht da (Tiny 2.6.4, CMSms 1.6.7) dann folgender html-Quellode:

Code: Select all

<a href="{cms_selflink href='page_alias'}">Menütext</a>
Eben - es steht nur im Quellcode so.
konsument wrote: [...] Der Smarty mit der ID steht für den Redakteur "unsichtbar" im Quelltext.
owr_web wrote: Und der Rest ist schon klar, aber da hast du wieder das Problem bei Änderung des Menütextes - wenn du den änderst kannst du alle Seiten durchschauen ob du nicht dort etwas eingetragen hast, was dann falsch ist.
Das wäre aber ein Problem mit dem ich eher leben könnte, als dass der Link nach Unbenennung der Seite ins 404 führt.

In den meisten meiner Fälle heißt der Link ohnehin nicht so wie der Menü- bzw. Seitentitel der Seite auf die ich verlinke. In der Regel wird ein Wort oder Satz verlinkt, der aus dem Kontext heraus schon sinngemäß zur verlinkten Seite passt.

Beispiel: "Wir würden uns freuen wenn Sie uns {cms_selflink href='kontakt' text='kontaktieren'} würden."

Wenn ich hier nun die Kontaktseite beispielsweise nicht mehr "Kontakt" sondern "Kontaktformular" nennen würde, hätte ich ja bereits den Salat mit dem 404.
Meistens sind es eben genau diese kleinen banalen Änderungen die zum 404 führen. Ich rede ja nicht davon eine Seite die "Unternehmensphilosophie" heißt, in "Rezeptvorschläge" umzubenennen. So kann es auch durchaus sein, das aus "Team" hinterher "Unser Team" werden soll.

Aber letztlich muss das wohl jeder für sich selbst entscheiden, was für ihn/das Projekt am angenehmsten ist. Wie man es nun grundsätzlich ändern kann wissen wir ja nun.  ;D
owr_bgld

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by owr_bgld »

ok du meinst ganz hinten im php direkt sozusagen - soweit zurück habe ich dann nicht gedacht.

Nur ist es wirklich eine Grundsatzdiskussion. Wenn aus Kontakt Kontaktformular wird - muss ich den alias auch zu kontaktformular ändern?
Wenn aus Team Unser Team wird - muss ich dann den alias auf "Unser_Team" (man beachte den "_") ändern?

Tja die Erde dreht sich im Kreis, somit werden wir uns auch immer wieder im Kreis drehen. Außer die angesprochene Möglichkeit mit 2 verschiedenen cmslinker - damit (fast) jeder das nutzt was er nutzen will - würde angedacht.
nicmare
Power Poster
Power Poster
Posts: 1150
Joined: Sat Aug 25, 2007 9:55 am

Re: {cms_selflink} mit automatischer Vergabe der page_id

Post by nicmare »

konsument wrote:

Das kannst du ja machen, indem du den entsprechenden Text markierst und dann den Link einbindest.
hast du das teil schon mal seit 1.7 benutzt? so funktioniert es nicht mehr! angenommen ich tippe text und makiere den und möchte mit dem tool  einen link setzen. so lässt er meinen text stehen und fügt dahinter den neuen link mit der bezeichnung=titel_der_seite ein. also total hirnrissig!!!
Post Reply

Return to “Module und Tags”