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
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/
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/
Hallo und willkommen bei redaxo
Benütze bitte für code die
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.
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
}
}
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.
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:
Eingefügt hatte ich folgendes:
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
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ü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">© CMS-System by <a href="http://www.redaxo.de">REDAXO</a></p>
<br class="clear" />
</div>
</div>
</body>
</html>
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>
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.
Hallo
du hast leider nur das haupt-template gepostet, nicht aber das in dem du die Navigation hast. (siehe code)
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
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";
poste mal das Template mit der id 2
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;
?>
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.
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
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
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
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.
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.
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?
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.
Wie gesagt, bei mir (IE 6.0) sehe ich alle Bilder.
Zum Beispiel unter Abteilungen > Fußball
Aber wozu brauchst du denn das
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...
Zum Beispiel unter Abteilungen > Fußball
Aber wozu brauchst du denn das
Code: Alles auswählen
ismap="ismap"
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
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...
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
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi,
Gruß,
Markus
Das wird vom TinyMCE eingaut, damit die Bilder via ImageResize verkleinert werden.benny hat geschrieben:Aber wozu brauchst du denn dasin dem img-Tag?Code: Alles auswählen
ismap="ismap"
Gruß,
Markus
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
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
Hier eine beschreibung für das ismap
http://de.selfhtml.org/html/grafiken/ve ... ver_seitig
http://de.selfhtml.org/html/grafiken/ve ... ver_seitig
-
- Beiträge: 1711
- Registriert: 24. Nov 2005, 22:29
- Kontaktdaten: ICQ Website Yahoo Messenger
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)DomainAradina 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).
mfg
Flo