[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Weiterleitung auf externe Adresse - Modul - 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/
Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

Weiterleitung auf externe Adresse - Modul

9. Jun 2007, 21:43

Hallo,

ich bin neu hier und befasse mich seit kurzer Zeit mit dem Redaxo-CMS.

Ich habe jetzt längere Zeit hier im Forum nach einer Lösung gesucht und auch zum Teil die Antwort gefunden - nur ein kleines Problem besteht nach wie zuvor.

Nun zu dem Problem:
Ich möchte in der Navigation eine Kategorie anlegen, die einen externen Link beinhaltet - soweit hab ich nun auch das Modul dazu gefunden (Weiterleitung auf externe Adresse).

Ich möchte folgendes erreichen: In der Navigation durch klick auf den Link, den Link in einem neuem Fenster öffnen, normalerweise geschieht dies ja durch Zuweisung von target="blank" oder target="_blank" - doch beides funktioniert nicht in der Ausgabe beim Modul. Nun bin ich wirklich ratlos und bitte euch hier um Hilfe, was sehr lieb wäre! Anbei folgend den Code der Ausgabe vom Modul (geändertes hab ich mit Fettschrift hervorgehoben.


<?php
//---MODULE BY-------------------------------
//-- dadz.net
//-- F. Spalthoff
//-- www.dadz.de / www.dadz.net
//-----------------------------------------------
?>
<?php
if("REX_VALUE[1]" != ""){
?>

<?php

if($REX['REDAXO']!=1){
ob_end_clean();
header("Location: REX_VALUE[1]");
exit;
}else{
echo "Weiterleitung zu <a href='REX_VALUE[1]' target='_blank'>REX_VALUE[1]</a>";
}
?>
<?
}
?>

Liebe Grüsse,
Aradina

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

9. Jun 2007, 22:11

Hallo und willkommen bei redaxo
Benütze bitte für code die

Code: Alles auswählen

 Blöcke, danke.

Ich hab dir mal den code den du mir gegeben hast kommentiert und erklährt damit du weißt was er macht

[code]// "REX_VALUE[1]" wird immer durch den gespeicherten wert ersetzt den du im eingabebereich ändern kannst
if("REX_VALUE[1]" != ""){
	if($REX['REDAXO']!=1){ // wenn nicht im Backend
		ob_end_clean(); // lösche den alles was bisher ausgegeben werden hätte sollen
		header("Location: REX_VALUE[1]"); // Leite die Anfrage direkt zu REX_VALUE[1] um, diese url erscheint dann auch oben in der adresszeile des browsers
		exit; // bricht das scipt ab
	}
	else{ // also im backend
		echo 'Weiterleitung zu <a href="REX_VALUE[1]" target="_blank">REX_VALUE[1]</a>'; // dieser link wird nur im backend ausgegeben
	}
}
Das müsste eingentlich schon so passen und wenn du den link im backend verwendest müsste sich auch ein neues Fenster öffnen
Da du den externen link aber im Menü haben willst nützt dir das nichts.
Du musst den Code ändern der dir das Menü macht, also im Template.
Und dort ist es für einen Link am einfachsten wenn du ihn einfach manuell am Ende dazuschreibst.
Sonst poste mal den Code von der Navigation dann schauen wir weiter.

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

9. Jun 2007, 22:27

Erstmal danke für den Hinweis mit dem "Code-Fenster" - werde mich in Zukunft daran halten.

Hier mal der Link zu der Seite: www.gscbodensee.de/cms/ (subdomain kommt noch!)

Im Navigationsmenü links habe ich den Link "GSC-Blog" als Kategorie angelegt mit dem Modul "Weiterleitung auf externe Adresse". Der Link funktioniert ja - wenn ich ihn anklicke öffnet er sich aber im gleichen Fenster.

So nun zum Code vom Template:
Mein erster Gedanke war an sich ja, den Link einfach im Template miteinzubauen - dies hat aber dann nicht die gleichen Formatierungen angenommen wie das Menü haben sollte. Ich poste hier gleich mal den Code mit vom Template:

Code: Alles auswählen

<?php

error_reporting(E_ALL ^ E_NOTICE); // Notices ausschalten

//	Setting
////////////////////////////////////////////////////////////////////////////////
$navTemplateId = "2";

ini_set('arg_separator.output',  '&'); 
ini_set ( "arg_separator.output", ";");
ini_set ( "url_rewriter.tags", "a=href");

//	Code
////////////////////////////////////////////////////////////////////////////////
	$article = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
	$articleK = $article->getValue("_keywords");
	$articleD = $article->getDescription();
	
	
	
	include $REX['INCLUDE_PATH']."/generated/templates/$navTemplateId.template";
	
	if($this->getValue("description") != "") {
		$meta_beschreibung = htmlspecialchars($this->getValue("description"));
	}
	else {
		$meta_beschreibung = htmlspecialchars($articleD);
	}
	
	if($this->getValue("keywords")!= "") {
		$meta_suchbegriffe = htmlspecialchars($this->getValue("keywords"));
	} 
	else {
		$meta_suchbegriffe = htmlspecialchars($articleK);
	} 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title><? print $REX['SERVERNAME'].' | '.$this->getValue("name"); ?></title>
<meta name="keywords" content="<?php print $meta_suchbegriffe; ?>" />
<meta name="description" content="<?php print $meta_beschreibung; ?>" />
<link rel="stylesheet" type="text/css" href="<? echo $REX['HTDOCS_PATH'] ?>files/main.css" media="screen" />
</head>
<body>
<div><a name="top"></a></div>
<div id="website">

<!-- start HEADER -->
	<div id="header">
		<div id="logo">
			<a href="/index.php" title="Zur&uuml;ck zur Startseite"><? print $REX['SERVERNAME']; ?></a>
		</div>
		
		<?php
		if ($navHeader != "") {
			print '<div id="header-nav">'.$navHeader.'</div>';
		}
		?>
		
		<div id="breadcrumb"><?php print $breadcrumb; ?></div>
	</div>
<!-- end header -->

<!-- start #content -->	
	<div id="content">
	<div id="content2">
		<div id="navigation">
			<?php print $navLeftCol; ?>
		
		</div>
		
		<div id="main">
					
			<div id="main-block">
			<div id="main-block2">
				<?php
				print $this->getArticle();
				?></ br>
			</div>
			</div>
		</div><!-- end #main -->
		<br class="clear" />
	</div>
	</div>
<!-- end #content -->


</div> <!-- end #website -->

<div class="footer">
<div class="footer2">
	<p class="col-left">&copy; CMS-System by <a href="http://www.redaxo.de">REDAXO</a></p>

	<br class="clear" />
</div>
</div>

</body>

</html>
Eingefügt hatte ich folgendes:

Code: Alles auswählen

<!-- start #content -->	
	<div id="content">
	<div id="content2">
		<div id="navigation">
			<?php print $navLeftCol; ?>
		  <a href="http://xxx.de target="blank">GSC-Blog</a>
		</div>
Im Grunde sollte der Link dann eigentlich die Formatierung von den id-tags annehmen - nur da kommt das andere Problem, dass der Link dann ganz am Ende erscheint und nicht nach der Rubrik "Abteilungen"...

Und nun schauen wir mal weiter :-) bin schon gespannt ob es eine Lösung gibt :-)
Zuletzt geändert von Aradina am 24. Aug 2008, 20:11, insgesamt 1-mal geändert.

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

9. Jun 2007, 23:38

Hallo
du hast leider nur das haupt-template gepostet, nicht aber das in dem du die Navigation hast. (siehe code)

Code: Alles auswählen

$navTemplateId = "2"; 
include REX['INCLUDE_PATH']."/generated/templates/$navTemplateId.template";
Das problem mit dem einfach unten dran hängen ist halt dass die Navigation in einer Liste ist. Wenn du den Punkt in die gleiche Liste schreiben willst wirst du die Navi modifizieren müssen.

poste mal das Template mit der id 2

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

9. Jun 2007, 23:45

Ich hoffe das ist das richtige. Ich habe nur 3 Templates im Verzeichnis /generated/templates/

Code: Alles auswählen

<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


/* START 1st level categories */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
		
	if ($lev1->isOnline()):
		if ($lev1->getId() == $path1) {
			$navLeftCol .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
			if ($lev1->getId() != "1") {
				$sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
			}
			$titlePath .= ' >> '.$lev1->getName();
		}
		// 1st level - no active link
		else {
			$navLeftCol .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
		}
			
		// 1st level had categories? -> go on 
		$lev1Size = sizeof($lev1->getChildren());
	
		if ($lev1Size != "0"):
			$navLeftCol .= '<ul class="nav2nd">';


			// START 2nd level categories 
			foreach ($lev1->getChildren() as $lev2):
						
				if ($lev2->isOnline()):
	
				// 2nd level - active link
					if ($lev2->getId() == $path2) {
						$navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
						$sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
						$titlePath .= ' >> '.$lev2->getName();
					}
					// 2nd level - no active link
					else {
						$navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
					}
			
				endif;			
				
			endforeach;
			// END 2nd level categories 
		
			$navLeftCol .= '</ul>';
		endif; // END by if ($lev1Size != "0"):
		
		$navLeftCol .= '</li>';

	endif; // END by if ($lev1->isOnline()) 
}
$navLeftCol .= '</ul>';
// END 1st level categories 

if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="/index.php">Startseite</a> '.$sitePath;


?>

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

10. Jun 2007, 00:12

Hallo, dieser Code müsste jetzt funktionieren. Er prüft jetzt jedes mal die id ob sie die gewünschte (externe) ist, wenn ja überspringt er den teil mit dem normalen link-erzeugen und erzeugt einen exteren.
Du solltest den link aber noch irgendwie kennzeichnen, damit es für den Besucher erkenntlich ist das es sich hier um einen externen handelt.

Code: Alles auswählen

<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


/* START 1st level categories */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
      
   if ($lev1->isOnline()):    
	if($lev1->getId() !== "45"){ // dieser teil wird übersprungen wenn die categorie_id/artikel_id die ist die du extern verlinken willst
	      if ($lev1->getId() == $path1) {
	         $navLeftCol .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
	         if ($lev1->getId() != "1") {
	            $sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
	         }
	         $titlePath .= ' >> '.$lev1->getName();
	      }
	      // 1st level - no active link
	      else {
	         $navLeftCol .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
	      }
	}
	else{ # hier der externe link
		$navLeftCol .= '<li><a target="_blank" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
	}
         
      // 1st level had categories? -> go on

# hier hab ich nichts mehr verändert

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

10. Jun 2007, 00:23

Ich weiss nicht wie ich dir danken soll! Es funktioniert wunderbar und ich danke dir von Herzen!

Das mit dem Kennzeichnen muss ich noch schauen wie ich das mache - da es sich nur um einen kleinen Verein handelt, denke ich dass ich das nochmals mit meinem Kumpel besprechen werde, wie er es möchte!

Nochmals meinen herzlichen Danke an Dich und deine Mühe!

Lieben Gruss und eine Gute Nacht,
Aradina

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

10. Jun 2007, 00:24

Immer wieder gerne
gute nacht

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

10. Jun 2007, 00:54

Ach ich hab grad noch ein Problem gefunden:

Betrifft nicht gerade das Thema, aber vllt weisst du woran das liegt:

Unter FF werden alle Grafiken einwandfrei angezeigt, jedoch unter IE nicht :-(
Zumindest nicht die von den Abteilungen. Weisst du evt woran das liegt?

Nochmals danke und gute Nacht!

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

10. Jun 2007, 22:03

Hallo
Also ich verwende Ubuntu (linux) + firefox, aber auch in meinem ie4linux (ein Projekt um den IE für webentwickler unter Linux verfügbar zu machen) sehe ich alle Bilder wie im firefox.
Am ehesten liegt es an der groß/kleinschreibung oder Sonderzeichen wie Lehrzeichen oder Umlaute.

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

11. Jun 2007, 09:15

Hallo,

wenn ich designe (Grafikbearbeitung), dann verwende ich Photoshop unter Windows - ansonsten benutze ich lieber Linux. Da ich Photoshop seit 1996 kenne und auch nutze, fällt es mir schwer auf Gimp oder alternative Programme umzusteigen, da ich Photoshop ziemlich gut kenne.

An den Dateinamen kann es wohl nicht wirklich liegen, da ich seit 2001 im Webbereich tätig bin und eigentlich immer darauf achte keine Sonderzeichen wie Leerzeichen, Umlaute nutze. Die Dateinamen sind bei mir immer klein geschrieben und ohne Leerzeichen.

Nun ich werd mal schauen was ich zu dem Problem noch finden kann, sobald ich Zeit habe und dran weiter arbeite.

benny
Beiträge: 171
Registriert: 29. Mai 2007, 09:57
Wohnort: Fulda

11. Jun 2007, 13:23

Dein Bild-Anzeige-Problem kann ich auch mit dem IE 6.0 nicht nachvollziehen; Die Bilder werden alle genauso wie im FF angezeigt...
mfg Benny

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

11. Jun 2007, 14:11

Also bei meinem Partner, wie auch bei mir werden die Fotos zb unter "Abteilungen" etc nicht angezeigt mit dem IE 6. Die Grafiken vom Design (Header, Content, Footer) werden korrekt dargestellt.

Dieses Problem hat ein Bekannter mit der Webseite auch - nun bin ich echt am grübeln, woran das liegen könnte.


/*edit*/
ich habe gerade festgestellt, dass es wohl an der Subdomain liegt. Wenn ich direkt über den Verzeichnispfad mit www.gscbodensee.de/cms/ auf die Webseite gehe, funktioniert das einwandfrei mit IE und mit FF. Wenn ich aber über auf die Seite gehe, dann werden unter IE die Grafiken nicht angezeigt - komisch oder?
Zuletzt geändert von Aradina am 24. Aug 2008, 20:12, insgesamt 1-mal geändert.

benny
Beiträge: 171
Registriert: 29. Mai 2007, 09:57
Wohnort: Fulda

11. Jun 2007, 14:29

Wie gesagt, bei mir (IE 6.0) sehe ich alle Bilder.
Zum Beispiel unter Abteilungen > Fußball

Aber wozu brauchst du denn das

Code: Alles auswählen

ismap="ismap"
in dem img-Tag?

Und weshalb ist hinter Jedem Tag ein "/"?
Ich weiß nicht ob das was damit zu tun hat, aber ansonsten sieht die Angabe des Bildes ja normal aus...
Zuletzt geändert von benny am 11. Jun 2007, 16:08, insgesamt 1-mal geändert.
mfg Benny

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

11. Jun 2007, 14:33

Öhm da fragst du mich etwas zuviel! Ich hab das Template von der Demo genommen und abgeändert (farblich, grafisch) - da fragst du lieber nicht mich, was das da drin zu suchen hat - vllt weiss es jemand anders?!

benny
Beiträge: 171
Registriert: 29. Mai 2007, 09:57
Wohnort: Fulda

11. Jun 2007, 14:44

Ich weiß nicht, ob das so falsch oder richtig ist - nur kenn ich es nicht so. Aber wenn das an sich das Standard Template ist, dann sollte das so funktionieren...

Könnte es evtl. ein Problem in EUREM IE sein? Also dass der irgendwie über nen Proxy abruft und der Firefox nicht?

Der Unterschied zu den Bildeen ansonsten ist ja nur: Die, die DU und dein Kollege im IE seht, die Bilder sind, die übers CSS angegeben werden. Hingegen die Bilder, die ihr nicht seht als <img>-Tag angegeben sind.

Moment: Hab grad dein Edit gesehn:

Ja, dass ist klar: Das bild ist ja auch mit <img ... src="/cms/files/h-nagel_kl.jpg" ...> angegeben.

Das heißt, nur dann, wenn es einen einen Ordner cms noch gibt, wird das Bild richtig angezeigt. Wenn du dann allerdings über die subdomain zugreifst, bist du ja schon in dem Ordner cms...

Du musst das files Verzeichnis mit 'HTDOCS_PATH' holen und da drann das Bild hängen.
Allerdings weiß ich nicht ganz, wo man das wie angibt. Probier doch mal in "Specials" die Server Variable entsprechend zu setzen...
mfg Benny

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

11. Jun 2007, 15:28

Hi,
benny hat geschrieben:Aber wozu brauchst du denn das

Code: Alles auswählen

ismap="ismap"
in dem img-Tag?
Das wird vom TinyMCE eingaut, damit die Bilder via ImageResize verkleinert werden.

Gruß,
Markus

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

11. Jun 2007, 16:11

Hallo Benny,

herzlichen Dank! Darauf bin ich nun nicht gekommen. Das Problem war wohl, dass ich beim einrichten der Seite noch über den Verzeichnispfad ohne Subdomains gegangen bin und erst zum Schluss die Subdomain eingerichtet habe und ergo sind natürlich die Verlinkungen zu den Grafiken dann anders als unter der Subdomain, was mir noch nicht bekannt war (wie schon erwähnt: das ist meine erste Seite mit einem CMS).

Die kleine Korrektur ging ja ganz schnell und nun funktioniert alles so wie es soll! Danke dir nochmals und auch den anderen Helfer hier herzlich für die liebe Hilfe!

Liebe Grüsse,
Aradina

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

11. Jun 2007, 18:07

Hier eine beschreibung für das ismap
http://de.selfhtml.org/html/grafiken/ve ... ver_seitig

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

11. Jun 2007, 19:23

Aradina hat geschrieben:Das Problem war wohl, dass ich beim einrichten der Seite noch über den Verzeichnispfad ohne Subdomains gegangen bin und erst zum Schluss die Subdomain eingerichtet habe und ergo sind natürlich die Verlinkungen zu den Grafiken dann anders als unter der Subdomain, was mir noch nicht bekannt war (wie schon erwähnt: das ist meine erste Seite mit einem CMS).
Das liegt nicht am CMS sondern am Editor, wie der die Links setzt^^ Du verwendest wahrscheinlich den TinyMCE (wysiwyg) und dieser hats leider nicht so mit dem wechseln von unterordner auf (Sub)Domain ;)

mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

Aradina
Beiträge: 10
Registriert: 9. Jun 2007, 21:35

12. Jun 2007, 06:05

@ Dr KillerJoe

gut möglich - wobei ich den WYSIWYG-Editor nur benutze, wenn ich bestimmte Formate verwende, sowie tables, Grafiken :-)

Ansonsten nehme ich gerne einfach nur den normalen Editor für Texte.

Zurück zu „Allgemeines [R3]“