zuletzt geaenderte Artikel

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

zuletzt geaenderte Artikel

Beitrag von Halchteranerin » Fr 25. Jun 2004, 00:20

Aus der Kategorie 'Module, die die Welt nicht braucht' (aber ich :lol:)

Beschreibung:

Code: Alles auswählen

Listet die neuesten/zuletzt geänderten X Artikel auf (X kann im Input festgelegt werden) auf. Die Artikel sind in der Übersicht NICHT verlinkt.
Input:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Übersicht der zuletzt geänderten Artikel
* Author          :     Christa Tabara
* Copyright     :      Christa Tabara
* Created        :     24-06-2004
* Modified       :      24-06-2004
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
           <td>Wieviele Artikel sollen aufgelistet werden?</td>
           <td><input type=\"text\" name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\"></td>
           </tr></table>";
Output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Übersicht der zuletzt geänderten Artikel
* Author          :     Christa Tabara
* Copyright     :      Christa Tabara
* Created        :     24-06-2004
* Modified       :      24-06-2004
************************************************/

$anzahl='CMS_VALUE[0]';
$db = new DB_Contenido;
$sql = "SELECT DISTINCT title, lastmodified
           FROM {$cfg['tab']['art_lang']}
           WHERE online = '1' AND idlang= '$lang'
           ORDER BY lastmodified desc
           LIMIT 0,".$anzahl;
$db->query($sql);

       echo '<table width="500">
               <tr><td>Titel des Artikels</td>
                      <td>Datum und Uhrzeit der letzten Änderung</td>
               </tr>';
for ($zeilen = 0; $zeilen<$anzahl; $zeilen++)
     {
       $db->next_record();
       $title = $db->f("title");
       $datumausdb = $db->f("lastmodified");
       $datum_uhrzeit = explode (" ",$datumausdb);
       $uhrzeit = $datum_uhrzeit[1];
       $datum = explode ("-",$datum_uhrzeit[0]);
       $jahr = $datum[0];
       $monat = $datum[1];
       $tag = $datum[2];
       echo '<tr><td>'.$title.'</td><td>'.$tag.'.'.$monat.'.'.$jahr.', '.$uhrzeit.' Uhr</td>
                </tr>';
      }
echo '</table>';
?>
Was soll das Ganze? Durch eine Diskussion kam ich darauf, dass es sinnvoll waere, auf der Startseite (Site ist nicht so umfangreich) die zuletzt geaenderten Artikel aufzulisten, damit man gleich sieht, was neu ist, ohne sich durchklicken zu muessen. Die letzten 5 Artikel reichen mir persoenlich zwar aus, aber ich habe die Anzahl trotzdem einstellbar gemacht.

Das Datumformat kann vielleicht leichter/weniger umstaendlich/schoener/eleganter verarbeitet werden (ich wollte deutsche Schreibweise), aber ich habe erstmal einfach den Quelltext, den ich fuer meine Anpassung von emergences Kommentarmodul geschrieben habe, uebernommen. Ich habe nichts gegen Verbesserungsvorschlaegen :oops:, das Datum ist aber nicht mein primaeres Problem. DAS sieht naemlich folgendermassen aus:

Die Tabelle, die ausgegeben wird, ist zwar schoen und gut, aber es waere ganz nett, wenn sie nicht nur die Titel der Artikel sondern auch die dazugehoerigen Links enthielte, damit man direkt zu den Artikeln wechseln kann. Wie muss ich das Modul aendern, um dies umzusetzen? Ich habe mir einige Module angeschaut, die Links enthalten, aber ich wurde leider nicht so schlau daraus. Ich schieb's mal auf die spaete Stunde. ;-)

Gruss
Christa
Zuletzt geändert von Halchteranerin am Fr 25. Jun 2004, 12:57, insgesamt 2-mal geändert.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Fr 25. Jun 2004, 11:10

Hilf Dir selbst, so hilft Dir Gott. Aber ausgeschlafen programmiert es sich wirklich besser. :wink:

Beschreibung:

Code: Alles auswählen

Listet die neuesten/zuletzt geänderten X Artikel auf (X kann im Input festgelegt werden) auf. Die Artikel sind in der Übersicht verlinkt (Titel).
Input:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Übersicht der zuletzt geänderten Artikel
* Author          :     Christa Tabara
* Copyright     :      Christa Tabara
* Created        :     24-06-2004
* Modified       :      24-06-2004
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
           <td>Wieviele Artikel sollen aufgelistet werden?</td>
           <td><input type=\"text\" name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\"></td>
           </tr></table>";
Output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Übersicht der zuletzt geänderten Artikel
* Author          :     Christa Tabara
* Copyright     :      Christa Tabara
* Created        :     24-06-2004
* Modified       :      12-07-2004
************************************************/

$anzahl='CMS_VALUE[0]';
$db = new DB_Contenido;
$sql = "SELECT DISTINCT ARTLANG.title, ARTLANG.lastmodified, ARTLANG.idart, CAT.idcat
           FROM {$cfg['tab']['art_lang']} AS ARTLANG, 
                    {$cfg['tab']['cat_art']} AS CATART, 
                    {$cfg['tab']['cat']} AS CAT,
                    {$cfg['tab']['content']} AS CONTENT
           WHERE ARTLANG.online = '1' AND ARTLANG.idlang= '$lang' 
                      AND ARTLANG.idart = CATART.idart 
                      AND CATART.idcat = CAT.idcat 
                      AND ARTLANG.idartlang = CONTENT.idartlang 
                      AND CAT.idclient = '$client'
           ORDER BY lastmodified desc
           LIMIT 0,".$anzahl;

$db->query($sql);

       echo '<table width="500">
               <tr><td><strong>Titel des Artikels</strong></td>
                      <td><strong>Datum und Uhrzeit der letzten Änderung</strong></td>
               </tr>';
for ($zeilen = 0; $zeilen<$anzahl; $zeilen++)
     {
       $db->next_record();
       $title = $db->f("title");
       $datumausdb = $db->f("lastmodified");
       $datum_uhrzeit = explode (" ",$datumausdb);
       $uhrzeit = $datum_uhrzeit[1];
       $datum = explode ("-",$datum_uhrzeit[0]);
       $jahr = $datum[0];
       $monat = $datum[1];
       $tag = $datum[2];
       $idcat_lc = $db->f("idcat");
       $idart_lc = $db->f("idart");
       $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat_lc&idart=$idart_lc");
       echo '<tr><td><a href="'.$link.'">'.$title.'</a></td><td>'.$tag.'.'.$monat.'.'.$jahr.', '.$uhrzeit.' Uhr</td>
                </tr>';
      }
echo '</table>';
?>
Da es jetzt schon mal wie von mir gewuenscht laeuft, bin ich bereit und in der Lage, Verbesserungsvorschlaege anzunehmen. :) Und vielleicht kann auch ausser mir jemand das Modul gebrauchen ...

EDIT: ACHTUNG! Nicht vergessen, die Kategorie bzw. den Artikel zu konfigurieren, sonst ist die Anzahl der Artikel, die in der Uebersicht erscheinen sollen, nicht bekannt!
Zuletzt geändert von Halchteranerin am Mo 12. Jul 2004, 13:15, insgesamt 5-mal geändert.

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Fr 25. Jun 2004, 12:37

Hallo Christa,
du kennst mich ja, ich bin Perfektionist oder Nörgler und Idealist. Was hällst Du davon, den neuen Code noch mit Output: funktionsfähig und beim ersten Bericht Output: Fehlerhaft! einzufügen? (und/oder die Input und Beschreibung auch in deine Antwort zu übernehmen. Dann hat man an einer Stelle den gesamten funktionieren Code.

Gruß Florian

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Fr 25. Jun 2004, 12:45

Hallo Florian,
Beleuchtfix hat geschrieben:Was hällst Du davon, den neuen Code noch mit Output: funktionsfähig und beim ersten Bericht Output: Fehlerhaft! einzufügen?
nichts. :lol: Es sind beide funktionsfaehig! Der Unterschied ist, dass beim ersten Code die Artikel nicht verlinkt sind, aber deswegen ist das Modul nicht falsch. :P
Beleuchtfix hat geschrieben:(und/oder die Input und Beschreibung auch in deine Antwort zu übernehmen. Dann hat man an einer Stelle den gesamten funktionieren Code.
Das kann ich noch dazu tun ... und wenn ich schon dabei bin, auch den 'Kopf' fuer Module (fiel mir gerade ein), damit es auch ordentlich aussieht. 8)

Gruss
Christa

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Fr 25. Jun 2004, 13:09

Hi Christa,
ich gebe mich schon wieder geschlagen, den ersten Teil hatte ich nicht getestet :cry:
Halchteranerin hat geschrieben:Aus der Kategorie 'Module, die die Welt nicht braucht' (aber ich )
Ich benutze es aber :wink: Danke
Gruss Florian

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » So 27. Jun 2004, 15:17

Fehlerhaft (bzw. unvollstaendig) war das zweite Modul aber. :lol:
Mir fiel das heute erst ein/auf, im Zusammenhang mit einem anderen Modul, wo die Uebergabe der idart nicht klappte, dass ich die bei meinem Modul gar nicht uebergeben hatte. :roll:

Florian, bitte nach idart im obigen Code suchen und die Stellen mit Deinem Code vergleichen und ergaenzen (oder komplett den Code hier aus dem Forum uebernehmen).

Gruss
Christa

acquire
Beiträge: 194
Registriert: So 13. Jun 2004, 13:24
Kontaktdaten:

Beitrag von acquire » So 27. Jun 2004, 18:30

Schönes Modul. Sowas habe ich gebraucht!

spengel
Beiträge: 25
Registriert: Do 29. Apr 2004, 12:52
Kontaktdaten:

Beitrag von spengel » Mo 28. Jun 2004, 17:51

dito, schaut sehr gut aus. Leider verabschiedet sich bei mir bei Einsatz des Scripts die Hauptnavi komplett. Jemand eine Ahnung wo da eine Überschneidung sein könnte ? Varaiblen wurden testweise umbenannt, aber noch keine Lösung gefunden.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 28. Jun 2004, 17:56

spengel hat geschrieben:Jemand eine Ahnung wo da eine Überschneidung sein könnte ?
hmm, leider nicht wirklich. Aber zwei Fragen:

1. hast Du die korrigierte Version benutzt, oder hast Du sie vor der Korrektur schon genommen? Ich habe die idart noch dazu genommen.
2. steht etwas im errorlog.txt?

spengel
Beiträge: 25
Registriert: Do 29. Apr 2004, 12:52
Kontaktdaten:

Beitrag von spengel » Mo 28. Jun 2004, 18:05

teste erst seit ca. 1h, dürfte also die neue sein.

Code: Alles auswählen

[28-Jun-2004 19:03:07] PHP Parse error:  parse error, unexpected ')' in /www/htdocs/xxx/front_content.php(552) : eval()'d code on line 92
*suchestart*

[/quote]

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 28. Jun 2004, 18:18

spengel hat geschrieben:teste erst seit ca. 1h, dürfte also die neue sein.
stimmt.
Noch 'ne dumme Frage: konfiguriert hast Du das Modul schon? Bzw. das Template, in dem das Modul eingebunden ist ...

spengel
Beiträge: 25
Registriert: Do 29. Apr 2004, 12:52
Kontaktdaten:

Beitrag von spengel » Mo 28. Jun 2004, 19:07

ist angepaßt und eingebaut
Testseite unter http://www.asv-nienborg.de/front_content.php?idcat=181

allerdings blockiert auch das unveränderte Originalscript die Seite mit o.g. Fehlermeldung

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 28. Jun 2004, 19:16

ich meinte nicht angepasst sondern konfiguriert. Du musst die Kategorie bzw. den Artikel, wo das Modul benutzt wird, konfigurieren, und dort die Anzahl der Artikel einstellen, deren Ueberschriften angezeigt werden sollen.

Welches Originalskript meinst Du jetzt? Die erste Version, die ohne Links, oder was?

Und noch eine andere Frage: welches Modul benutzt Du fuer die Navi, das mitgelieferte oder ein anderes?

Aha ... ich habe doch die Ursache gefunden: Du hast das Modul nicht konfiguriert. :P

Code: Alles auswählen

[28-Jun-2004 20:02:29] Invalid SQL: SELECT DISTINCT ARTLANG.title, ARTLANG.lastmodified, ARTLANG.idart, CAT.idcat 
           FROM contenido_art_lang AS ARTLANG, 
                    contenido_cat_art AS CATART, 
                    contenido_cat AS CAT, 
                    contenido_content AS CONTENT 
           WHERE ARTLANG.online = '1' AND ARTLANG.idlang= '1' 
                      AND ARTLANG.idart = CATART.idart 
                      AND CATART.idcat = CAT.idcat 
                      AND ARTLANG.idartlang = CONTENT.idartlang 
                      AND CAT.idclient = '1' 
           ORDER BY lastmodified desc 
           LIMIT 0,<br><br>
Da fehlt offensichtlich die Anzahl hinten beim LIMIT (nach dem Komma fehlt eine Zahl).

spengel
Beiträge: 25
Registriert: Do 29. Apr 2004, 12:52
Kontaktdaten:

Beitrag von spengel » Mo 28. Jun 2004, 19:21

nee, konfiguriert ist es schon (sonst würden ja keine 5 Artikel angezeigt, siehe Testseite^^)

die Logmeldung enstand beim testen Deiner Originalversion (meine ist auf mod-Rewrite konfiguriert) und ist nicht das wirkliche Problem

müßte das mitgelieferte Navi sein

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mo 28. Jun 2004, 19:28

ich kenne mich mit dem mod-rewrite-Zeug nicht aus, kann also nicht beurteilen, ob's daran liegt, aber der logfile-Eintrag ist auch erst 20 Minuten alt gewesen ....
Zum mod-rewrite (damit ich jetzt nicht noch im Forum danach suchen musst): musstest Du am Modul selbst etwas aendern, oder nur woanders? Wenn woanders, ist das schon laenger her, oder musstest Du jetzt auch speziell wegen dieses Moduls noch etwas aendern? Ich vermute fast, dass es irgendwie damit zusammenhaengt.

Gesperrt