Seite 1 von 1

Workaround: Linkfehler &contenido! Lösung bis roleout4.4

Verfasst: Di 9. Sep 2003, 21:21
von Arno Simon
Als Workaround ein Link-Modul im Output so aufsetzen:

Code: Alles auswählen

<? echo "<a href=\"";
$urlparse = "CMS_LINK[1]";
$decoded_url=parse_url($urlparse);
$url_query = explode("&",$decoded_url[query]);
for ( $uqidx = 0; $uqidx < count ($url_query); ++$uqidx ) {
 if ( isset( $query_elements ) ) { 
  unset ($query_elements); 
 };
 $query_elements = explode("=", $url_query[$uqidx]);
 if ( $query_elements[0] == "contenido" ) {
  unset ($url_query[$uqidx]);
 };
};
if ( isset ( $sid_1_1 ) ) {
 $url_query[] = "sid_1_1=".$sid_1_1;
};
$encoded_url = implode("&",$url_query);
echo $decoded_url[scheme].$decoded_url[path]."?".$encoded_url."\" target=\"CMS_LINKTARGET[1]\">CMS_LINKDESCR[1]</a>"; ?>
Das entfernt die Contenido-ID und setzt - sofern vorhanden - die sid_1_1-Frontend-Session-ID ein.

Gruß

Arno

Verfasst: Do 11. Sep 2003, 09:36
von 4423
Da scheint ein Fehler im Script zu sein, im Moduleditor (4.3.1) leuchtet das rote Lämpchen am Outputbereich. Schade , ich würde es gerne mal ausprobieren. Aber selbst wenn das Modul funktioniert frage ich mich, wie der Redakteur im Spaw-Editor ohne HTML-Kenntnisse einen Anker a la <a name=xyz"> setzen soll? Das scheint einfach nicht vorgesehen. :cry:

Verfasst: Do 11. Sep 2003, 13:53
von Arno Simon
Das Script, welches ich gepostet habe, war fehlerfrei - auch wenn es noch um die ein oder andere Zeile gekürzt werden kann, was ich bei mir im Nachgang auch noch getan habe.

Ich weiß nicht, wie Du's übernommen hast, aber bei mir Läufts einwandfrei, wie gesagt.

Das Modul, welches Du hier siehst erfodert im übrigen keine andere Eingabe vom Redakteur als die bislang übliche!!! Es ist nur die Ausgabe des Standards "verbogen" worden um den Contenido-Url-Zusatz auszufiltern / zu ersetzen.

Gruß

Arno

Verfasst: Do 11. Sep 2003, 14:54
von 4423
Da hat sich wohl bei mir beim Kopieren auf meinem Mac ein Fehler eingeschlichen, nach Copy/Paste per PC hats dann funktioniert.

Leider löst das nicht mein Problem, da ich auch mit diesem Modul nicht in der Lage bin, <a name="ankername"> zu setzen. Weisst du eine andere Lösung, ich finde die Nutzung von Textankern beim Webdesign schon ziemlich grundlegend :?

Verfasst: Fr 12. Sep 2003, 09:56
von Alex
Hallo!
Es ist nur die Ausgabe des Standards "verbogen" worden um den Contenido-Url-Zusatz auszufiltern / zu ersetzen.
Ich bin noch contenido-Anfänger, daher weiß ich nicht genau, was mit "verbiegen" gemeint ist. Muss ich den neuen Code überall einfügen, wo ich sonst CMS_LINK etc. in einem Modul eingesetzt habe? Oder als neues Modul (aber dann steht doch im Quellcode nur etwas von CMS_LINK[1] - was ist mit den anderen?).

auch wenn es noch um die ein oder andere Zeile gekürzt werden kann, was ich bei mir im Nachgang auch noch getan habe.
Würdest du so nett sein und das auch noch posten?

Vielen Dank!
Alex

Verfasst: Fr 12. Sep 2003, 18:18
von Arno Simon
Hallo Alex
Alex hat geschrieben:Ich bin noch contenido-Anfänger, daher weiß ich nicht genau, was mit "verbiegen" gemeint ist. Muss ich den neuen Code überall einfügen, wo ich sonst CMS_LINK etc. in einem Modul eingesetzt habe? Oder als neues Modul (aber dann steht doch im Quellcode nur etwas von CMS_LINK[1] - was ist mit den anderen?).
Contenido-Anfänger bin ich auch noch ;) Arbeite erst seit ca. 2 Wochen damit.

AFAICS mußt Du den von mir erstellten Code überall dort einsetzen, wo Du normalerweise das "Link-Standardgedönse" einsetzt. Setzt Du in einem Template mehrere Links ein, mußt Du auch entsprechend viele Link-Module verwenden in welchen Du die laufende Nummer immer entsprechend hochsetzt.

Das schreiben universell einsetzbarer Module für Contenido hat sich mir noch nicht erschlossen, weil mir auch noch kein entsprechendes Modul in die Finger gefallen ist und die Dokumentation in der Hinsicht IMHO etwas dünn ist. So etwas wie eine Entwicklerdokumentation gibt es AFAIK auch noch nicht.
Alex hat geschrieben:Würdest du so nett sein und das auch noch posten?
Kein Problem:

Code: Alles auswählen

<? $urlparse = "CMS_LINK[1]";
 $decoded_url=parse_url($urlparse);
 $url_query = explode("&",$decoded_url[query]);
 for ( $uqidx = 0; $uqidx < count ($url_query); ++$uqidx ) {
  unset ($query_elements); 
  $query_elements = explode("=", $url_query[$uqidx]);
  if ( $query_elements[0] == "contenido" ) {
   unset ($url_query[$uqidx]);
  };
 };
 if ( isset ( $sid_1_1 ) ) {
   $url_query[] = "sid_1_1=".$sid_1_1;
 };
 $encoded_url = $decoded_url[scheme].$decoded_url[path]."?".implode("&",$url_query);
 echo "<a href="".$encoded_url."" target="CMS_LINKTARGET[1]">CMS_LINKDESCR[1]</a>"; ?>
Die Änderungen sind im großen und ganzen IMHO aber nicht wesentlich.

Gruß

Arno

Verfasst: Sa 13. Sep 2003, 07:22
von Alex
Vielen, vielen Dank!

Alex

Verfasst: Mi 17. Sep 2003, 07:02
von Alex
Hallo!

Ich habe den Code jetzt überall dort eingefügt, woe normalerweise CMS_LINK stehen würde und auch die [x] angepasst. Trotzdem bleibt mein Problem:
Ich schaffe es nicht eine Mailadresse zu verlinken. mailto:... geht nicht, dann hängt er immer meine URL vorher dran

Bei Adressen mit "/" werden die immer noch ersetzt. Die Adresse funktioniert daher nicht.

Wie macht Ihr das?

Alex

Verfasst: Do 9. Okt 2003, 10:25
von 4423
@ Arno

Ist es möglich, den Code in das Standard-Bildmodul einzubauen und wenn ja, wie??

Hintergrund: Wenn ich ein Bild per Bildmodul intern verlinke, wird bei mir immer die SessionID mit übergeben.

Vielen Dank für deine Hilfe und einen schönen Tag

jens