Indexseite: Anzeige mit Artikelanzahl ändern

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
Antworten
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Indexseite: Anzeige mit Artikelanzahl ändern

Beitrag von hscha »

Hallo Forumgemeinde!

Auf meinen Indexseiten habe ich oben und unten jeweils einen seitenanfang- und seitenende-Link eingefügt, damit die Navigation auf Seiten mit vielen Artikeln einfacher wird.

Problem: Ich möchte diese Links nur anzeigen lassen, wenn die Artikelzahl größer als zwei ist. Wo kriege ich die Anzahl der gefundenen Artikel her? Bei der erweiterten Navigation wird sie in den ja Rubriken angezeigt. Ich möchte erreichen, dass die o.g. Seitennavigation erst ab 3 Artikeln automatisch eingeschaltet wird.

Über einen Tipp freut sich
H.Schallnas, Berlin

Hier die Site, an der ich arbeite:
http://www.gokinkel.cidsnet.de/cms/_rub ... c=projekte
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Du musst die index.php so ähnlich umbauen, wie es MarkusR hier: http://community.conpresso.de/viewtopic.php?t=3088 geschrieben hat, damit die _inlcude/i_index.php vor dem Header ausgeführt wird.

Dann kannst du auf die Variable $anzahl zugreifen, welche in der _include/i_index.php mit Inhalt belegt wird.

Das ist jetzt erstmal ins blaue gedacht, könnte aber so funktionieren.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

$anzahl ermitteln

Beitrag von hscha »

Hallo Matthias!

Ich habe die /_rubric/index.php so geändert:

Code: Alles auswählen

<?php
define('CPO', true);
require_once('../_include/common.inc.php');
require_once(CPO_BASEDIR.'_include/printnavigation.inc.php');

$pagetype = 'index';
require(CPO_BASEDIR.'_include/var_category.php');
require(CPO_BASEDIR.'_include/secure.php');

ob_start(); 
require(CPO_BASEDIR.'_includesite/i_index.php'); 
$anzahl = ob_get_contents(); 
ob_end_clean();            

include(CPO_BASEDIR.$directory.'/loadheaders.php');
echo $anzahl;
include(CPO_BASEDIR.$directory.'/loadfooters.php');
?>
Leider ist die Variable, wenn ich sie im _cfg/_global_header.php auswerten will, leer. Habe ich den richtigen Code verwendet?

Grüße aus dem verregneten Berlin von
H.Schallnas
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 »

Du solltest es schon so lassen:

Code: Alles auswählen

<?php 
define('CPO', true); 
require_once('../_include/common.inc.php'); 
require_once(CPO_BASEDIR.'_include/printnavigation.inc.php'); 

$pagetype = 'index'; 
require(CPO_BASEDIR.'_include/var_category.php'); 
require(CPO_BASEDIR.'_include/secure.php'); 

ob_start(); 
require(CPO_BASEDIR.'_includesite/i_index.php'); 
$articles = ob_get_contents(); 
ob_end_clean();            

include(CPO_BASEDIR.$directory.'/loadheaders.php'); 
echo $articles; 
include(CPO_BASEDIR.$directory.'/loadfooters.php'); 
?>
Innerhalb von i_index.php wird die Variable $anzahl mit der Zahl der Artikel auf der Seite belegt.
Das könntest Du nun in Header und Footer mit
if ($anzahl > 2) echo ...(gewünschter Code)...
benutzen.
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
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

seltsames verhalten

Beitrag von hscha »

Hallo Matthias!

Danke für deine schnelle Antwort. Ich habe den Code in der index.php geändert und im _global_header.php-script die Zeilen

Code: Alles auswählen

// seitenlinks bei weniger als 3 artikeln ausschalten (wird in _local_header und -footer ausgewertet:
if ($anzahl < 3 && $nr == ''){$ae= 'off';}
else {$ae= '';}
eingefügt. Die Variable $ae schaltet die Seitenanfangs- und -ende-Links aus. $nr musste ich einfügen, weil sonst die Seitennavigation auf den detail-Seiten ebenfalls ausgeschaltet würde.

Das funktioniert bei einigen Rubriken prima, bei anderen nicht, was ich nicht verstehe! Hier zwei Beispiele:
http://www.gokinkel.cidsnet.de/cms/_rub ... =ehemalige: Hier sind drei Artikel eingestellt, die Seitenlinks erscheinen korrekt.
http://www.gokinkel.cidsnet.de/cms/_rub ... =schulkonf: drei Artikel ohne Seitenlinks.
In den Rubriken "fachangebot" erscheinen sie überhaupt nicht, obwohl diese z.T. mehr als zwei Artikel enthalten:
z.B. http://www.gokinkel.cidsnet.de/cms/_rub ... ubric=kurs: hier sind wesentlich mehr als 2 Artikel drin, aber die Seitenlinks erscheinen nicht.

Gibt es irgendwelche rubrikspezifischen Einstellungen, die die Variable $anzahl beeinflussen?

Abendliche Grüße aus Berlin
von H.Schallnas
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 »

Tu Dir selbst doch mal den Gefallen und lasse $anzahl ausgeben, denn normalerweise MUSS es genau der Artikelzahl entsprechen.

Und irgendwie erinnert mich Dein $ae an die Variable für Active Elements $ae aus der Navigation ...
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
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Re: seltsames verhalten

Beitrag von Matthias V »

hscha hat geschrieben:Gibt es irgendwelche rubrikspezifischen Einstellungen, die die Variable $anzahl beeinflussen?
Eigentlich nicht.
Aber gib mal die Variable $anzahl zu Kontrollzwecken aus.

Gruß Matthias V

P.S. Du hast aber schon bemerkt, dass Markus dir hier weiter geholfen hat, nachdem ich einen Tipp am Anfang gegeben habe ... oder?

Aber du bist nicht der erste, der uns verwechselt, aufgrund der Namen, die beide mit "Ma" anfangen.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

matthiasmarkus...

Beitrag von hscha »

Hallo Matthias,
hallo Markus!

Es war mir tatsächlich entgangen, dass sich Markus auch mit meinem Problem befasst hat ;-)). Sorry Markus!

Evtl. liegt es wirklich an meiner Variablen $ae, denn es ist mir aufgefallen, dass die Zeile

Code: Alles auswählen

require_once(CPO_BASEDIR.'_include/printnavigation.inc.php');
in der ursprünglichen index.php nicht enthalten war. Vielleicht funkt mir die dazwischen.

Auch den Tipp mit der Ausgabe der Variablen $anzahl probiere ich heute Abend aus!

Vielen Dank euch beiden :)

H.Schallnas
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Re: matthiasmarkus...

Beitrag von Matthias V »

hscha hat geschrieben:Evtl. liegt es wirklich an meiner Variablen $ae, denn es ist mir aufgefallen, dass die Zeile

Code: Alles auswählen

require_once(CPO_BASEDIR.'_include/printnavigation.inc.php');
in der ursprünglichen index.php nicht enthalten war. Vielleicht funkt mir die dazwischen.
Diese Zeile ist in die common.inc.php gewandert und wird daher nicht mehr in der index.php oder sonstigen Dateien benötigt.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

rätsel um "archiv aktivieren"

Beitrag von hscha »

Hallo Matthias & Markus :D

Nachdem ich den Inhalt der Variablen $anzahl nun ganz oben links auf der Website ausgeben lasse, habe ich einen Zusammenhang zwischen der übermittelten Artikel-Anzahl und einem gesetzten Häkchen bei "Archiv aktivieren" in den Rubrik-Einstellungen gefunden:

In der Rubrik "projekte" auf meiner Website (http://www.gokinkel.cidsnet.de/cms/_rub ... c=projekte) funktioniert alles richtig. Als Anzahl wird die richtige Menge von Artikeln wiedergegeben. "Archiv aktivieren " ist in den Rubrikeinstellungen gesetzt und die Rubrik enthält mehrere archivierte Artikel.

In der Rubrik "fachangebot: naturwissenschaften" (http://www.gokinkel.cidsnet.de/cms/_rub ... ubric=nawi ist "Archiv aktivieren" gesetzt, die Rubrik enthält aber momentan keine archivierten Artikel. Hier wird für $anzahl "0" zurückgegeben. In der Rubrik "kurse" (http://www.gokinkel.cidsnet.de/cms/_rub ... ubric=kurs) habe ich das gleiche Problem durch Ausschalten von "Archiv aktivieren" behoben. Hier wird auch die Artikelanzahl richtig ausgegeben.

Es scheint ein Problem mit dem Artikelarchiv zu bestehen, denn auch in http://www.gokinkel.cidsnet.de/cms/_rub ... p?rubric=3 wird die Artikelanzahl zwar richtig ausgegeben, jedoch funktioniert da meine Link-Automatik auch noch nicht.

Ich bin zwar gerade geneigt, dieses Thema fallen zu lassen, da ich die Links ja auch manuell ein- und abschalten kann, jedoch schick wär's ja, wenn es zuverlässig funktionierte.

Grüße aus dem Dauerregengebiet Berlin
von
H.Schallnas
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 714
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 217 Mal
Danksagung erhalten: 26 Mal
Kontaktdaten:

Nachtrag

Beitrag von hscha »

Nachtrag zum obigen Beitrag:

Inzwischen läuft die automatische Seiten-Link-Abschaltung auf allen Seiten prima. Nur das Problem mit achive.php besteht weiterhin.
Ich habe noch nicht herausbekommen, warum hier zwar die Artikelanzahl korrekt ausgegeben wird, die if-Bedingung aber trotzdem anspringt:

Code: Alles auswählen

if ($anzahl < 3 && $nr == ''){$aelnk = 'off';}
gibt bei archive.php IMMER $aelnk = 'off' aus, obwohl die Artikelanzahl größer ist als 2!

Bei eingeschaltetem "Archiv aktivieren" und nicht vorhandenen archivierten Artikeln ist $anzahl IMMER = 0.
Das muss doch einen Grund haben...:gruebel:

Gut, es gibt weltbewegendere Probleme... :roll:

Grüße aus Berlin von
H.Schallnas
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Die Datei _includesite/i_index.php ruft fast am Ende die Datei _include/next_index.php auf, welche wiederum _include/show_archive.php aufruft.
Und diese Datei zählt die die Anzahl der archivierten Artikel, mithilfe der Variablen $anzahl, wenn $cpoRubricSettings['showArchive'] gesetzt ist. Deshalb hat diese Variable in deinem Beispiel den Wert 0.

Es ist also durchaus erklärbar, was du beschreibst.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo Hscha,

suche mal in der _includesite/i_index.php die Zeile (etwa Zeile 111):

Code: Alles auswählen

$anzahl = $db->num_rows();
und füge danach

Code: Alles auswählen

$index_anzahl = $anzahl;
ein.

Dann kannst du in deiner Abfrage $index_anzahl statt $anzahl benutzen und diese Variable wird später von Conpresso auch nicht wieder in einer anderen Datei überschrieben.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Antworten