ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Konditionale Menüausgabe

 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 15.11.2012 16:33    Titel: Konditionale Menüausgabe Antworten mit Zitat

Ich suche eine Möglichkeit, um zu erreichen, dass ein Menüeintrag - Menü wird über printnavigation() von CPO 4.0.12 erzeugt - erst im Frontend sichtbar wird, wenn ein Artikel in der entsprechenden Rubrik veröffentlicht wurde.
Irgendwelche Tricks bekannt/möglich?

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 15.11.2012 17:21    Titel: Antworten mit Zitat

Das müsste man schon programmieren.
Alle Artikel nach Rubrik-ID gruppiert und als Anzahl auslesen.
Diese ID mit der in getNavigation gespeicherten verknüpfen und nur >0 ausgeben lassen.
Aber... es gibt Rubriken, die niemals Artikel beinhalten werden, wie mod_search, ggf. mod_form und andere Module mit Frontendausgaben und natürlich alle externen Links. Ist also eher was sehr spezifisches, was Du da vorhast Wink

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 15.11.2012 17:28    Titel: Antworten mit Zitat

Das habe ich mir schon gedacht.

Die Ermittlung der Artikelanzahl habe ich mir schon 2008 einmal eingebaut, allerdings nicht mit Wirkung auf das Menü. Und das Allerschnellste dürfte eine solche Lösung auch nicht sein.

Im Grunde geht's mir ja auch nur darum, einem Redakteur auch ohne "höhere Rechte" zu ermöglichen, einen Menüpunkt sichtbar zu schalten, indem er einen Artikel in der dem Menüpunkt entspr. Rubrik schreibt und freigibt.

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 15.11.2012 17:31    Titel: Antworten mit Zitat

Es würde auch schon ausreichen, wenn ich einem "Chefredakteur" erlauben könnte, den Haken wegzunehmen, der eine Geschlossene Rubrik "schließt".
_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 15.11.2012 17:44    Titel: Antworten mit Zitat

Must ja nur die Rechte runterschrauben.
In _views/rubrics_list.inc.php würde ich in der Zeile nach
// Manage
eben ROLE_CHIEFEDITOR benutzen, dann sollte der auch drankommen.

Das mit den Anzahlen hätte man mittels
SELECT `rubric_id`, count(`nr`) AS anzahl FROM `cpo4_news` GROUP BY `rubric_id`
einmal auslesen können und dann eben in printNavigation() eine bedingte Ausgabe erstellt. Man kann ja auch bei Rubriken, die gar keine Artikel brauchen zumindest einen Alibi-Artikel einstellen...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 15.11.2012 22:26    Titel: Antworten mit Zitat

Ich habe mich jetzt für die Änderung an _views/rubrics_list.inc.php entschieden. Allerdings blieb es bei mir nicht bei der bloßen Änderung von ROLE_SUPERUSER nach ROLE_CHIEFEDITOR, da ich nur die Rubrikeinstellungen, nicht aber auch die Rubrikrechtevergabe und das Rubriklöschen öffnen wollte.

Das Ergebnis kam beim Kunden gut an und habe ich gezippt angehängt. Die Datei enthält an den geänderten Stellen entsprechende Kommentare.





rubrics_list.inc.php.zip - 4.55 KB
299 mal


_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 18.11.2012 15:28    Titel: Antworten mit Zitat

Ich habe jetzt mal versucht, die ursprüngliche Idee umzusetzen.

dafür habe ich in _include/printnavigation.inc.php folgende Funktion erstellt:
Code:
function getArticleCount() {
   global $cpoSystem;
   $query = "SELECT rubric_id, count(nr) AS anzahl "
         ."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 ";
   $db = new DB;
   $db->query($query);
   $countarray = array();
   while ($db->next_record()) {
      $countarray[$db->v('rubric_id')] = $db->v('anzahl');
   }
   return $countarray;
}

in der gleichen Datei habe ich dann in der Funktion printNavigation noch folgendes ergänzt:

die Zeile
Code:
foreach ($navi as $k=>$v) {

wird ergänzt zu
Code:
$countarray = getArticleCount();
foreach ($navi as $k=>$v) {
   if ($countarray[$v['rubric']['id']]<1) continue;

also eine Zeile davor und eine dahinter gesetzt.

Das ist aber wie schon geschrieben ein Problem für Rubriken, die gar keine Artikel enthalten sollten, dort sollte man dann also einen Alibi-Artikel einstellen.

Und bitte beachten: Die Unterpunkte einer leeren Rubrik werden NICHT ausgegeben, egal ob sie Inhalte haben.





printnavigation.inc.zip - 2.19 KB
304 mal


_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: Mr. Magpie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 18.11.2012 18:06    Titel: Antworten mit Zitat

MarkusR hat Folgendes geschrieben:
Das ist aber wie schon geschrieben ein Problem für Rubriken, die gar keine Artikel enthalten sollten, dort sollte man dann also einen Alibi-Artikel einstellen.

Das ließe sich ggf. handeln, wenn es nicht auch für externe Links gilt. Wie sieht's dbzgl. aus?

MarkusR hat Folgendes geschrieben:
Und bitte beachten: Die Unterpunkte einer leeren Rubrik werden NICHT ausgegeben, egal ob sie Inhalte haben.

Klingt ja nur logisch und konsequent.

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 18.11.2012 18:33    Titel: Antworten mit Zitat

Mr. Magpie hat Folgendes geschrieben:
Das ließe sich ggf. handeln, wenn es nicht auch für externe Links gilt. Wie sieht's dbzgl. aus?

Für externe Links muß die letzte Zeile noch etwas ergänzt werden:
Code:
if ($countarray[$v['rubric']['id']]<1 && !$v['navigation']['externalURL']) continue;

allerdings funktioniert dann das Highlighting mittels class=active nicht, da externe Links nicht als zu highlightend angenommen werden.

Das einfachste wäre die entsprechenden Rubriken jeweils mittels
Code:
$countarray[x]=1;

quasi "anzuschalten". (wobei x für die Nummer der Rubrik steht und die Zeile entsprechend oft wiederholt wird).
Oder eben einen Alibi-Artikel...

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7

 
Für dieses Posting bedanken sich die folgenden User: Mr. Magpie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 18.11.2012 19:05    Titel: Antworten mit Zitat

Externe Links wurden gehighlighted? Muss ich gleich mal gucken, denn das wäre mir neu
_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 18.11.2012 19:36    Titel: Antworten mit Zitat

Mr. Magpie hat Folgendes geschrieben:
Externe Links wurden gehighlighted? Muss ich gleich mal gucken, denn das wäre mir neu

Hä? Nix da!
Wenn Du normale Rubriken, z.B. Modulrubriken als externe Links einhängst, dann werden sie nicht gehighlightet, zumindest nicht bei printNavigation, bei mod_menu schon.
Ich bin davon ausgegangen, daß Deine Fragestellung sowas als Idee zugrunde legt (externe Links für leere (Modul-)Rubriken).

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 18.11.2012 22:29    Titel: Antworten mit Zitat

Das Highlighten von externen Links hast ja DU ins Spiel gebracht.
ICH brauche keine gehighlighteten externe Links, auch nicht auf (leere) Modulrubriken.

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6994

BeitragVerfasst am: 18.11.2012 22:37    Titel: Antworten mit Zitat

Wenn sich
Zitat:
Das ließe sich ggf. handeln

als Zustimmung zum Einstellen von Alibi-Artikeln zu werten ist, dann habe ich Dich falsch verstanden. Die sofort angrenzende Frage nach externen Links lies die Vermutung aufkommen, daß Du externe Links benutzen willst.
Wenn dem nicht so ist, dann habe ich nichts weiter gesagt, behaupte das Gegenteil und das auch nur unter Vorbehalt sowie ohne Gewähr.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr. Magpie
ConPresso-Experte


Anmeldungsdatum: 01.01.1970
Beiträge: 996
Wohnort: Wuppertal

BeitragVerfasst am: 19.11.2012 09:03    Titel: Antworten mit Zitat

MarkusR hat Folgendes geschrieben:
Das müsste man schon programmieren.
Alle Artikel nach Rubrik-ID gruppiert und als Anzahl auslesen.
Diese ID mit der in getNavigation gespeicherten verknüpfen und nur >0 ausgeben lassen.
Aber... es gibt Rubriken, die niemals Artikel beinhalten werden, wie mod_search, ggf. mod_form und andere Module mit Frontendausgaben und natürlich alle externen Links. Ist also eher was sehr spezifisches, was Du da vorhast Wink

Nur deshalb kam ich überhaupt auf das Thema externe Links - was wahrscheinlich gar kein Thema für mich ist und war.

_________________
Günther Ludwig, amazingBytes webdesign   

Referenzen finden Sie hier: amazingBytes webdesign - Referenzen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4 Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen