ich habe die Artikelliste von Kummer angefangen zu modifizieren.
Ich möchte wie im Anhängenden Bild die Liste zweispaltig darstellen lassen.
Leider klappt es nicht so ganz wer hat einen Tip, oder lösungsvorschläge
INPUT ----------
Code: Alles auswählen
$selected = "CMS_VALUE[0]";
echo "<table class='text_medium' cellspacing=\"0\" cellpadding=\"10\" border=\"0\"><tr valign=\"top\"><td>Kategorie wählen:</td><td><select name=\"CMS_VAR[0]\">";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
} else {
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
$sql = "
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
";
$db->query($sql);
while ($db->next_record()) {
$spaces = "|";
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
$spaces = $spaces . "--";
}
$spaces .= ">";
if ($selected == $db->f("idcat")) {
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
}
}
echo "</select></td></tr>";
echo "<tr><td>Anzahl Artikel je Seite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"3\" /></td>";
echo "<tr><td>Startartikel anzeigen?</td>";
$startartikel = "CMS_VALUE[2]";
if ($startartikel != '') {
echo "<td><input type=\"checkbox\" name=\"CMS_VAR[2]\" value=\"true\" size=\"3\" checked=\"checked\"/></td>";
} else {
echo "<td><input type=\"checkbox\" name=\"CMS_VAR[2]\" value=\"true\" size=\"3\"/></td>";
}
echo "<tr><td>Anzahl angezeigte Zeichen der Subheadline:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"5\" /></td>";
echo "<tr><td>Text für Previous-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\" size=\"15\" /></td>";
echo "<tr><td>Text für Next-Link:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[5]\" value=\"CMS_VALUE[5]\" size=\"15\" /></td>";
echo "<tr><td>Thumbnail-Breite:</td>";
echo "<td><input type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\" size=\"5\" /></td>";
echo "<tr><td>Artikel anzeigen bis:</td>";
echo "<td><select name=\"CMS_VAR[6]\">";
$ebene = "CMS_VALUE[6]";
for ($i=0;$i>-3;$i--) {
if ($i == $ebene) {
echo"<option value=\"$i\" selected=\"selected\">Ebene $i</option>";
} else {
echo"<option value=\"$i\">Ebene $i</option>";
}
}
// Mod: Sortieren der Artikel (30-07-2004 US) --->StArt
$strSort = "CMS_VALUE[8]";
echo "<tr><td>Artikel sortieren nach:</td>";
echo "<td><select name=\"CMS_VAR[8]\">";
if ($strSort == "e.created"){
echo "<option value=\"e.created\" selected>Datum</option>";
}else{
echo "<option value=\"e.created\">Datum</option>";
}
if ($strSort == "e.artsort"){
echo "<option value=\"e.artsort\" selected>Sortierschlüssel</option>";
}else{
echo "<option value=\"e.artsort\">Sortierschlüssel</option>";
}
if ($strSort == "e.title"){
echo "<option value=\"e.title\" selected>Alphabetisch</option>";
}else{
echo "<option value=\"e.title\">Alphabetisch</option>";
}
echo "</select>";
$strRichtung= "CMS_VALUE[9]";
echo "<tr><td>Sortierrichtung umkehren</td>";
if ($strRichtung!= '') {
echo "<td><input type=\"checkbox\" name=\"CMS_VAR[9]\" value=\"true\" size=\"3\" checked=\"checked\"/> (Aktuell: Absteigend)</td>";
} else {
echo "<td><input type=\"checkbox\" name=\"CMS_VAR[9]\" value=\"true\" size=\"3\"/> (Aktuell: Aufsteigend)</td>";
}
// Mod: Sortieren der Artikel (30-07-2004 US) <---EnDe
echo "</table>";
OUTPUT -----
Code: Alles auswählen
<?php
// manuelle konfiguration des moduls
$uploadpfad = "/dplus/upload/"; // relativ zum root-verzeichnis (mit slash am anfang und am ende)
$thumbnailpfad = "/dplus/upload/auto_thumbnails/"; //relativ zum root-verzeichnis (mit slash am anfang und am ende)
$hauptpfad = "/srv/www/htdocs/web14/html/cmsys";
$contentpfad = "/cmsys";
// konfiguration
$categorie = "CMS_VALUE[0]";
$angezeigte_anzahl = "CMS_VALUE[1]";
if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10;
$startartikel = "CMS_VALUE[2]";
if ($startartikel == '') $startartikel = true;
$subheadline = "CMS_VALUE[3]";
if ($subheadline == '') $subheadline = 200;
$navigationslink['previous'] = "CMS_VALUE[4]";
if ($navigationslink['previous'] == '') $navigationslink['previous'] = '[:: rückwärts ]';
$navigationslink['next'] = "CMS_VALUE[5]";
if ($navigationslink['next'] == '') $navigationslink['next'] = '[ vorwärts ::]';
$ebene = "CMS_VALUE[6]";
$bildbreite = "CMS_VALUE[7]";
$limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0) + 1;
// Mod: Sortieren der Artikel (30-07-2004 US) --->StArt
// Sorieren
$strSort = "CMS_VALUE[8]";
if ($strSort =="") {
$strSort ="e.created";
}
// Sortierrichtung
$strRichtung= "CMS_VALUE[9]";
if ($strRichtung == '') {
$strRichtung = " DESC";
}else{
$strRichtung = " ASC";
}
// Mod: Sortieren der Artikel (30-07-2004 US) <---EnDe
$db = new DB_Contenido;
$db2 = new DB_Contenido;
// wenn startartikel true ist, werden die startartikel dargestellt, sonst nicht
$nurstartartikel = ($startartikel)?(''):('AND d.is_start = 0');
// liest die anzahl betroffener artikel aus der datenbank
switch ($ebene) {
case -2:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
ORDER BY $strSort $strRichtung
LIMIT $limit, $angezeigte_anzahl
";
break;
case -1:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
ORDER BY $strSort $strRichtung
LIMIT $limit, $angezeigte_anzahl
";
break;
case 0:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
AND e.idlang = $lang
$nurstartartikel
ORDER BY $strSort $strRichtung
LIMIT $limit, $angezeigte_anzahl
";
break;
}
$db->query($sql_1);
$db->next_record();
//Gesamtsumme der Onlineartikel
$anzahl_artikel = $db->f("anzahl");
$db->query($sql_2);
//dl 2005-03-25 NEUENTWICKLUNG DER ANZEIGE************************************************************************************
//Definieren einer Zählvariablen
$anzahl_azellen = ((round($limit / $angezeigte_anzahl)) * $angezeigte_anzahl);
$Old_anzahl_azellen=$anzahl_azellen;
//dl 2005-03-25
//Anfang der eigentlichen HTML Ausgabe
echo '<table border="0" cellpadding="0" cellspacing="0" width=650>';
echo ' <tr>';
echo ' <td>';
echo ' <table border="0" cellpadding="0" cellspacing="0">';
//dl 2005-03-25
//Schleife zum anlegen der Artikelzeilen
for($anzahl_azeilen = 0; $anzahl_azeilen < round($angezeigte_anzahl / 2); $anzahl_azeilen++) {
echo ' <tr>';
if(($anzahl_artikel - $anzahl_azellen) > 2) {
$max_azellen = 2;
}else{
$max_azellen = 1;
};
$first_azellen = 1;
$Old_anzahl_azellen = $anzahl_azellen;
//Schleife zum Anlegen der Artikelzellen
for($anzahl_azellen = $anzahl_azellen; ($anzahl_azellen < ($Old_anzahl_azellen+$max_azellen)); $anzahl_azellen++) {
echo 'Bisherige Artikel:'.$anzahl_azellen;
if($anzahl_azellen < $anzahl_artikel){
if($first_azellen == 1) {
$db->next_record();
}
$sql = "SELECT a.value, a.typeid, b.type, c.filename, c.dirname FROM {$cfg['tab']['content']} AS a
LEFT JOIN {$cfg['tab']['type']} AS b ON a.idtype = b.idtype
LEFT JOIN {$cfg['tab']['upl']} AS c ON a.value = c.idupl
WHERE a.idartlang = ".$db->f("idartlang")."
AND (b.type = 'CMS_HTMLHEAD' OR b.type = 'CMS_IMG')
ORDER BY b.type, a.typeid ASC";
$db2->query($sql);
$db2->next_record();
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));
$newsubheadline = urldecode($db2->f("value"));
$db2->next_record();
if (strlen($db2->f("value")) > $subheadline) {
$kurztext = '';
$worte = explode (" ",strip_tags(urldecode($db2->f("value"))));
$zulang = false;
foreach ($worte as $wort) {
if (strlen($kurztext." ".$wort) >= $subheadline) $zulang = true;
$kurztext = (!$zulang)?($kurztext." ".$wort):($kurztext);
}
$kurztext .= "...";
} else {
$kurztext = strip_tags(urldecode($db2->f("value")));
}
echo ' <td>';
echo ' <table border="0" cellpadding="0" cellspacing="0">';
echo ' <tr height=106>';
echo ' <td width=158 height=106 valign="top" bgcolor="#e1efea">';
echo ' BILD';
echo ' </td>';
echo ' <td width=3 bgcolor="#e1efea">';
echo ' </td>';
echo ' <td width=152 valign="top" bgcolor="#e1efea">';
echo ' <img src="images/clear.gif" width=152 height=5>';
echo '<b>'.$newsubheadline.'</b><br>'.$kurztext;
echo ' </td>';
echo ' <td width=10 bgcolor="#0da59a">';
echo ' </td>';
echo ' </tr>';
echo ' <tr>';
echo ' <td height= 20 align="right" colspan=3 valign="middle" bgcolor="#e1efea">';
echo ' <a href="'.$link.'"><b>mehr <b></a>';
echo ' </td>';
echo ' <td width=10 bgcolor="#0da59a">';
echo ' </td>';
echo ' </tr>';
echo ' </table>';
echo ' </td>';
if($first_azellen == 1) {
echo ' <td>';
echo ' <table border="0" cellpadding="0" cellspacing="0">';
echo ' <tr>';
echo ' <td width =2>';
echo ' </td>';
echo ' </tr>';
echo ' </table>';
echo ' </td>';
}
$first_azellen=0;
$db->next_record();
}
};
echo ' </tr>';
echo ' <tr height = 2>';
echo ' <td>';
echo ' </td>';
echo ' </tr>';
}
echo ' </table>';
echo ' </td>';
echo ' </tr>';
if($anzahl_artikel > $angezeigte_anzahl) {
echo ' <tr>';
echo ' <td height=10>';
echo ' </td>';
echo ' </tr>';
echo ' <tr>';
echo ' <td align=center>';
for($i2 = 0; $i2 < ($anzahl_artikel / $angezeigte_anzahl); $i2++) {
$temp_linkid = $angezeigte_anzahl * $i2;
echo " <a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$temp_linkid")."\">".($i2+1)." ";
};
echo ' </td>';
echo ' </tr>';
echo ' <tr>';
echo ' <td align=right>';
echo 'Seite '.(round(($limit / $angezeigte_anzahl)+1)).' von '.(round($anzahl_artikel / $angezeigte_anzahl));
echo ' </td>';
echo ' </tr>';
}
echo '</table>';
?>
