Artikelanzahl ermitteln und ausgeben

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo Markus,

danke für die Antwort.

Ich verwende keine Seitentemplates, nur header- und footer-Dateien.
Ich hatte Heike-Maries Zeile direkt übernommen an der beschriebenen Stelle in i_index.php (ohne das vorangestellte <?)

Ich habe meinen Fehler aber inzwischen entdeckt.
In der Variablen $anzahl wird wohl nur die Anzahl der Artikel der aktuellen Rubrik gespeichert, und da ich eine Rubrikseite ohne Artikel (mit anderen eingebundenen Rubriken) aufgerufen hatte, war $anzahl natürlich nie >1 :roll:

Ich hatte zwar gestern auch mal mit einem ganz simplen 'echo' getestet, ob überhaupt was ausgegeben wird, ohne Erfolg, aber das klappt jetzt. Vermutlich ein cache-Problem gestern...

Die Frage ist jetzt: Kann ich das Ganze irgendwie so anpassen, dass ich die Anzahl aller Artikel aller Rubriken anzeigen kann?
Noch toller wäre es, wenn man die Artikelanzahl anzeigen lassen könnte, die sich unter einem Navigationselement befindet (Stichwort mehrsprachige website)

Vielen Dank für die Hilfe!

Grüße,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

da ich eine Rubrikseite ohne Artikel [...] aufgerufen hatte
Das wäre meine nächste Frage gewesen, ob die Rubrik überhaupt Artikel enthält, aber ich dachte Dir wäre klar was $anzahl>1 bedeutet :wink:
Die Frage ist jetzt: Kann ich das Ganze irgendwie so anpassen, dass ich die Anzahl aller Artikel aller Rubriken anzeigen kann?
Noch toller wäre es, wenn man die Artikelanzahl anzeigen lassen könnte, die sich unter einem Navigationselement befindet (Stichwort mehrsprachige website)
Du meinst den Wert aus der CPO-Statistik? (_include/statistics.php)
Oder so wie die Sitemap von mod_menu?
Oder beides?

Grundsätzlich geht das alles, aber Du musst es schon ein wenig konkreter beschreiben, z.B. wie und wo Du es einsetzen möchtest.

Die Gesamtanzahl:

Code: Alles auswählen

// Online
$jetzt  = time();
$query = "SELECT COUNT(*) FROM ".CPO_NEWS." WHERE artikel_archiv < 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
DEBUG(2, $query, __FILE__, __LINE__);
$db->query($query);
$db->next_record();
$cpo_counter_ArticleOnline = $db->v('COUNT(*)');
echo $cpo_counter_ArticleOnline;
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Ich würde einfach gerne auf der Startseite (als Ziffer) ausgeben, wieviele Artikel es auf der ganzen Website gibt, oder besser noch: nur die Gesamtzahl der Artikel einiger ausgewählter Rubriken (damit nicht Artikel inhaltlich unrelevanter Rubriken mitgezählt werden).

Gruß,
dutch

EDIT:
Sehe gerade erst deinen code...
Werde ich testen!
Danke
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Darf ich annehmen, dass die Rubriken 35, 143, 835 und 7364 relevant sind?

Dann sollte das hier gehen (ungetestet):

Code: Alles auswählen

 
$jetzt  = time(); 
$query = "SELECT COUNT(*) FROM ".CPO_NEWS." WHERE artikel_archiv < 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' AND rubric_id IN (35, 143, 835, 7364)"; 
$db->query($query); 
$db->next_record(); 
$cpo_counter_ArticleOnline = $db->v('COUNT(*)'); 
echo $cpo_counter_ArticleOnline; 
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Danke für das script!

Und wo müsste das platziert werden?
Habe es gerade getestet in i_index und danach auch im global_header und local_header, bekomme aber nirgends eine Ausgabe...

Und um deiner nächsten Frage zuvor zu kommen ;) ja, ich hatte natürlich die Rubrik_ids gegen existierende ausgetauscht.

EDIT:
Habe es eben nochmals versucht (in der i_index.php) und jetzt wird wenigstens etwas ausgegeben, aber es ist immer nur '0'.
Die Rubriken beinhalten aber definitiv Artikel die auch online sind.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hm, keine Fehlermeldungen?

Probiere mal das hier:

Code: Alles auswählen

$db_count = new DB; 
$jetzt = date('Y-m-d H:i:s'); 
$query = "SELECT COUNT(*) FROM ".CPO_NEWS." WHERE artikel_archiv < 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' AND rubric_id IN (1,2,3,4,5)"; 
$db_count->query($query); 
$db_count->next_record(); 
$cpo_counter_ArticleOnline = $db_count->v('COUNT(*)'); 
echo $cpo_counter_ArticleOnline;
Habe wohl die falsche Zeile aus statistics.php kopiert.
(und einiges darin scheint einfach nur Müll zu sein...)

Bei mir funktioniert es so.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Hallo Markus,

Yep! Das funtioniert superrr! :D

Vielen Dank!
Grüße,
dutch
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Doch noch eine Frage zur Perfektionierung... 8)

Könnte man es auch so anpassen, dass man in der Scriptzeile nicht die Rubriken auflistet, deren Artikelanzahl man ausgeben möchte, sondern dass man alle Artikel aller Rubriken ausgibt, aber nur die Rubriken angeben kann, deren Artikel man nicht ausgeben lassen will?

Also quasi eine Ausschlussliste, anstelle der jetzigen 'Ausgabeliste'.
Wäre das machbar?
Wäre dann viel einfacher zu verwalten, da sich an den Rubriken, deren Artikelanzahl nicht ausgegeben werden soll, nur sehr wenig ändern wird, aber die Liste derer, die ausgegeben werden sollen, vermutlich noch deutlich wachsen wird.

Gruß,
dutch
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Probiere statt

Code: Alles auswählen

rubric_id IN (1,2,3,4,5)
mal

Code: Alles auswählen

rubric_id NOT IN (7,8,9)
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
dutch
ConPresso-Experte
Beiträge: 547
Registriert: 04.07.2007 17:12
Hat sich bedankt: 27 Mal
Danksagung erhalten: 7 Mal

Beitrag von dutch »

Scheint zu funktionieren!

Vielen Dank, jetzt ist es perfekt :wink:

Gruß,
dutch
Antworten