Kann mir jemand sagen, was ich ändern muß um die Artikelliste von kummer "w3concepts_alist" zu einer alphabetisch geordneten Ausgabe zu überreden? Da scheinen ja noch andere Änderungen als bei der mitgelieferten Artikellisten-Version nötig zu sein. Ich seh da nicht ganz durch, muß es aber für nen Lexikon auf die Reihe bekommen
Artikelliste alphabetisch
Artikelliste alphabetisch
Hallo,
Kann mir jemand sagen, was ich ändern muß um die Artikelliste von kummer "w3concepts_alist" zu einer alphabetisch geordneten Ausgabe zu überreden? Da scheinen ja noch andere Änderungen als bei der mitgelieferten Artikellisten-Version nötig zu sein. Ich seh da nicht ganz durch, muß es aber für nen Lexikon auf die Reihe bekommen
Kann mir jemand sagen, was ich ändern muß um die Artikelliste von kummer "w3concepts_alist" zu einer alphabetisch geordneten Ausgabe zu überreden? Da scheinen ja noch andere Änderungen als bei der mitgelieferten Artikellisten-Version nötig zu sein. Ich seh da nicht ganz durch, muß es aber für nen Lexikon auf die Reihe bekommen
-
Halchteranerin
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Du hast den Link zum Modul nicht angegeben, und ich habe jetzt keine Lust, danach zu suchen. Ich habe aber an anderer Stelle (http://www.contenido.de/forum/viewtopic ... phabetisch) angegeben, wie fuer eine andere Liste die SQL-Anweisung geaendert werden muss. So aehnlich wird's bei Dir auch sein, vielleicht genau so. Nur wie gesagt, ohne das Modul zu kennen kann ich Dir auch nicht die genaue Anweisung sagen, sorry.
Gruss
Christa
Gruss
Christa
Hallo Halchteranerin,
Danke. Aber genau nach den Zeilen in diesem Thread habe ich bei dem modul von kummer ja auch gesucht. Leider erfolglos
Deswegen frage ich ja auch hier nach.
Der Link zu dem Modul welches ich nutze:
http://www.contenido.de/front_dev/uploa ... ist_v1.txt
Würde mich freuen, wenn Du mir helfen könntest.
Danke. Aber genau nach den Zeilen in diesem Thread habe ich bei dem modul von kummer ja auch gesucht. Leider erfolglos
Der Link zu dem Modul welches ich nutze:
http://www.contenido.de/front_dev/uploa ... ist_v1.txt
Würde mich freuen, wenn Du mir helfen könntest.
-
Halchteranerin
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Haettest Du gleich den Link mit angegeben, haette es im Forum zwei Postings weniger gegeben.
Es ist zu kompliziert, zu erklaeren, was alles geaendert werden muss, deswegen poste ich Dir gleich das geaenderte Modul. Es reicht in diesem Fall nicht aus, die Angabe bei ORDER BY zu aendern. Ich hab's aber nicht getestet und nur auf die Schnelle geaendert, also melde Dich bitte nochmal, falls es nicht gleich klappt.
Gruss
Christa
EDIT: es haette doch gereicht, das ORDER BY zu aendern, ich habe nicht darauf geachtet, dass das Erstellungsdatum mit ausgegeben wird. Hier also die richtige Version:
Es ist zu kompliziert, zu erklaeren, was alles geaendert werden muss, deswegen poste ich Dir gleich das geaenderte Modul. Es reicht in diesem Fall nicht aus, die Angabe bei ORDER BY zu aendern. Ich hab's aber nicht getestet und nur auf die Schnelle geaendert, also melde Dich bitte nochmal, falls es nicht gleich klappt.
Gruss
Christa
EDIT: es haette doch gereicht, das ORDER BY zu aendern, ich habe nicht darauf geachtet, dass das Erstellungsdatum mit ausgegeben wird. Hier also die richtige Version:
Code: Alles auswählen
Modulname : w3concepts_alist
Beschreibung :
w3concepts_alist erstellt eine Artikelliste mit dem Titel, der Headline sowie der
Subheadline der selektierten Artikel. Der Anwender hat folgende Einstellungsmöglichkeiten:
- Kategorie, die angezeigt werden soll
- Anzahl Artikel, die je Seite angezeigt werden sollen
- Startartikel mit anzeigen oder ausblenden
- Anzahl angezeigte Zeichen der Subheadline (Trennung erfolgt vor dem Wort, das nicht mehr dargestellt werden kann)
- Text, der für den Previous-Link angezeigt werden soll (kann auch eine Graphik sein)
- Text, der für den Next-Link angezeigt werden soll (kann auch eine Graphik sein)
- Anzahl zu berücksichtigende Ebenen
(0 = nur gewählte Kategorie, -1 = gewählte Kategorie sowie enthaltene Kategorien, -2 = gewählte Kategorie sowie
enthaltene Kategorien und deren Subkategorien.)
C-Version : 4.4.0
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : w3concepts_alist_v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 06-05-2004
* Modified : 06-05-2004
************************************************/
$selected = "CMS_VALUE[0]";
echo "<table 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>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>";
}
}
echo "</table>";
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts_alist_v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 06-05-2004
* Modified : 27-06-2004
************************************************/
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts_alist_v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 06-05-2004
* Modified : 27-06-2004
************************************************/
// konfiguration
$categorie = "CMS_VALUE[0]";
$angezeigte_anzahl = "CMS_VALUE[1]";
if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10;
$startartikel = "CMS_VALUE[2]";
if ($startartikel == '') $startartikel = false;
$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]";
$limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0);
$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
$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
$nurstartartikel
ORDER BY e.title
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
$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
$nurstartartikel
ORDER BY e.title
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
$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
$nurstartartikel
ORDER BY e.title
LIMIT $limit, $angezeigte_anzahl
";
break;
}
$db->query($sql_1);
$db->next_record();
$anzahl_artikel = $db->f("anzahl");
$db->query($sql_2);
echo '<p><table cellpadding="0" cellspacing="0" style="width:100%">';
while ($db->next_record()) {
$sql = "
SELECT value FROM {$cfg['tab']['content']}
WHERE
idartlang = ".$db->f("idartlang")."
AND idtype = 1
ORDER BY 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"));
echo "<tr><td class=\"artlist_headline\"><a href=\"$link\" class=\"artlist_headlinelink\">".urldecode($db2->f("value"))."</a></td>";
echo "<td class=\"artlist_date\">".$db->f("erstellungsdatum")."</td></tr>";
$db2->next_record();
// die subheadline auf die gewünschte länge reduzieren (trennung nur
// nach bzw. vor einem ganzen wort
if (strlen($db2->f("value")) > $subheadline) {
$newsubheadline = '';
$worte = explode (" ",strip_tags(urldecode($db2->f("value"))));
$zulang = false;
foreach ($worte as $wort) {
if (strlen($newsubheadline." ".$wort) >= $subheadline) $zulang = true;
$newsubheadline = (!$zulang)?($newsubheadline." ".$wort):($newsubheadline);
}
$newsubheadline .= "...";
} else {
$newsubheadline = strip_tags(urldecode($db2->f("value")));
}
echo "<tr><td class=\"artlist_subheadline\" colspan=\"2\">$newsubheadline</td></tr>";
}
echo '</table>';
if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
echo '<table cellpadding="0" cellspacing="0" style="width:100%"><tr>';
if ($limit > 0) {
$displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
echo "<td style=\"text-align:left\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['previous']}</a></td>";
} else {
echo '<td> </td>';
}
if ($anzahl_artikel > $limit + $angezeigte_anzahl) {
$displaylimit = $limit + $angezeigte_anzahl;
echo "<td style=\"text-align:right\"><a href=\"".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."\">{$navigationslink['next']}</a></td>";
} else {
echo '<td> </td>';
}
echo '</tr></table></p>';
}
?>
Zuletzt geändert von Halchteranerin am So 27. Jun 2004, 23:00, insgesamt 1-mal geändert.
Halchteranerin, ich werd es mir merken künftig gleich die Links mit zu posten 
Jedenfalls tausend Dank!!!!
Es funktioniert soweit. Lediglich stört es, daß nun statt des Datum der Seitentitel mit angezeigt wird. Also irgendwo scheint da noch ein kleiner Fehler zu sein. Beispiellink: http://www.rezeptino.de/front_content.php?idcat=41 (Du siehst, ich lerne
)
Jedenfalls tausend Dank!!!!
Es funktioniert soweit. Lediglich stört es, daß nun statt des Datum der Seitentitel mit angezeigt wird. Also irgendwo scheint da noch ein kleiner Fehler zu sein. Beispiellink: http://www.rezeptino.de/front_content.php?idcat=41 (Du siehst, ich lerne
-
Halchteranerin
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Ups, das war etwas zu viel des Guten.
Versuch's mal mit der oben geaenderten Version. Sollte das auch nicht klappen (ich habe da naemlich einen Verdacht!), muesstest Du die SELECT-Anweisungen so aendern, dass Du vor dem e.created noch ein e.title einfuegst, also z.B. aus
wird
Sollte diese letzte Version richtig sein, melde Dich bitte nochmal, damit ich den Code oben wieder aendern kann, sonst hagelt's spaeter Beschwerden von anderen.
Gruss
Christa
Code: Alles auswählen
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum Code: Alles auswählen
SELECT c.idcat, d.idart, e.idartlang, e.title, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum Gruss
Christa
-
Halchteranerin
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Am schnellsten geht es, wenn Duevok hat geschrieben:PS: Wie kann man grundsätzlich die Datumangabe entfernen? Möchte da jetzt nicht herumfummeln, da ich nicht wirklich die Ahnung von php habe.
Code: Alles auswählen
echo "<td class="artlist_date">".$db->f("erstellungsdatum")."</td></tr>"; Code: Alles auswählen
echo "<td class="artlist_date"> </td></tr>"; Code: Alles auswählen
, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum Gruss
Christa
Nene Christa, ich brauche alle Versionen. Habe das Modul nämlich mehrmals laufen (nach Datum für die Startseite, alphabetisch ohne Datum für das Lexikon usw) Aber zugegeben... die Idee hatte ich auch erst vorhinHalchteranerin hat geschrieben:Dann haettest Du aber auch meine erste Version nehmen koennen mit dieser letzten Aenderung zusammen.
Na jedenfalls vielen Dank.
-
Beleuchtfix
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
-
Beleuchtfix
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten: