w3concepts Artikelliste mit Kategorienamen als Unterteilung
w3concepts Artikelliste mit Kategorienamen als Unterteilung
Hallo,
versuche mich gerade an einem Modul-Mix aus Hauptnavigation und w3concept.alist*. Habe auch ein Posting http://contenido.org/forum/viewtopic.php?t=8659 gefunden, was in etwa in diese Richtung geht.
Da ich hier zu keinem brauchbaren Ergebnis komme, bin ich zu dem Schluss gekommen, dass dieser Ansatz falsch ist. Das Hauptnavigations-Modul im Zusammenhang mit der Funktion catIsChildOf() bricht die ganze Sache im Ansatz schon ab, da richtigerweise keine Überkategorie gefunden wird.
HAUPTNAVI
SERVICENAVI
NEWSORDNER
POLITIK
WIRTSCHAFT
...
Eigentlich möchte ich, dass alle Artikel die unter Politik und Wirtschaft stehen aufgelistet werden. Und zwar mit der jeweiligen Kategoriebezeichnung als Überschrift und nach Kategorienamen sortiert. Letzters stellt kein großes Problem dar.
Meine Frage ist nun, ob es überhaupt Sinn macht, mit dem Hauptnavigationsmodul zu arbeiten. Ist eine neue SQL-Abfrage nach allen Kategorien einer sel_idcat der bessere Weg?
versuche mich gerade an einem Modul-Mix aus Hauptnavigation und w3concept.alist*. Habe auch ein Posting http://contenido.org/forum/viewtopic.php?t=8659 gefunden, was in etwa in diese Richtung geht.
Da ich hier zu keinem brauchbaren Ergebnis komme, bin ich zu dem Schluss gekommen, dass dieser Ansatz falsch ist. Das Hauptnavigations-Modul im Zusammenhang mit der Funktion catIsChildOf() bricht die ganze Sache im Ansatz schon ab, da richtigerweise keine Überkategorie gefunden wird.
HAUPTNAVI
SERVICENAVI
NEWSORDNER
POLITIK
WIRTSCHAFT
...
Eigentlich möchte ich, dass alle Artikel die unter Politik und Wirtschaft stehen aufgelistet werden. Und zwar mit der jeweiligen Kategoriebezeichnung als Überschrift und nach Kategorienamen sortiert. Letzters stellt kein großes Problem dar.
Meine Frage ist nun, ob es überhaupt Sinn macht, mit dem Hauptnavigationsmodul zu arbeiten. Ist eine neue SQL-Abfrage nach allen Kategorien einer sel_idcat der bessere Weg?
Habe mich mal mit der Klasse ArticleCollection befasst und folgendes gezaubert:
Hier sollen die Name $db->f("name") aller Unterkategorien der gegebenen Kategorie CMS_VALUE[0] und die Titel $article->get("title")aller Artikel die in diesen Unterkategorien sind ausgegeben werden.
Leider funktioniert das nicht so, wie ich mir das denke. Die Namen der Unterkategorien werden richtig ausgegeben, aber die Artikelklasse scheint immer leer zu sein.
Bin für jeden Tipp dankbar.
Code: Alles auswählen
<?php
global $cfg, $client, $lang;
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
$idcat = CMS_VALUE[0]
if ( !is_object($db2) ) {
$db = new DB_Contenido;
}
$sql = "SELECT
CAT_LANG.name
FROM
".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CAT_LANG
WHERE
CAT.idclient = '".$client."'
AND
CAT_LANG.idlang = '".$lang."'
AND
CAT.idcat = CAT_LANG.idcat
AND
CAT.parentid = '".$idcat."'";
$db->query($sql);
while ($db->next_record()) {
$name = $db->f("name");
$parentid = $db->f("parentid");
echo "<b>".$name."<b><br>\n";
$articleListOptions = array("idcat" => $parentid,
"lang" => $lang,
"client" => $client,
"start" => 0,
"order" => "created",
"direction" => "asc");
$articleList = new ArticleCollection($articleListOptions);
while ($article = $articleList->nextArticle()){
$title = $article->get("title");
echo $title."<br>\n";
} //END WHILE
} //END WHILE
?>
Leider funktioniert das nicht so, wie ich mir das denke. Die Namen der Unterkategorien werden richtig ausgegeben, aber die Artikelklasse scheint immer leer zu sein.
Bin für jeden Tipp dankbar.
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Ist das der Start einer Funktion oder warum hast du globale Var definiert?MyAccount hat geschrieben:Code: Alles auswählen
<?php global $cfg, $client, $lang; include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
Sollte das nicht heißenCode: Alles auswählen
if ( !is_object($db2) ) { $db = new DB_Contenido; }
Code: Alles auswählen
if ( !is_object($db) ) {
$db = new DB_Contenido;
Soviel ich gesehen habe darfst du die Klasse ArticleCollection nicht in die 1. while Schleife legen, sonst wird jedesmal ein und dieselbe Instanz neu angelegt. Nicht 100% sicher, ich schnupper auch erst in diese Klassen rein.Code: Alles auswählen
$sql = "SELECT CAT_LANG.name FROM ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["cat_lang"]." AS CAT_LANG WHERE CAT.idclient = '".$client."' AND CAT_LANG.idlang = '".$lang."' AND CAT.idcat = CAT_LANG.idcat AND CAT.parentid = '".$idcat."'"; $db->query($sql); while ($db->next_record()) { $name = $db->f("name"); $parentid = $db->f("parentid"); echo "<b>".$name."<b><br>\n"; $articleListOptions = array("idcat" => $parentid, "lang" => $lang, "client" => $client, "start" => 0, "order" => "created", "direction" => "asc"); $articleList = new ArticleCollection($articleListOptions); while ($article = $articleList->nextArticle()){ $title = $article->get("title"); echo $title."<br>\n"; } //END WHILE } //END WHILE ?>
Aber es gibt da einen sehr guten Thread der das ganze verständlich und mit Beispiel erklärt.
Guckst du hier
http://contenido.org/forum/viewtopic.php?t=2087
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Ist schon raus. Hatte das tatsächlich aus der Funktion.Ist das der Start einer Funktion oder warum hast du globale Var definiert?
Da hast Du auch Recht.Sollte das nicht heißenCode: Alles auswählen
if ( !is_object($db) ) { $db = new DB_Contenido;
Das da jedesmal ein neues Objekt ArticelCollection erzeugt wird, ist auch so gewollt. Eine Collection für jede Kategorie.
Den Artikel, den Du empfiehlst, habe ich gelesen. Nur, weil ich darüber gestolptert bin, habe ich die Klasse ArticleCollection überhaupt entdeckt. Hey, und ich weiß jetzt, dass es einen extra Ordner für Klassen gibt. Kleiner Spaß.
Wäre toll, wenn es eine CategoryCollection gäbe.
Gruß Frank
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Einen habsch noch
Guckst du hier
http://www.thilo-sommer.de/PHPMyFAQ/ind ... =2&lang=de
Ist auch nochmal alles genau erklärt. Hab im Moment nur zu wenig Zeit, bastel grad an nem Tickermodul. Dabei verwende ich die beiden Klassen aber auch und es funzt.
hatte nur Probleme nach Copy&Paste aus der FAQ, hab dann einen Variablennamen angepaßt und es ging. Glaube mit der Variablen $articleList gibt es irgendwie ein Problem, hab sie in $artikelListe umbenannt. Weiß nicht ob evtl 'article' ein reservierter Begriff ist in PHP, war auf alle Fälle scho komisch.
Hier mal der Auszug aus meiner Funktionierenden Abfrage
Du kannst dabei mit z. B. den Titel des Artikels rausziehen, oder mit
auf die Contentinhalte der Artikel zugreifen. Nicht schlecht das Teil
Ach mist, scho wieder nach 12, muß weiter, noch nen Entwurf online stellen
Und morgen um halb sieben is die Nacht auch wieder zu Ende
Also bis denne
Guckst du hier
http://www.thilo-sommer.de/PHPMyFAQ/ind ... =2&lang=de
Ist auch nochmal alles genau erklärt. Hab im Moment nur zu wenig Zeit, bastel grad an nem Tickermodul. Dabei verwende ich die beiden Klassen aber auch und es funzt.
hatte nur Probleme nach Copy&Paste aus der FAQ, hab dann einen Variablennamen angepaßt und es ging. Glaube mit der Variablen $articleList gibt es irgendwie ein Problem, hab sie in $artikelListe umbenannt. Weiß nicht ob evtl 'article' ein reservierter Begriff ist in PHP, war auf alle Fälle scho komisch.
Hier mal der Auszug aus meiner Funktionierenden Abfrage
Code: Alles auswählen
// Klasseninstanz oder Abbrechen
$artikelListe = new ArticleCollection($articleListOptions) or die( "Klasse ArticleCollection existiert nicht");
while ($artikel = $artikelListe->nextArticle())
{ if ("CMS_VALUE[9]" == "title" || "CMS_VALUE[9]" == ""){
$headline = $artikel->get("title"); }
else {
$headline = $artikel->getContent("CMS_VALUE[9]", "CMS_VALUE[8]");}
if (strlen($headline) > $maxChar) {
$headline = substr($headline, 0, $maxChar);
$headline .= "...";}
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$artikel->get('idart')."&m=$m&s=$s");
$TickerText .= '<a href="'.$link.'" class="TickerLink" onfocus="if(this.blur)this.blur()">'.$headline.'</a>';
$TickerText .= $TickerDelimiter;
unset($headline);
} // end while
Code: Alles auswählen
$artikel->get("title")
Code: Alles auswählen
$artikel->getContent(<CMS_VAR>, <CMS_VAR_NR>);}
Ach mist, scho wieder nach 12, muß weiter, noch nen Entwurf online stellen
Und morgen um halb sieben is die Nacht auch wieder zu Ende
Also bis denne
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Nicht wirklichMyAccount hat geschrieben:Wieso eigentlich oldperl?! Soll das heißen, dass Du Perl den Rücken gekehrt hast?
Ist eher aus alten Chattagen geblieben und ich bin zu bequem mir jedesmal nen anderen auszudenken
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 213
- Registriert: Mi 9. Okt 2002, 21:24
- Kontaktdaten:
Re: w3concepts Artikelliste mit Kategorienamen als Unterteilung
Habe ein Problem den Content aus der konfigurationn abzufragen
klappt leider nicht
besteht überhaupt die Möglichkiet damit den Inhalt abzufragen?
Code: Alles auswählen
$headline = $artikel->getContent("CMS_VALUE[1]");
besteht überhaupt die Möglichkiet damit den Inhalt abzufragen?
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: w3concepts Artikelliste mit Kategorienamen als Unterteilung
Hallo hypekermit,
schau dir mal bitte die API-Doku zur Klasse Article und ArticleCollection an. Die Klassenfunktion getContent kann für bestimmte Inhaltstypen abgefragt werden, welche in den Klassenkommentaren bezeichnet sind.
http://www.conrepo.org/apidoc/contenido ... 8.11/html/
Auch würde ich hier die CMS-Value nicht direkt im Aufruf der Funktion nutzen, sondern vorher eine Variable damit füllen und diese auf den richtigen Inhalt, bzw. auf ein Leer sein,
prüfen.
Gruß aus Franken
Ortwin
schau dir mal bitte die API-Doku zur Klasse Article und ArticleCollection an. Die Klassenfunktion getContent kann für bestimmte Inhaltstypen abgefragt werden, welche in den Klassenkommentaren bezeichnet sind.
http://www.conrepo.org/apidoc/contenido ... 8.11/html/
Auch würde ich hier die CMS-Value nicht direkt im Aufruf der Funktion nutzen, sondern vorher eine Variable damit füllen und diese auf den richtigen Inhalt, bzw. auf ein Leer sein,
prüfen.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 213
- Registriert: Mi 9. Okt 2002, 21:24
- Kontaktdaten:
Re: w3concepts Artikelliste mit Kategorienamen als Unterteilung
hallo ortwin,
danke für den Tip.
aber leider steige ich da ganz nicht durch.
in der api steht nichts von CMS_VALUE[x] abfragen
hast du schon so etwas realisiert wenn ja hast du ein snippet für mich wie es funktioniert?
danke & viele Grüße
Michael
danke für den Tip.
aber leider steige ich da ganz nicht durch.
in der api steht nichts von CMS_VALUE[x] abfragen
hast du schon so etwas realisiert wenn ja hast du ein snippet für mich wie es funktioniert?
danke & viele Grüße
Michael