Seite 1 von 1
Modul Artikelnavigation
Verfasst: So 22. Jun 2008, 10:08
von baumpaul

Dieses Contenido Modul ist die Perfekte Ergänzung zu Newslisten. Es lässt sich z. B. auf Newsseiten einbinden; somit kann man sich durch die Newsmeldungen klicken oder mit den DropDown-Feld eine andere Newsmeldung auswählen.
Download unter
http://www.ittool.de/cms-module-artikelnavigation.html
Verfasst: Sa 26. Jul 2008, 15:44
von stefkey
Hi baumpaul,
2 Fragen:
1. Bleibt im DropDown nach Klick auf einen Artikel auch der gewählte Artikel stehen?
Ich meine:
Das Drop-Down zeigt Artikel 1. Nun klickt man auf das Drop-Down und es öffnet sich das Menü und man klickt auf Artikel 4. Steht dann im Drop-Down auch Artikel 4 oder wird immer ein Default angezeigt, zB "Bitte wählen Sie"
2. Aus dem Drop-Down dann eine Liste zu machen, dürfte ja noch so kompliziert sein. Ich hab allerdings nicht so viele PHP Kenntnisse. Ist es wirklich kein Problem? Und kannst du mir vielleicht helfen falls ich es nicht alleine hinbekomme?
Grüße,
stefkey
Verfasst: Sa 26. Jul 2008, 15:56
von baumpaul
stefkey hat geschrieben:1. Bleibt im DropDown nach Klick auf einen Artikel auch der gewählte Artikel stehen?
Ich meine:
Das Drop-Down zeigt Artikel 1. Nun klickt man auf das Drop-Down und es öffnet sich das Menü und man klickt auf Artikel 4. Steht dann im Drop-Down auch Artikel 4 oder wird immer ein Default angezeigt, zB "Bitte wählen Sie"
Ja, im Dropdown ist immer der Aktuelle Artikel markiert.
stefkey hat geschrieben:2. Aus dem Drop-Down dann eine Liste zu machen, dürfte ja noch so kompliziert sein. Ich hab allerdings nicht so viele PHP Kenntnisse. Ist es wirklich kein Problem? Und kannst du mir vielleicht helfen falls ich es nicht alleine hinbekomme?
Das ist eigentlich auch kein Problem. Du musst im Modul Oputput die <select> Tags geben <ul> austauschen und die <option> gegen <li>. Oder was du für HTML Tags eben bevorzugst.
Verfasst: Sa 26. Jul 2008, 17:59
von stefkey
super, ich habs gerade eingefügt. Ich habe nun aber das Problem, dass der Artikeltitel angezeigt werden soll. Also nicht ein Container sondern den Titel aus den Eigenschaften eines Artikels.
Ich versuche mich mal...
vielleicht hast du aber ein Tip zwischendurch...
Grüße und besten Dank
stefkey
Verfasst: So 27. Jul 2008, 20:13
von stefkey
Hallo,
ich kommer leider nicht weiter, versteh den Code halt nicht und Vermutungen und Probieren hat leider keinen Erfolg gebracht.
Vielleicht kann mir jemand helfen...
Hier mal der Output des Moduls:
Ich würe gerne den Artikeltitel aus den Artikel-Eigenschaften als Auswahl haben.
Code: Alles auswählen
<?php
$selCat = "CMS_VALUE[0]"; // selected category
$maxChar = "CMS_VALUE[3]"; // Max. shown topic length
$first = mi18n("|<");
$last = mi18n(">|");
$next = mi18n(">");
$back = mi18n("<");
if (!is_numeric($maxChar) || $maxChar < 1) {
$maxChar = "50";
}
// SQL für Pulldown-Menue und Variablen für Blaetterelement
if(is_numeric($selCat) && $selCat != "0") {
// select all articles in category without start article
$query = "SELECT CONTENT.value AS headline, ARTLANG.idart AS id, " ;
$query .= "CATLANG.startidartlang, ARTLANG.idartlang FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$query .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$query .= $cfg["tab"]["content"]." AS CONTENT ";
$query .= "WHERE CATART.idcat = '$selCat' AND ARTLANG.idlang = '$lang' ";
$query .= "AND CONTENT.idartlang = ARTLANG.idartlang ";
$query .= "AND CATLANG.idlang = ARTLANG.idlang ";
$query .= "AND CATLANG.idcat = CATART.idcat ";
$query .= "AND ARTLANG.idart = CATART.idart ";
$query .= "AND ARTLANG.online = '1' ";
if ("CMS_VALUE[6]" != "enabled") {
$query .= "AND CATLANG.startidartlang != ARTLANG.idartlang ";
}
// Content-Type-Number
if (!is_numeric("CMS_VALUE[8]")) {
$query .= "AND CONTENT.typeid = '1' ";
} else {
$query .= "AND CONTENT.typeid = 'CMS_VALUE[8]' ";
}
// Content-Type
if (!is_numeric("CMS_VALUE[9]")) {
$query .= "AND CONTENT.idtype = '1' ";
} else {
$query .= "AND CONTENT.idtype = 'CMS_VALUE[9]' ";
}
$query .= "ORDER BY ";
// Sort by
if ("CMS_VALUE[4]" == "") {
$query .= "CATART.idart ";
$sortiert = "CATART.idart";
} else {
$query .= "CMS_VALUE[4] ";
$sortiert = "CMS_VALUE[4]";
}
// ASC/DESC
if ("CMS_VALUE[5]" == "") {
$query .= "DESC ";
$steigung = "DESC";
} else {
$query .= "CMS_VALUE[5] ";
$steigung = "CMS_VALUE[5]";
}
// LIMIT
if (is_numeric("CMS_VALUE[10]") && "CMS_VALUE[10]" > 0) {
$query .= "LIMIT 0, CMS_VALUE[10]";
}
}
// Blaetterelement
$sql = "SELECT
ARTLANG.idart,
ARTLANG.title,
CATART.idcat,
ARTLANG.created
FROM
".$cfg["tab"]["cat_art"]." AS CATART,
".$cfg["tab"]["art_lang"]." AS ARTLANG,
".$cfg["tab"]["cat"]." AS CAT
WHERE
CAT.idcat='$idcat'
AND ARTLANG.idart = CATART.idart
AND CATART.idcat = CAT.idcat
AND ARTLANG.idtplcfg = 0
AND ARTLANG.idlang = '$lang'
AND ARTLANG.online = '1'
ORDER BY
".$sortiert." ".$steigung;
$db->query($sql);
if ($db->num_rows() != 0) {
$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] = $db->f("title");
$type = $db->f("idtype");
$typeid = $db->f("typeid");
while ( $idart_last==$db->f("idart") ) {
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}
$idart_last=$db->f("idart");
$j++;
$i--;
}
// Zurueckblaettern
for ($i=0; $i < $j; $i++) {
if ($idart==$artikel[$i][0] && $i!=0) {
$x = $i-1;
$zurueck_link = "front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
$prev_link = '<a href="'.$sess->url("$zurueck_link").'" title="'.htmlentities($artikel[$x][2]).'">'.$back.'</a>';
}
}
// Zahlen und Platzhalter
for ($i=0; $i < $j; $i++) {
$k = $i+1;
if ($idart==$artikel[$i][0]) {
$aktart = $k;
}
}
// Weiterblaettern
for ($i=0; $i < $j; $i++) {
if ($idart==$artikel[$i][0] && $i != $j-1) {
$y = $i+1;
$weiter_link = "front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
$next_link = '<a href="'.$sess->url("$weiter_link").'" title="'.htmlentities($artikel[$y][2]).'">'.$next.'</a>';
}
}
}
// Pulldown Menue generieren
$form = "";
if (isset($query)) {
// execute query
$db->query($query);
if ($db->num_rows() > 0) {
$z = 0;
$y = 0;
while ($db->next_record()) {
$headline = strip_tags(urldecode($db->f("headline")));
if (strlen($headline) > $maxChar) {
$headline = substr($headline, 0, $maxChar);
$headline .= '...';
}
$title = htmlentities($headline);
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id"));
$y++;
if ($y == $aktart) {
$selected = ' selected="selected"';
} else {
$selected = '';
}
$form .= '<option value="'.$link.'"'.$selected.'>'.$headline.'</option>';
if ($z == 0) {
$first_link = '<a href="'.$link.'" title="'.$title.'">'.$first.'</a>';
}
$z++;
if ($z == $db->nf()) {
$last_link = '<a href="'.$link.'" title="'.$title.'">'.$last.'</a>';
}
}
unset($headline);
} // end while
} // end if
// HTML ausgeben
echo '<script language="JavaScript">
function Go() {
location.href = document.jump.N.value;
}
</script>
<div class="artikelnav"><table width="100%" border="0" cellspacing="0" cellpadding="0" class="artikelnav"><tr>';
echo '<td class="first">'.$first_link.'</td>';
if ($prev_link == "") { $prev_link = " "; }
echo '<td class="prev">'.$prev_link.'</td>';
echo '<td class="form"><form name="jump"><select size="1" onchange="Go()" name="N" class="button">';
/*if ($selected == "") { // Es fehlt noch der Link zur Uebersichtsseite
echo '<option value="" selected="selected">'.mi18n("Artikel auswähen").'</option>';
} else {
echo '<option value="">'.mi18n("Artikel auswähen").'</option>';
}*/
echo $form;
echo '</select></form></td>';
if ($next_link == "") { $next_link = " "; }
echo '<td class="next">'.$next_link.'</td>';
echo '<td class="last">'.$last_link.'</td>';
echo '</tr></table></div>';
?>
Verfasst: Fr 22. Aug 2008, 22:57
von stefkey
Hallo,
ich komm leider nicht weiter. Es ist doch sicher nicht viel umzuschreiben wenn statt der Headlineder Titel aus den Artikeleigenschaften angezeigt werden soll.
Könnte nochmal jemand ein Blick auf das tolle Modul werfen?
Grüße,
stefkey
select feld verschwindet
Verfasst: Do 23. Okt 2008, 16:56
von shi
Hallo, ich habe das Modul in einer 4.8.8. Version installiert und funktioniert auch soweit. Jedoch habe ich festgestellt das das Selectfeld nach einer Weile nicht mehr da ist, es sind noch die Pfeile zu sehen. Voran kann das liegen?