Konditionale Menüausgabe
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Konditionale Menüausgabe
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?
Irgendwelche Tricks bekannt/möglich?
Günther Ludwig
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
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
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
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
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
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.
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
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
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...
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
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
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.
Das Ergebnis kam beim Kunden gut an und habe ich gezippt angehängt. Die Datei enthält an den geänderten Stellen entsprechende Kommentare.
- Dateianhänge
-
- rubrics_list.inc.php.zip
- (4.55 KiB) 402-mal heruntergeladen
Günther Ludwig
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Ich habe jetzt mal versucht, die ursprüngliche Idee umzusetzen.
dafür habe ich in _include/printnavigation.inc.php folgende Funktion erstellt:
in der gleichen Datei habe ich dann in der Funktion printNavigation noch folgendes ergänzt:
die Zeile
wird ergänzt zu
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.
dafür habe ich in _include/printnavigation.inc.php folgende Funktion erstellt:
Code: Alles auswählen
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;
}
die Zeile
Code: Alles auswählen
foreach ($navi as $k=>$v) {
Code: Alles auswählen
$countarray = getArticleCount();
foreach ($navi as $k=>$v) {
if ($countarray[$v['rubric']['id']]<1) continue;
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.
- Dateianhänge
-
- printnavigation.inc.zip
- (2.19 KiB) 409-mal heruntergeladen
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
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Das ließe sich ggf. handeln, wenn es nicht auch für externe Links gilt. Wie sieht's dbzgl. aus?MarkusR hat 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.
Klingt ja nur logisch und konsequent.MarkusR hat geschrieben:Und bitte beachten: Die Unterpunkte einer leeren Rubrik werden NICHT ausgegeben, egal ob sie Inhalte haben.
Günther Ludwig
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Für externe Links muß die letzte Zeile noch etwas ergänzt werden:Mr. Magpie hat geschrieben:Das ließe sich ggf. handeln, wenn es nicht auch für externe Links gilt. Wie sieht's dbzgl. aus?
Code: Alles auswählen
if ($countarray[$v['rubric']['id']]<1 && !$v['navigation']['externalURL']) continue;
Das einfachste wäre die entsprechenden Rubriken jeweils mittels
Code: Alles auswählen
$countarray[x]=1;
Oder eben einen Alibi-Artikel...
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
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Hä? Nix da!Mr. Magpie hat geschrieben:Externe Links wurden gehighlighted? Muss ich gleich mal gucken, denn das wäre mir neu
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
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Wenn sich
Wenn dem nicht so ist, dann habe ich nichts weiter gesagt, behaupte das Gegenteil und das auch nur unter Vorbehalt sowie ohne Gewähr.
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.Das ließe sich ggf. handeln
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
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
- Mr. Magpie
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Nur deshalb kam ich überhaupt auf das Thema externe Links - was wahrscheinlich gar kein Thema für mich ist und war.MarkusR hat 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
Günther Ludwig