Hallo zusammen.
Ich bin neu in der Contenido-Gemeinde und arbeite mich gerade (eigentlich recht erfolgreich) ein. Allerdings komme ich bei manchen Dingen doch noch schnell an meine Grenzen.
Daher hier meine erste Frage:
Ich habe das Modul "Artikelblättern" erfolgreich integrieren können. Wie kann ich nun (wenn ich den eigentlichen "kompletten" Artikel aufgerufen habe) eine "Zurück zur Artikelliste"- Funktion einfügen? Das würde die Sache etwas komfortabler machen.
Schon mal vielen Dank im voraus.
Gruß
Andreas
"Zurück-Button" für "Artikelblättern"
versuch es mal mit javascript:
<a href="javascript:history.back()">zurück</a>
Guntram
<a href="javascript:history.back()">zurück</a>
Guntram
Netz: Contenido 4.42 läuft auf Apache/df-exts 1.1 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.6k AuthPG/1.3 FrontPage/5.0.2.2510, MySQL server version 3.23.57-log, PHP 4.2.3 bei Domainfactory
Lokal: Contenido 4.42 läuft auf Apache/2.0.46 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.2 mod_ssl/2.0.46 OpenSSL/0.9.7b
Lokal: Contenido 4.42 läuft auf Apache/2.0.46 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.2 mod_ssl/2.0.46 OpenSSL/0.9.7b
Hallo,
erstens ist das um Himmelswillen kein Java, sondern Javascript, und zweitens keine besonders elegante Lösung, wenn man schon mit einem CMS arbeitet.
Nehmen wir an, Du verfügst über interne Links zwischen den Artikeln einer Kategorie - dann ist "zurück zur Übersicht" mit history.back() verlinkt und führt eben nicht zur Übersicht, sondern ggf. zum vorher aufgerufenene Artikel. Der User wird es nicht vertstehen...
Ausserdem sollte man JavaScript für solche absolut unnötige Zwecke vermeiden (vgl. z.B. auch das aktuelle Posting unter http://contenido.de/forum/viewtopic.php?t=2401).
Entweder man holt sich also aus der Datenbank den Startartikel (mit der Übersicht) für die aktuelle Kategorie und erzeugt einen Link darauf - oder man nimmt die aktuelle URL, entfernt die idart, belässt aber die idcat. Ist jedoch nicht ganz unproblematisch im Zusammenhang mit der neuen idcatart in den neuen Contenido Versionen.
Schöne Grüße
Robert
erstens ist das um Himmelswillen kein Java, sondern Javascript, und zweitens keine besonders elegante Lösung, wenn man schon mit einem CMS arbeitet.
Nehmen wir an, Du verfügst über interne Links zwischen den Artikeln einer Kategorie - dann ist "zurück zur Übersicht" mit history.back() verlinkt und führt eben nicht zur Übersicht, sondern ggf. zum vorher aufgerufenene Artikel. Der User wird es nicht vertstehen...
Ausserdem sollte man JavaScript für solche absolut unnötige Zwecke vermeiden (vgl. z.B. auch das aktuelle Posting unter http://contenido.de/forum/viewtopic.php?t=2401).
Entweder man holt sich also aus der Datenbank den Startartikel (mit der Übersicht) für die aktuelle Kategorie und erzeugt einen Link darauf - oder man nimmt die aktuelle URL, entfernt die idart, belässt aber die idcat. Ist jedoch nicht ganz unproblematisch im Zusammenhang mit der neuen idcatart in den neuen Contenido Versionen.
Schöne Grüße
Robert
Hallo,
ich möchte auch gerne einen zurück Funktion einbauen, hab nur absolut keine Ahnung wo:
<?php
$anzahl = "CMS_VALUE[8]";
if($anzahl<1) {$anzahl=10;}
$laenge = "CMS_VALUE[9]";
if($laenge<0) {$laenge=100;}
$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, CONTENT.value, CONTENT.idtype, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang AND CONTENT.idtype<=2 AND CONTENT.typeid<=2 AND CAT.idcat='$idcat' AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.artsort ASC,ARTLANG.created DESC";
$db->query($sql);
if ($db->num_rows() != 0)
{
echo "<h3><p>CMS_HTMLHEAD[6]</h3>
<table border=0 cellspacing=0 cellpadding=0 id=\"font\">";
$artikel = array(array());
$j=0;
$db->next_record();
$idart_last=$db->f("idart");
for ($i=0; $i<$db->num_rows(); $i++)
{
$artikel[$j][0] = $db->f("idart");
$artikel[$j][1] = $db->f("idcat");
$artikel[$j][2] = substr($db->f("created"),8,2).".".substr($db->f("created"),5,2).".";
while ( $idart_last==$db->f("idart") )
{
if ( $db->f("idtype") == 2 && $db->f("typeid") == 1 )
{
$html_text = strip_tags(urldecode($db->f("value")));
$array = array ("ä" => "ä", "ö" => "ö", "ü" => "ü", "ß" => "ß", "Ä" => "Ä", "Ö" => "Ö", "Ü" => "ü", " " => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
$html_text = strtr($html_text, $array);
$artikel[$j][5] = htmlentities(substr($html_text,0,$laenge))."...";
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 1 )
{
$artikel[$j][3] = strip_tags(urldecode($db->f("value")));
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 2 )
{
$artikel[$j][4] = strip_tags(urldecode($db->f("value")));
}
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}
$idart_last=$db->f("idart");
$j++;
$i--;
}
if($blatt=="") {$blatt=0;}
$blattmax=ceil($j/$anzahl)-1;
$blatt1 = $blatt+1;
$blattmax1 = $blattmax+1;
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\">Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b><br> </td>
</tr>";
}
for ($i=$anzahl*$blatt; $i < min($j,$anzahl*$blatt+$anzahl); $i++)
{
$k = $i-1;
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";
echo '<tr>';
if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
{
echo '<td> </td>';
} else
{
echo '<td valign="top"><p><b>'.$artikel[$i][2].'</b></p></td>';
}
echo '<td><img border="0" src="images/2.gif" width="7" height="40"></td>
<td><p><b><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][3].'</a> '.$artikel[$i][4].'</b> '.$artikel[$i][5].' <a href="'.$sess->url("$navmod_link").'" id="font">mehr</a></p></td>
</tr>';
}
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\"><br>Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b></td>
</tr>";
}
echo '</table>';
}
?>
per Javascript würde durchaus genügen...
Vielen Dank schonmal,
mfG,
koffer
edit: hab gerade gemerkt das ich den falschen code hier reinkopiert hatte...vielleicht kann mir jetzt jemand helfen...
ich möchte auch gerne einen zurück Funktion einbauen, hab nur absolut keine Ahnung wo:
<?php
$anzahl = "CMS_VALUE[8]";
if($anzahl<1) {$anzahl=10;}
$laenge = "CMS_VALUE[9]";
if($laenge<0) {$laenge=100;}
$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, CONTENT.value, CONTENT.idtype, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang AND CONTENT.idtype<=2 AND CONTENT.typeid<=2 AND CAT.idcat='$idcat' AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.artsort ASC,ARTLANG.created DESC";
$db->query($sql);
if ($db->num_rows() != 0)
{
echo "<h3><p>CMS_HTMLHEAD[6]</h3>
<table border=0 cellspacing=0 cellpadding=0 id=\"font\">";
$artikel = array(array());
$j=0;
$db->next_record();
$idart_last=$db->f("idart");
for ($i=0; $i<$db->num_rows(); $i++)
{
$artikel[$j][0] = $db->f("idart");
$artikel[$j][1] = $db->f("idcat");
$artikel[$j][2] = substr($db->f("created"),8,2).".".substr($db->f("created"),5,2).".";
while ( $idart_last==$db->f("idart") )
{
if ( $db->f("idtype") == 2 && $db->f("typeid") == 1 )
{
$html_text = strip_tags(urldecode($db->f("value")));
$array = array ("ä" => "ä", "ö" => "ö", "ü" => "ü", "ß" => "ß", "Ä" => "Ä", "Ö" => "Ö", "Ü" => "ü", " " => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
$html_text = strtr($html_text, $array);
$artikel[$j][5] = htmlentities(substr($html_text,0,$laenge))."...";
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 1 )
{
$artikel[$j][3] = strip_tags(urldecode($db->f("value")));
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 2 )
{
$artikel[$j][4] = strip_tags(urldecode($db->f("value")));
}
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}
$idart_last=$db->f("idart");
$j++;
$i--;
}
if($blatt=="") {$blatt=0;}
$blattmax=ceil($j/$anzahl)-1;
$blatt1 = $blatt+1;
$blattmax1 = $blattmax+1;
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\">Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b><br> </td>
</tr>";
}
for ($i=$anzahl*$blatt; $i < min($j,$anzahl*$blatt+$anzahl); $i++)
{
$k = $i-1;
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";
echo '<tr>';
if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
{
echo '<td> </td>';
} else
{
echo '<td valign="top"><p><b>'.$artikel[$i][2].'</b></p></td>';
}
echo '<td><img border="0" src="images/2.gif" width="7" height="40"></td>
<td><p><b><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][3].'</a> '.$artikel[$i][4].'</b> '.$artikel[$i][5].' <a href="'.$sess->url("$navmod_link").'" id="font">mehr</a></p></td>
</tr>';
}
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\"><br>Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b></td>
</tr>";
}
echo '</table>';
}
?>
per Javascript würde durchaus genügen...
Vielen Dank schonmal,
mfG,
koffer
edit: hab gerade gemerkt das ich den falschen code hier reinkopiert hatte...vielleicht kann mir jetzt jemand helfen...