"Zurück-Button" für "Artikelblättern"

Gesperrt
Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

"Zurück-Button" für "Artikelblättern"

Beitrag von Andreas »

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
gunwalt
Beiträge: 57
Registriert: Di 2. Sep 2003, 08:53
Wohnort: Erkrath
Kontaktdaten:

Beitrag von gunwalt »

versuch es mal mit javascript:

<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
Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas »

Danke.....
Habe mir ein Modul mit dem Java-Befehl erstellt und eingebaut.
Funktioniert...
Manchmal fallen einem die einfachsten Dinge nicht ein.
chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert »

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
koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Beitrag von koffer »

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 ("&auml;" => "ä", "&ouml;" => "ö", "&uuml;" => "ü", "&szlig;" => "ß", "&Auml;" => "Ä", "&Ouml;" => "Ö", "&Uuml;" => "ü", "&nbsp;" => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
$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...
Gesperrt