Wenn ich einen CMS_LINK auf einen internen Artikel setze, bekomme ich im Frontend immer nur die idcatart (z.B. http://www.domain.de/cms/23) als Link-Adresse angezeigt.
Im Backend-Editor stimmt der Link aber (z.B. http://www.domain.de/cms/front_content.php?idcatart=23).
Was kann man dagegen machen?
Vielen Dank
Standard-Installation 4.4.5
Interner Link gibt nur Zahl (idcatart) aus
hast du dir das modul bild(1) angesehen...
dort findet sich ein beispiel wie ein link mittels CMS_LINK etc. erzeugt wird...
dort findet sich ein beispiel wie ein link mittels CMS_LINK etc. erzeugt wird...
*** make your own tools (wishlist :: thx)
Doch, angesehen hab' ich mir das Bild-Modul schon. Doch vielleicht hab' ich etwas übersehen.
Vielleicht kannst Du mir helfen?
Ich möchte eine Möglichkeit haben, eine kleine Linkliste in meine Seite einzubauen, die der Redakteur möglichst einfach pflegen kann. Diese Liste sollte auf allen Seiten gleich sein, bekannt ist das Ganze auf Portalseiten und heißt dann "Quicklinks", "Spotlight" oder so ähnlich. Erschwerend kommt dazu, dass ich das Ganze dreimal auf jeder Seite brauche.
Ich denke, das ist am einfachsten zu realisieren, wenn ich jeweils eine eigene Kategorie anlege, und auf dem Startartikel die gewünschten Links aufliste. Ein Modul liest dann den Kategoriennamen und die Links aus.
Zu diesem Zweck habe ich mir ein Modul gebastelt, das 20 CMS_LINK-Verweise enthält (um die Eingabe der Links zu erleichtern). Dieses Modul plaziere ich dann auf der Startseite der jeweiligen Kategorie.
Im Output dieses Moduls steht dann folgender Code:
Das Modul, das den Kategorienamen und die Links ausliest, schaut folgendermaßen aus:
INPUT:
OUTPUT:
Das Ganze funkioniert wunderbar, auch wenn das Modul dreimal eingebaut wird, allerdings werden die internen Links nur als idcatart ausgegeben.
Was ist da falsch?
Vielleicht kannst Du mir helfen?
Ich möchte eine Möglichkeit haben, eine kleine Linkliste in meine Seite einzubauen, die der Redakteur möglichst einfach pflegen kann. Diese Liste sollte auf allen Seiten gleich sein, bekannt ist das Ganze auf Portalseiten und heißt dann "Quicklinks", "Spotlight" oder so ähnlich. Erschwerend kommt dazu, dass ich das Ganze dreimal auf jeder Seite brauche.
Ich denke, das ist am einfachsten zu realisieren, wenn ich jeweils eine eigene Kategorie anlege, und auf dem Startartikel die gewünschten Links aufliste. Ein Modul liest dann den Kategoriennamen und die Links aus.
Zu diesem Zweck habe ich mir ein Modul gebastelt, das 20 CMS_LINK-Verweise enthält (um die Eingabe der Links zu erleichtern). Dieses Modul plaziere ich dann auf der Startseite der jeweiligen Kategorie.
Im Output dieses Moduls steht dann folgender Code:
Code: Alles auswählen
<?php
echo "
<a href=\"CMS_LINK[1]\" target=\"CMS_LINKTARGET[1]\">CMS_LINKDESCR[1]</a><br /><br />
<a href=\"CMS_LINK[2]\" target=\"CMS_LINKTARGET[2]\">CMS_LINKDESCR[2]</a><br /><br />
<a href=\"CMS_LINK[3]\" target=\"CMS_LINKTARGET[3]\">CMS_LINKDESCR[3]</a><br /><br />
<a href=\"CMS_LINK[4]\" target=\"CMS_LINKTARGET[4]\">CMS_LINKDESCR[4]</a><br /><br />
<a href=\"CMS_LINK[5]\" target=\"CMS_LINKTARGET[5]\">CMS_LINKDESCR[5]</a><br /><br />
<a href=\"CMS_LINK[6]\" target=\"CMS_LINKTARGET[6]\">CMS_LINKDESCR[6]</a><br /><br />
<a href=\"CMS_LINK[7]\" target=\"CMS_LINKTARGET[7]\">CMS_LINKDESCR[7]</a><br /><br />
<a href=\"CMS_LINK[8]\" target=\"CMS_LINKTARGET[8]\">CMS_LINKDESCR[8]</a><br /><br />
<a href=\"CMS_LINK[9]\" target=\"CMS_LINKTARGET[9]\">CMS_LINKDESCR[9]</a><br /><br />
<a href=\"CMS_LINK[10]\" target=\"CMS_LINKTARGET[10]\">CMS_LINKDESCR[10]</a><br /><br />
<a href=\"CMS_LINK[11]\" target=\"CMS_LINKTARGET[11]\">CMS_LINKDESCR[11]</a><br /><br />
<a href=\"CMS_LINK[12]\" target=\"CMS_LINKTARGET[12]\">CMS_LINKDESCR[12]</a><br /><br />
<a href=\"CMS_LINK[13]\" target=\"CMS_LINKTARGET[13]\">CMS_LINKDESCR[13]</a><br /><br />
<a href=\"CMS_LINK[14]\" target=\"CMS_LINKTARGET[14]\">CMS_LINKDESCR[14]</a><br /><br />
<a href=\"CMS_LINK[15]\" target=\"CMS_LINKTARGET[15]\">CMS_LINKDESCR[15]</a><br /><br />
<a href=\"CMS_LINK[16]\" target=\"CMS_LINKTARGET[16]\">CMS_LINKDESCR[16]</a><br /><br />
<a href=\"CMS_LINK[17]\" target=\"CMS_LINKTARGET[17]\">CMS_LINKDESCR[17]</a><br /><br />
<a href=\"CMS_LINK[18]\" target=\"CMS_LINKTARGET[18]\">CMS_LINKDESCR[18]</a><br /><br />
<a href=\"CMS_LINK[19]\" target=\"CMS_LINKTARGET[19]\">CMS_LINKDESCR[19]</a><br /><br />
<a href=\"CMS_LINK[20]\" target=\"CMS_LINKTARGET[20]\">CMS_LINKDESCR[20]</a>
";
?>
INPUT:
Code: Alles auswählen
// selected category
$selected1 = "CMS_VALUE[1]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr valign=\"top\">
<td class=\"text_medium\">Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[1]\">";
if($selected1!="0" && $selected1!=""){
echo"<option value=\"1\">--- kein ---</option>";
}else{
echo"<option selected=\"selected\" value=\"1\">--- kein ---</option>";
}
// fetch all categorys
$query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
$cfg["tab"]["cat"]." AS B, ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
"AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
"AND C.visible=1 ORDER BY A.idtree";
// execute query
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
// indent spacer
$spaces = "|";
// how many levels
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "--";
} // end for
$spaces .= ">";
if ($selected1 == $db->f("idcat")) {
// selected category
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
// category
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end if
} // end while
echo " </select>";
echo " </td>
</tr>
</table>";
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* REFERENZ MODUL / ARTIKELLISTE
*
* Erstellt eine Liste mit den Links des Startartikel einer Kategorie
*
* Author : Jan Lengowski
* Copyright : four for business AG
* Created : 15-08-2002
* Modified : 16-08-2002
* Modified : 26-02-2005 by Mathias Rauh
************************************************/
// db class instance
$db = new DB_Contenido;
// selected category
$selcat1 = "CMS_VALUE[1]";
if($selcat1!="0" && $selcat1!="") {
// select category name
$sql = "SELECT A.idcat, C.name
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = '".$selcat1."' AND
A.idcat = B.idcat AND
B.idcat = C.idcat AND
C.idlang = '".$lang."' AND
B.idclient = '".$client."' AND
C.visible = 1 AND
A.level = '0'
ORDER BY
A.idtree";
$db->query($sql);
while ( $db->next_record() ) {
$kategoriename1 = $db->f("name");
} // end while
// select all articles in category
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat1' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' ORDER BY CATART.idart DESC";
// execute query
$db->query($query);
$db->next_record();
$value = $db->f("idartlang");
$artikelNr = $db->f("idart");
$meinArtikel = new Article($artikelNr, $client, $lang);
$alleLinks = $meinArtikel->getContent("link");
$alleLinksTarget = $meinArtikel->getContent("linktarget");
$alleLinksDescr = $meinArtikel->getContent("linkdescr");
$num = count($alleLinksDescr);
echo "<h4>".$kategoriename1."</h4>";
$i = 1;
while ($alleLinksDescr[$i]) {
echo "<p><a href=\"".$alleLinks[$i]."\" target=\"".$alleLinksTarget[$i]."\">".$alleLinksDescr[$i]."</a></p>";
$i++;
} // end while
} // end if
unset($kategoriename1);
unset($meinArtikel);
unset($alleLinks);
unset($alleLinksTarget);
unset($alleLinksDescr);
unset($num);
?>
Was ist da falsch?
wenn du das über eine artikelliste ausliest musst du den link zuerst zusammen bauen... in der con_content wird nur der ziffern wert der idcatart gespeichert... nicht der komplette link
d.h. in deiner artikelliste musst du einen string nach dem muster
front_content.php?idcatart=XX
wobei XX für den ausgelesen link wert steht...
diesen erzeugten string gibts du dann aus...
d.h. in deiner artikelliste musst du einen string nach dem muster
front_content.php?idcatart=XX
wobei XX für den ausgelesen link wert steht...
diesen erzeugten string gibts du dann aus...
*** make your own tools (wishlist :: thx)