Hallo,
auf meiner Homepage gibt es ein Zeitschriftenarchiv. Schaut es Euch mal an, unter http://netportal.de/medien/zeitschriften. Wenn man dort auf eine Zeitschrift klickt, kommt man zur neusten Ausgabe und oben rechts gibt es Links zum Archiv.
Das Archiv gehoert zu den wenigen Seiten, die noch nicht nach Contenido portiert sind. Ich loese das derzeit so:
- Fuer jede Zeitschrift ein Verzeichnis
- Die HTML-Dateien heissen wie die Ausgaben der Zeitschrift. Die index.html ist immer identisch zur neusten Ausgabe (manuell).
- Es gibt im Verzeichnis eine .txt, die den HTML-Code fuer das Archiv enthaelt. Diese wird auf den einzelnen Archivseiten per SSI eingebunden (dann muss ich wenigstens nicht alle Seiten aendern, wenn die neuste Ausgabe kommt).
Ich wuerde jetzt gerne ein Modul/eine Erweiterung fuer Contenido schreiben:
Kategorie "Zeitschriften", darunter fuer jede Zeitschrift eine Kategorie, unterhalb der dann wieder die ganzen Ausgaben liegen.
- Das Modul "Show Archive" soll unterhalb der aktuellen Kategorie schauen, welche Artikel es gibt und etwas aehnliches wie den derzeitigen Index ins Archiv zurueckgeben (also quasi eine Liste "Ausgabe","Link zur Ausgabe"
Wie bekomme ich das hin?
Ich stelle mir die Logik in etwa so vor:
- Get "Aktuelle Kategorie" (Anhand der idart/idcat?)
- Get "Alle Artikel in der Kategorie inkl. Unterkategorieren"
- Create "Liste der gefundenen Artikel"
Wer kann mir sagen, wo ich da anfangen muss zu suchen?
Suche Ideen fuer Zeitschriftenarchiv
Re: Suche Ideen fuer Zeitschriftenarchiv
die aktuelle kategorie bekommst du über $idcatCaveman hat geschrieben:- Get "Aktuelle Kategorie" (Anhand der idart/idcat?)
um die unterkategorien ebenfalls mitaufzulisten wird das ganze etwas kombliziert.Caveman hat geschrieben:- Get "Alle Artikel in der Kategorie inkl. Unterkategorieren"
- Create "Liste der gefundenen Artikel"
du müsstest eine art verzeichnissbaum generieren um die idcat(s) der unterkategorien zu bekommen und anschließend für jede dieser idcats die artikel aus der db selektieren (für die listung der artikel könntest du das modul artikelliste modifizieren)
für den verzeichnissbaum könntest du auch das sitemap modul dafür hernehmen und mit der artikelliste kombinieren (ist fast die beste möglichkeit)
*** make your own tools (wishlist :: thx)
$idcat? Perfekt, dass ist das, was mir noch fehlte, gibt's unter "misc" noch ein Posting von heute zu mir.
Ich hatte ein wenig in den Standard-Modulen gewuehlt und war der Meinung, in CMS_VALUE[0] waere immer die aktuelle idcat.
Damit ist das Teil eigentlich schon fertig, muss nur noch den Output optisch aufbereiten (derzeit werden alle Links nacheinander ausgegeben). Im Moment hab ich die idcat hardcoded zum testen, Modul-Output ist wie folgt:
Das Grundgeruest ist vom Original-Newsarchiv Modul geklaut...
Im Original stand bei %sess... noch ein &s=$s&m=$m oder so aehnlich dran, ich denke mal, da soll eigentlich die Session-Variable uebergeben werden? Wenn ich mir die Links anschaue, steht da immer &s=$s&m=$m. Hab's nicht weiter ueberprueft, aber scheinbar sind die beiden Variablen leer. Schlimm?
Ich hatte ein wenig in den Standard-Modulen gewuehlt und war der Meinung, in CMS_VALUE[0] waere immer die aktuelle idcat.
Damit ist das Teil eigentlich schon fertig, muss nur noch den Output optisch aufbereiten (derzeit werden alle Links nacheinander ausgegeben). Im Moment hab ich die idcat hardcoded zum testen, Modul-Output ist wie folgt:
Code: Alles auswählen
<?
// Aktuelle Kategorie abfragen
$selcat="26";
// DB-Instanz
$dbi = new DB_Contenido;
if($selcat!="0" && $selcat!="")
{
$query = "SELECT idcat FROM ".$cfg["tab"]["cat"]." WHERE parentid = '$selcat'";
$dbi->query($query);
// Alle Childs des aktuellen Parent auslesen
while ($dbi->next_record())
{
$a_idcat[] =$dbi->f("idcat");
}
// Wenn Datensaetze gelesen wurden, darueber loopen
if (is_array($a_idcat))
{
foreach ($a_idcat as $key => $value)
{
// $value enthaelt nun die einzelnen Child-idcat
// Nun brauchen wir idcat (fuer den Link) und title (fuer die Beschriftung)
$query = "select * from ".$cfg["tab"]["cat_lang"]." where idcat = '$value'";
$dbi->query($query);
$dbi->next_record();
$s_name = $dbi->f("name");
$s_idcat = $dbi->f("idcat");
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$s_idcat");
echo '<a href="'.$link.'">'.$s_name.'</a>';
}
}
}
?>
Im Original stand bei %sess... noch ein &s=$s&m=$m oder so aehnlich dran, ich denke mal, da soll eigentlich die Session-Variable uebergeben werden? Wenn ich mir die Links anschaue, steht da immer &s=$s&m=$m. Hab's nicht weiter ueberprueft, aber scheinbar sind die beiden Variablen leer. Schlimm?
nein ist egal, &s=$s&m=$m wird glaube ich nur im modul quickfinder benutzt...Schlimm?
*** make your own tools (wishlist :: thx)