mod_pages - Artikelanzahl auslesen

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

widersinnig
Kannst Du das erläutern?
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
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Ja kann ich:

Rubrik Nr. 02: 3 Artikel, Ausgabe:
Rubrik Nr. 17: 2 Artikel, Ausgabe: 3
Rubrik Nr. 18: 0 Artikel, Ausgabe:
Rubrik Nr. 32: 0 Artikel, Ausgabe:
Rubrik Nr. 08, 5 Artikel, Ausgabe: 38
Rubrik Nr. 19, 7 Artikel, Ausgabe: 16
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Dann probiere mal diese Query:

Code: Alles auswählen

$query = "SELECT rubric_id, count(rubric_id) AS artikelanzahl FROM ( "
            . " SELECT rubric_id FROM "  
            . CPO_NEWS . " WHERE "  
            . ( $cpoSystem['release']  
            ? "artikel_archiv<2 AND freigabe=" . STATE_RELEASED  
            : "artikel_archiv<1 AND freigabe!=" . STATE_BLOCKED )  
            . " AND pub_datum<='" . date('Y-m-d H:i:s', time())  
            . "' AND verfallsdatum>='" . date('Y-m-d H:i:s', time())  
            . "' ) AS t GROUP BY rubric_id "; 
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
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Juhuu! Das funktioniert!
Jetzt baue ich nur noch eine if-Abfrage ein, sodass ein '0' als Anzahl ausgegeben wird anstelle '', wenn es keinen Artikel gibt.

Viiielen Dank!
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Bitte nochmal das probieren:

Code: Alles auswählen

$query = "SELECT rubric_id, count(rubric_id) AS artikelanzahl FROM "
            . CPO_NEWS . " WHERE "  
            . ( $cpoSystem['release']  
            ? "artikel_archiv<2 AND freigabe=" . STATE_RELEASED  
            : "artikel_archiv<1 AND freigabe!=" . STATE_BLOCKED )  
            . " AND pub_datum<='" . date('Y-m-d H:i:s', time())  
            . "' AND verfallsdatum>='" . date('Y-m-d H:i:s', time())  
            . "' GROUP BY rubric_id "; 
ist noch etwas schlanker und sollte es genauso tun...
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
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Ja, das funktioniert genauso gut.


Hast du mir vielleicht noch einen letzten Tipp, wie ich das Ergebnis '0' (für keine Artikel in der Rubrik) in $query direkt hineinschreiben kann? Das würde für den Redakteur den von ihm einzufügenden Code noch geringer halten.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ändere die Zeile

Code: Alles auswählen

<?php echo $artikelanzahl[RUBRIC_ID]; ?>
doch mal in

Code: Alles auswählen

<?php echo (int) $artikelanzahl[RUBRIC_ID]; ?>
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
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Ach ja, so einfach.... Ich wollte schon den "ternären Operator" einsetzen :?
Günther Ludwig
SebastianG
ConPresso-User
Beiträge: 72
Registriert: 04.04.2009 20:01
Hat sich bedankt: 29 Mal
Danksagung erhalten: 3 Mal

Beitrag von SebastianG »

[quote="MarkusR"]

Code: Alles auswählen

das könnte man auch schreiben als
[code]if ($db->v('titel') != '') $titel_string .= " • " . $db->v('titel');
[/quote]

ah ok, dann hab ich richtig verstanden, das das "eigentlich" nicht erforderlich ist, danke!

hab dir eine pm geschickt.
shorty
ConPresso-User
Beiträge: 28
Registriert: 19.02.2007 10:23
Hat sich bedankt: 4 Mal

Beitrag von shorty »

MarkusR hat geschrieben:Ändere die Zeile

Code: Alles auswählen

<?php echo $artikelanzahl[RUBRIC_ID]; ?>
doch mal in

Code: Alles auswählen

<?php echo (int) $artikelanzahl[RUBRIC_ID]; ?>
Wie erstelle ich eine Liste aller Rubriknamen und den korrespondierenden Rubrik IDs? Bzw. gibt es eine Funktion, die zu jedem Rubriknamen die ID ermittelt?

Ich möchte schreiben können

Code: Alles auswählen

<?php
print "Startseite: " . (int) $artikelanzahl[$RubricID[Startseite]] . ", " .
      "Über uns: " . (int) $artikelanzahl[$RubricID[Über uns]];
?>
"Startseite" und "Über uns" seien die Rubriknamen
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Code: Alles auswählen

	$db = new DB;
	$db->query('SELECT id, name FROM '.CPO_RUBRIC);
	while ($db->next_record()) {
		$RubricID[$db->v('name')] = $db->v('id');
	}
Damit steht in $RubricID jeweils der Name mit zugehöriger ID.
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
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hochinteressant! Das würde das Procedere für mindestens einen unserer Kunden erheblich vereinfachen, weil er dann nicht mehr für jede aufzulistende Rubrik die ID erst händisch ermitteln müsste.
Einzige Einschränkung: Der Rubrikname sollte tunlichst nicht verändert werden, wenn doch, dann ist hier nachzuarbeiten. Aber mit Rubriknamen-Änderungen sollte man eh vorsichtig sein, solange man Links auf Rubriken über den Rubriknamen setzt.

Apropos: Wäre es nicht diesbzgl. günstig, wenn man den ConPresso-eigenen Editor in dieser Hinsicht ändern würde, sodass die Rubrik-Verlinkung nur noch (oder optional?) über die Rubrik-ID gesetzt würde?
Auch die Angabe "Rubriken einbinden:" bei den Rubrikeinstellungen sollte dann besser (nur) mit der Rubrik-ID angezeigt werden.
Günther Ludwig
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hi Günther,

einerseits möchtest Du lieber Rubriknamen als IDs benutzen, andererseits möchtest Du den Editor ändern, so dass die ID und nicht der Rubrikname eingefügt wird. Was denn nun? ;-)

Wir füge den Rubriknamen ein, weil so der Name in der URL vorkommt und ggfs. von den Suchmaschinen berücksichtigt werden kann.

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

balu hat geschrieben:Hi Günther,

einerseits möchtest Du lieber Rubriknamen als IDs benutzen, andererseits möchtest Du den Editor ändern, so dass die ID und nicht der Rubrikname eingefügt wird. Was denn nun? ;)

Wir füge den Rubriknamen ein, weil so der Name in der URL vorkommt und ggfs. von den Suchmaschinen berücksichtigt werden kann.

Balu
Tja, das ist ja genau das Dilemma.
Für die Querverlinkung, welche Redakteure über den Editor in ihre Artikel einbauen, wünschte ich standardmäßig Links über Rubrik-IDs.
Aus SEO-Gesichtspunkten und weil es oft eben einfacher ist, käme die Verlinkung über den Rubrik-Namen infrage.

Aber es ist, deshalb kam ich in diesem Thread auf den Gedanken, auch eine Frage des Knowledge-Levels: Einem Superuser/Admin kann ich es durchaus zutrauen, sich der Problematik bewusst zu sein, wenn er Links über - veränderbare - Rubrik-Namen setzt.
Einem 08/15-Redakteur würde ich vorzugsweise nur die Rubrik-ID-Verlinkung ermöglichen.

es bleibt schwierig ;)
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Wäre es nicht - Standardkonformitätsprediger bitte mal weghören - praktisch, wenn einfach beides eingetragen wird, also

index.php?rubric=Rubrikname&rubric=RubricID

Für den Server zählt ja nur das letzte, also hat man auch bei Namensänderungen über die ID die korrekte Verlinkung, aber die Suchmaschinen haben was zu lesen, auch wenn es dann ggf. nicht mehr zu 100% stimmt. Ist aber immer noch besser als Links auf die falsche Seite...
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
Antworten