[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
& in Link bei Textile [gelöst] - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

& in Link bei Textile [gelöst]

18. Apr 2011, 13:27

Hi Leute,
hab da ein Problem: wenn ich in einem Textile-Modul (R4.3.2 und Textile mit MarkItUp) einen Link eingebe ("txt":redaxo://1) bekomme ich im Frontend die Ausgabe href=index.php?article_id=1&clang=0
Wenn ich den Link im TinyMCE sezte bekomme ich die richtige Ausgabe href=index.php?article_id=1&clang=0
Wäre schön, wenn sich das abstellen ließe, da ich eigentlich den Textile-Editor vieeeel lieber mag als den TinyMCE :wink:
Merci
Tito
Zuletzt geändert von Tito am 25. Feb 2012, 17:57, insgesamt 1-mal geändert.


Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: & in Link bei Textile

18. Apr 2011, 19:32

Scherzkeks :roll:
Es geht nicht um Zeichen im Text sondern um den Link.
Wenn der Link href=index.php?article_id=1&clang=1 lautet wird die Get-Variable clang nicht mehr erkannt da eine Get-Variable mit dem Namen "amp;clang" übergeben wird und nicht "clang". Man wird dann auf die Seite mit clang=0 weitergeleitet da für das Script keine clang-Variable übergeben wurde.
Interessanterweise gibt das im TinyMCE-Modul den Link richtig aus aber nicht das Textile-Modul.

Keiner eine Idee, was man bei Textile ändern muss, damit das richtig funktioniert?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: & in Link bei Textile

18. Apr 2011, 22:55

Tito hat geschrieben:Keiner eine Idee, was man bei Textile ändern muss, damit das richtig funktioniert?
Das hängt nicht mir Textile zusammen.
Kannst du überprüfen, was im Quellcode steht?
Steht da wirklich

Code: Alles auswählen

&
?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: & in Link bei Textile

18. Apr 2011, 23:11

Schuldige,

glaube hier gibts nicht nur ein Scherzkeks :O).

Tito sagt:
falsch: index.php?article_id=1&clang=0
richtig: index.php?article_id=1&clang=0

was ist an Falsch denn Falsch, ist doch das selbe, nur richtiger. *inDudenschau*
optimaler *inDudenschau*
exakter *inDudenschau*

ach ich las das :O)

Cheffchen
Zuletzt geändert von Cheffchen am 18. Apr 2011, 23:12, insgesamt 1-mal geändert.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: & in Link bei Textile

18. Apr 2011, 23:11

Cheffchen hat geschrieben:falsch: index.php?article_id=1&clang=0
richtig: index.php?article_id=1&clang=0
Genau anders rum... =)

Ansonsten bekommst du vom Validator Fehlermeldungen wie "general entity 'clang' not defined".
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: & in Link bei Textile

18. Apr 2011, 23:51

Jepp, im Quelltext steht wirklich

Code: Alles auswählen

<a href="index.php?article_id=3&amp;clang=0">
Sorry wenn ich mich da unklar ausgedrückt habe.

kubber
Beiträge: 34
Registriert: 20. Mär 2007, 11:25

Re: &amp; in Link bei Textile

23. Nov 2011, 15:48

Hallo,

habe genau das gleiche Problem in Verbinung mit Markitup Modul.
Sobald ich einen Link auf die zweite Sprache (=1) habe kommt ein "amp;" rein und es wird auf die
Default Sprache (=0) gelinkt:

Falsch: ...index.php?article_id=27&clang=1

Richtig wäre: ...index.php?article_id=27&clang=1

Gab es damals eine Lösung?

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: &amp; in Link bei Textile

25. Feb 2012, 17:56

So, ich hatte heute erneut das Problem bei Textile mit MarkitUp. Die generierten Links sahen in der Browserzeile wieder so aus: index.php?article_id=xy&clang=1.
Nachdem ich mir das hier alles noch einmal angeschaut habe ist das Brett von meiner Stirn gefallen :)
Das Problem liegt im Quellcode. Da steht wieder

Code: Alles auswählen

<a href="index.php?article_id=3&amp;clang=0">
Die Lösung ist natürlich wie immer einfacher als man denkt: In der Modul-Ausgabe habe ich

Code: Alles auswählen

$textile = new Textile; 
$text = $textile->TextileThis($text);
durch eine Zeile ergänzt:

Code: Alles auswählen

 $textile = new Textile; 
$text = $textile->TextileThis($text);
$text = str_replace('&amp;','&',$text);
Datt funzt :)

kubber
Beiträge: 34
Registriert: 20. Mär 2007, 11:25

Re: &amp; in Link bei Textile [gelöst]

28. Feb 2012, 17:59

Hallo Tito,

super das es bei Dir klappt - leider habe ich wohl ein anderes Modul.
Kannst Du vielleicht mir helfen wo ich da was ändern muss...finde nicht die richtige Stelle...

Wäre super falls Du mal einen Blick drauf werfen könntest...

Code: Alles auswählen

<?php


$rexname = base64_decode("REX_VALUE[7]"); 
$rexname = unserialize($rexname);
$GLOBALS['rexname'] = $rexname;



///////////////////////////////////////////////////////////////////////////
//// CONFIGURATION
///////////////////////////////////////////////////////////////////////////
$resize=true;

# Standard-resize
$resizeBreite[1]=260;
$resizeAbBreite[1]=260;

$resizeBreite[2]=260;
$resizeAbBreite[2]=260;


# CTYPE-resize - nicht mehr genutz, weil im Template pro Ctype Module zugeordnet werden koennen. Deshalb erstellen wir fuer weitere Ctypes eigene Module

//ctype 1

//if ($this->ctype==1 || $this->templatectype==1) {
//	$resizeBreite[1]=260;
//	$resizeAbBreite[1]=260;

//	$resizeBreite[2]=260;
//	$resizeAbBreite[2]=260;
//}

//ctype 2

//if ($this->ctype==2 || $this->templatectype==2) {
//	$resizeBreite[1]=200;
//	$resizeAbBreite[1]=200;

//	$resizeBreite[2]=200;
//	$resizeAbBreite[2]=200;
//}

# Resize (if selected by the user)
if ($rexname['picresize'][1]>0) {
	$resizeBreite[1]=$rexname['picresize'][1];
	$resizeAbBreite[1]=$rexname['picresize'][1];
}

if ($rexname['picresize'][2]>0) {
	$resizeBreite[2]=$rexname['picresize'][2];
	$resizeAbBreite[2]=$rexname['picresize'][2];
}


# Redaxo-Backend-resize
if ($REX['REDAXO']) {
	$resizeBreite[1]=100;
	$resizeAbBreite[1]=100;

	$resizeBreite[2]=100;
	$resizeAbBreite[2]=100;
} 


# Galerie (Popup)
$popupType = "fancybox";


///////////////////////////////////////////////////////////////////////////
//// LANGUAGE 
///////////////////////////////////////////////////////////////////////////

$L = new gn2dev_lang;
# deutsch
$L->addLang(0,'
	site=Site
');

# english
$L->addLang(1,'
	site=Site
');


///////////////////////////////////////////////////////////////////////////
//// TEMPLATE
///////////////////////////////////////////////////////////////////////////
ob_start();
?>
<div class="section-txtpic txtpic-{$sliceID}-1 {if $spalte2 eq "yes"}col-li{else}col-full{/if} {$spalte1_class}">
	{if $spalte1_h2 ne ""}
		<h2>{$spalte1_h2}</h2>
	{/if}

	{if $spalte1_pic1 ne "" or $flash_1 ne ""}
	<p class="pic">
		{if $flash_1 ne ""}<a class="flash{$sliceID}_1" href="{$d}files/{$flash_1}">{/if}
		{if $spalte1_piclink ne ""}<a{if $gallerytype ne ''} class="{$gallerytype}"{/if} href="{$spalte1_piclink}">{/if}<img src="{$d}{$spalte1_pic1}" alt="{$spalte1_alt1}" />{if $spalte1_piclink ne ""}</a>{/if}
		{if $flash_1 ne ""}</a>{/if}
		
		
		{if $spalte1_sub1 ne ""}
		<span class="picsub" style="width:{$spalte1_sub1_breite}px">{$spalte1_sub1}</span>
		{/if}
		
		{if $flash_1 ne ""}{$flash_1_script}{/if}
	</p>
	
	
	{/if}
	


	{if $spalte1_text ne ""}
	<div class="sectiontext">
		{$spalte1_text}
	</div>
	{/if}
</div>

{if $spalte2 eq "yes"}
<div class="section-txtpic txtpic-{$sliceID}-2 col-re {$spalte2_class}">
	{if $spalte2_h2 ne ""}
		<h2>{$spalte2_h2}</h2>
	{/if}


	{if $spalte2_pic1 ne "" or $flash_2 ne ""}
	<p class="pic">
		{if $flash_2 ne ""}<a class="{$d}flash{$sliceID}_2" href="files/{$flash_2}">{/if}
		{if $spalte2_piclink ne ""}<a{if $gallerytype ne ''} class="{$gallerytype}"{/if} href="{$spalte2_piclink}">{/if}<img src="{$d}{$spalte2_pic1}" alt="{$spalte2_alt1}" />{if $spalte2_piclink ne ""}</a>{/if}
		{if $flash_2 ne ""}</a>{/if}
		
		
		{if $spalte2_sub1 ne ""}
		<span class="picsub" style="width:{$spalte2_sub1_breite}px">{$spalte2_sub1}</span>
		{/if}
		{if $flash_2 ne ""}{$flash_2_script}{/if}
	</p>
	
	{/if}

	{if $spalte2_text ne ""}
	<div class="sectiontext">
		{$spalte2_text}
	</div>
	{/if}
</div>
{if $REX.REDAXO ne "true"}<div class="colclear"></div>{/if}

{/if}
<?php
///////////////////////////////////////////////////////////////////////////
//// PHP
///////////////////////////////////////////////////////////////////////////
$M = gn2dev_smarty::getInstance();



#spalte 1
$M->assign('spalte1_h2',"REX_VALUE[3]");
$M->assign('spalte1_piclink',"REX_VALUE[17]");
$M->assign('rexname',$rexname);
$M->assign('sliceID',"REX_SLICE_ID");

$input =<<< EOT
REX_HTML_VALUE[4]
EOT;
$textile = new Textile; 

$text = ""; $input=strip_tags($input);
if ("REX_VALUE[4]"!="") $text = $textile->TextileThis($input);
$M->assign('spalte1_text',$text);


if ("REX_FILE[1]"!="") {
	$file = "REX_FILE[1]";
	
	if (file_exists($REX['HTDOCS_PATH'].'files/'.$file)) {
		$src = 'files/'.$file;
		$media = OOMedia::getMediaByFileName($file);
		
		$width = $media->getWidth();
		
		if ($media->getWidth() > $resizeAbBreite[1]) {
			$src = 'index.php?rex_resize='.$resizeBreite[1].'w__'.$file;
			$width = $resizeBreite[1];			
		}
		
		$M->assign('spalte1_pic1',$src);
		$M->assign('spalte1_alt1',"REX_VALUE[14]");
		$M->assign('spalte1_sub1',"REX_VALUE[8]");
		$M->assign('spalte1_sub1_breite',$width-4);
		
	}
}
//alignment
$class = "";
if ("REX_VALUE[12]"!="") {
	$class .= ' '."REX_VALUE[12]";
}
if (is_array($rexname['css1'])) {
	foreach ($rexname['css1'] as $k=>$v) {
		$class .= ' '.$v;
	}
}
$class=trim($class);

$M->assign('spalte1_class',$class);



if ("REX_VALUE[19]"=='toggle-show') {
	$M->assign('spalte2','yes');
	$M->assign('spalte2_h2',"REX_VALUE[5]");
	$M->assign('spalte2_piclink',"REX_VALUE[18]");
	
	$input =<<< EOT
REX_HTML_VALUE[6]
EOT;
	$textile = new Textile; $text = ""; $input=strip_tags($input);
	if ("REX_VALUE[6]"!="") $text = $textile->TextileThis($input);
	$M->assign('spalte2_text',$text);



	if ("REX_FILE[2]"!="") {
		$file = "REX_FILE[2]";
		
		if (file_exists($REX['HTDOCS_PATH'].'files/'.$file)) {
			$src = 'files/'.$file;
			$media = OOMedia::getMediaByFileName($file);
			
			$width = $media->getWidth();
		
			if ($media->getWidth() > $resizeAbBreite[2]) {
				$src = 'index.php?rex_resize='.$resizeBreite[2].'w__'.$file;
				$width = $resizeBreite[2];			
			}

			
			
			$M->assign('spalte2_pic1',$src);
			$M->assign('spalte2_alt1',"REX_VALUE[15]");
			$M->assign('spalte2_sub1',"REX_VALUE[9]");
			$M->assign('spalte2_sub1_breite',$width-4);
			$M->assign('spalte2_pic1',$src);
			
			
		}
	}
}
//alignment
$class = "";
if ("REX_VALUE[13]"!="") {
	$class .= ' '."REX_VALUE[13]";
}
if (is_array($rexname['css2'])) {
	foreach ($rexname['css2'] as $k=>$v) {
		$class .= ' '.$v;
	}
}
$class=trim($class);
$M->assign('spalte2_class',$class);




// flash files
if ("REX_FILE[3]"!="" && !$REX['REDAXO']) {
	$file = "REX_FILE[3]";		
	if (file_exists($REX['HTDOCS_PATH'].'files/'.$file)) {
		$M->assign('flash_1',$file);
		$script = '
		<script type="text/javascript">
				$(document).ready(function()
				{	$(\'.flash'."REX_SLICE_ID".'_1\').media( { 
						width: '.$rexname['flashbreite_1'].', 
						height: '.$rexname['flashhoehe_1'].',
						autoplay: true,
						flashVersion: 3,
						expressInstaller: false,
						params:    { wmode:\'transparent\' }
					});
				});
		</script>';
		$M->assign('flash_1_script',$script);	

	}
}


if ("REX_FILE[4]"!="" && !$REX['REDAXO']) {
	$file = "REX_FILE[4]";		
	if (file_exists($REX['HTDOCS_PATH'].'files/'.$file)) {
		$M->assign('flash_2',$file);
		$script = '
		<script type="text/javascript">
				$(document).ready(function()
				{	$(\'.flash'."REX_SLICE_ID".'_2\').media( { 
						width: '.$rexname['flashbreite_2'].', 
						height: '.$rexname['flashhoehe_2'].',
						autoplay: true,
						flashVersion: 3,
						expressInstaller: false,
						params:    { wmode:\'transparent\' }
					});
				});
		</script>';
		$M->assign('flash_2_script',$script);
		
	}
}




if ($REX['REDAXO']) {
	$M->assign('d','../');
} else {
	$M->assign('d',$d);
}


$M->assign('REX',$REX);
$M->assign('lang',$L);
$M->assign('slice_id',"REX_SLICE_ID");
$M->smarttemplate = ob_get_contents();
$M->smarttemplate = trim($M->smarttemplate);
$M->registerTemplate('textbild.htm',trim($M->smarttemplate));
ob_end_clean();
$M->display('rex:textbild.htm');

rex_register_extension('OUTPUT_FILTER', 'gn2dev_tools__backend_scripts');
?>

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: &amp; in Link bei Textile [gelöst]

28. Feb 2012, 19:20

Ok, dann werf ich mal ...

Versuch mal folgende Zeilen wie angegeben zu ändern:

Code: Alles auswählen

Zeile 174:
if ("REX_VALUE[4]"!="") {$text = $textile->TextileThis($input);$text = str_replace('&amp;','&',$text);}

und Zeile 224:
if ("REX_VALUE[6]"!="") {$text = $textile->TextileThis($input);$text = str_replace('&amp;','&',$text);}

kubber
Beiträge: 34
Registriert: 20. Mär 2007, 11:25

Re: &amp; in Link bei Textile [gelöst]

1. Mär 2012, 11:30

Hallo Tito,

Vielen Dank! Genau das wars!
Wieder ein Problem gelöst

Gruß

Zurück zu „Allgemeines [R4]“