Bestimmtes Bild beim Klick auf Menüpunkt
-
- Posts: 12
- Joined: Wed 31. May 2006, 23:54
- Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany
Bestimmtes Bild beim Klick auf Menüpunkt
Hallo,
vor einiger Zeit hatte ich mich schon einmal mit phpWCMS beschäftigt, das Projekt ist aber wieder eingeschlafen. Vor kurzem kam wieder der Gedanke auf. Seit einiger Zeit Probiere ich nun verschiedenen CMS aus (Xoops, Typo3 usw.), teilweise mit wenig Erfolg. weil zu kompliziert oder für meine Zwecke nicht geeignet. Bis ich nun wieder bei phpWCMS gelandet bin.
Nun zu meinem Problem:
Ich probiere u. ändere ein free-X templates u. möchte in der linken Spalte, abhängig vom gewählten Menüpunkt, ein bestimmtes Bild (Logo) anzeigen.
Ich habe hier im Forum schon gestöbert u. einen Beitrag gefunden, der fast alles erfüllt
(http://forum.phpwcms.org/viewtopic.php?p=71141#71141).
Meine Tests mit den beiden Vorschlägen haben auch funktioniert, aber ich möchte gerne einen Bildwechsel ab einer bestimmten Navigationsebene, nicht nur für die Top-Level-ID oder für eine bestimmte Level-ID.
Wahrscheinlich ist der zweite Vorschlag aus dem obigen Beitrag entsprechend einfach zu ändern, aber mangels Kenntnis eben nicht von mir.
Könnte mir da jemand behilflich sein?
Viele Grüße aus der Pfalz,
Ralf
vor einiger Zeit hatte ich mich schon einmal mit phpWCMS beschäftigt, das Projekt ist aber wieder eingeschlafen. Vor kurzem kam wieder der Gedanke auf. Seit einiger Zeit Probiere ich nun verschiedenen CMS aus (Xoops, Typo3 usw.), teilweise mit wenig Erfolg. weil zu kompliziert oder für meine Zwecke nicht geeignet. Bis ich nun wieder bei phpWCMS gelandet bin.
Nun zu meinem Problem:
Ich probiere u. ändere ein free-X templates u. möchte in der linken Spalte, abhängig vom gewählten Menüpunkt, ein bestimmtes Bild (Logo) anzeigen.
Ich habe hier im Forum schon gestöbert u. einen Beitrag gefunden, der fast alles erfüllt
(http://forum.phpwcms.org/viewtopic.php?p=71141#71141).
Meine Tests mit den beiden Vorschlägen haben auch funktioniert, aber ich möchte gerne einen Bildwechsel ab einer bestimmten Navigationsebene, nicht nur für die Top-Level-ID oder für eine bestimmte Level-ID.
Wahrscheinlich ist der zweite Vorschlag aus dem obigen Beitrag entsprechend einfach zu ändern, aber mangels Kenntnis eben nicht von mir.
Könnte mir da jemand behilflich sein?
Viele Grüße aus der Pfalz,
Ralf
Viele Grüße aus der Pfalz, Ralf
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Kannst du denn für die fraglichen Kategorien nicht einfach ein modifiziertes Template zuordnen, bei dem dieser Bilderwechsel bereits im Template verankert ist???
-
- Posts: 12
- Joined: Wed 31. May 2006, 23:54
- Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Wow, die erste Reaktion ging aber flott ,
Hallo Pepe,
ich weiß i.M. noch nicht genau wie du das meinst, aber ich kann meinen Wunsch vielleicht genauer ausdrücken.
Folgendes Skript ist aus dem Vorschlag aus dem früheren Beirag:
***********************************************************************************************************************************
<?php
// REPLACEMENT TAG {SHOW_CAT_IMAGE}
// You can hardcode some structur_level_ids (<- hope you understand that)
// and it gives you an image on every page that is below that id.
// Header images in different page_sublevels and did not want to do it with templates.
$cur_toplevel_name = '';
$GLOBALS['nav_point_listing'] = get_breadcrumb($GLOBALS['content']["cat_id"], $GLOBALS['content']['struct']);
$imageoutput = '';
if(isset($GLOBALS['nav_point_listing']) && count($GLOBALS['nav_point_listing']) > 1) {
reset($GLOBALS['nav_point_listing']);
next($GLOBALS['nav_point_listing']);
$cur_toplevel_id = html_specialchars($GLOBALS['content']['struct'][ intval(key($GLOBALS['nav_point_listing'])) ]['acat_id']);
}
switch($cur_toplevel_id) {
case 1: $imageoutput = '<img src="img/header/1.jpg" alt="" border="0" />'; break;
case 10: $imageoutput = '<img src="img/header/2.jpg" alt="" border="0" />'; break;
case 17: $imageoutput = '<img src="img/header/3.jpg" alt="" border="0" />'; break;
default: $imageoutput = '<img src="img/header/1.jpg" alt="" border="0" />';
}
$content['all'] = str_replace('{SHOW_CAT_IMAGE}', $imageoutput, $content['all']);
?>
***********************************************************************************************************************************
case xxx gibt eine Top-Level ID an, ab der ein bestimmtes Bild gezeigt wird, das Bild gilt in dem Fall für alle IDs ab diesem Level. Ein anderes Bild nach einer Top-Level ID zuordnen funzt nicht mehr.
Der obige Vorschlag ist deshalb so interessant, weil als RT einzubinden {SHOW_CAT_IMAGE}.
Ich habe folgende Struktur in der hor.Navi.:
Sportgruppen | Verein | Termine | usw.
Darunter sind noch einige Ebenen, die dann links angezeigt werden, aber die Bilder wirken immer ab der Top-Level ID.
Hallo Pepe,
ich weiß i.M. noch nicht genau wie du das meinst, aber ich kann meinen Wunsch vielleicht genauer ausdrücken.
Folgendes Skript ist aus dem Vorschlag aus dem früheren Beirag:
***********************************************************************************************************************************
<?php
// REPLACEMENT TAG {SHOW_CAT_IMAGE}
// You can hardcode some structur_level_ids (<- hope you understand that)
// and it gives you an image on every page that is below that id.
// Header images in different page_sublevels and did not want to do it with templates.
$cur_toplevel_name = '';
$GLOBALS['nav_point_listing'] = get_breadcrumb($GLOBALS['content']["cat_id"], $GLOBALS['content']['struct']);
$imageoutput = '';
if(isset($GLOBALS['nav_point_listing']) && count($GLOBALS['nav_point_listing']) > 1) {
reset($GLOBALS['nav_point_listing']);
next($GLOBALS['nav_point_listing']);
$cur_toplevel_id = html_specialchars($GLOBALS['content']['struct'][ intval(key($GLOBALS['nav_point_listing'])) ]['acat_id']);
}
switch($cur_toplevel_id) {
case 1: $imageoutput = '<img src="img/header/1.jpg" alt="" border="0" />'; break;
case 10: $imageoutput = '<img src="img/header/2.jpg" alt="" border="0" />'; break;
case 17: $imageoutput = '<img src="img/header/3.jpg" alt="" border="0" />'; break;
default: $imageoutput = '<img src="img/header/1.jpg" alt="" border="0" />';
}
$content['all'] = str_replace('{SHOW_CAT_IMAGE}', $imageoutput, $content['all']);
?>
***********************************************************************************************************************************
case xxx gibt eine Top-Level ID an, ab der ein bestimmtes Bild gezeigt wird, das Bild gilt in dem Fall für alle IDs ab diesem Level. Ein anderes Bild nach einer Top-Level ID zuordnen funzt nicht mehr.
Der obige Vorschlag ist deshalb so interessant, weil als RT einzubinden {SHOW_CAT_IMAGE}.
Ich habe folgende Struktur in der hor.Navi.:
Sportgruppen | Verein | Termine | usw.
Darunter sind noch einige Ebenen, die dann links angezeigt werden, aber die Bilder wirken immer ab der Top-Level ID.
Viele Grüße aus der Pfalz, Ralf
Re: Bestimmtes Bild beim Klick auf Menüpunkt
ich würde erst einmal pepe's vorschlag durchdenken (separate --> page templates ggf.) und hier findest du ggf. weitere infos:
http://forum.phpwcms.org/viewtopic.php? ... els#p10958
oder reden wir hier vom bildewechsel (hover) in der Navi???
http://forum.phpwcms.org/viewtopic.php? ... els#p10958
oder reden wir hier vom bildewechsel (hover) in der Navi???
-
- Posts: 12
- Joined: Wed 31. May 2006, 23:54
- Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Nein, kein Hover in der Navi, sondern ein Logo/Bild über der Navi in der linken Spalte, was sich ab einem Menüpunt ändert.Jensensen wrote: oder reden wir hier vom bildewechsel (hover) in der Navi???
Viele Grüße aus der Pfalz, Ralf
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Eine Antwort ist schwierig, wenn die Aufgabe nicht exakt klar ist....
Du kannst das ganze natürlich auch lösen, indem du im Template einen CustomBlock (TOP_LEFT_IMAGE) oberhalb der Navigation in die Seitenspalte positionierst...
und dann in jedem einzelnen Artikel in ein HTML-Element ein RT {RANDOM:....} in diesen CustomBlock TOP_LEFT_IMAGE ablegst...
Dann kannst du ganz individuell für jeden einzelnen Artikel deine Bildanzeige (auch RANDOM) steuern, ohne die EIntragungen in einem externen Script vornehmen zu müssen!!! Alle Arbeiten werden so im Backend erledigt... was ich favorisieren würde, da einfach
Du kannst das ganze natürlich auch lösen, indem du im Template einen CustomBlock (TOP_LEFT_IMAGE) oberhalb der Navigation in die Seitenspalte positionierst...
und dann in jedem einzelnen Artikel in ein HTML-Element ein RT {RANDOM:....} in diesen CustomBlock TOP_LEFT_IMAGE ablegst...
Dann kannst du ganz individuell für jeden einzelnen Artikel deine Bildanzeige (auch RANDOM) steuern, ohne die EIntragungen in einem externen Script vornehmen zu müssen!!! Alle Arbeiten werden so im Backend erledigt... was ich favorisieren würde, da einfach
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Hallo Gemeinde,
darf ich auch noch einen Lösungsvorschlag dazu orakeln?
Mir klingt das, als ob es mit einer leicht modifizierten headerimage_switch.php (war die nicht von dir pepe? finde den Beitrag grad nicht...) zu lösen wäre.
Pack das in eine Datei z.Bsp. image_switch.php und diese z.Bsp. nach include/inc_ext/
Bei default definierts Du das Bild, das in den oberen Leveln angezeigt werden soll. In den case-Anweisungen definiertst Du für die ID's, bei denen Du ein anderes Bild haben willst, eben dieses Bild (ID 52 -> case 52).
In deinem Template schreibst Du da wo das Bild hin soll {PHP:include/inc_ext/image_switch.php}.
Viel Erfolg, Heiko...
darf ich auch noch einen Lösungsvorschlag dazu orakeln?
Mir klingt das, als ob es mit einer leicht modifizierten headerimage_switch.php (war die nicht von dir pepe? finde den Beitrag grad nicht...) zu lösen wäre.
Code: Select all
<?php
switch($GLOBALS['content']['cat_id']) {
// 1=Your cat with ID 1
case 1: echo '<img src="pfad/zum/bild/bild1.jpg" border="0" alt="" />'; break;
case 2: echo '<img src="pfad/zum/bild/bild2.jpg" border="0" alt="" />'; break;
case 3: echo '<img src="pfad/zum/bild/bild3.jpg" border="0" alt="" />'; break;
default: echo '<img src="pfad/zum/bild/bild.jpg" border="0" alt="" />';
}
?>
Bei default definierts Du das Bild, das in den oberen Leveln angezeigt werden soll. In den case-Anweisungen definiertst Du für die ID's, bei denen Du ein anderes Bild haben willst, eben dieses Bild (ID 52 -> case 52).
In deinem Template schreibst Du da wo das Bild hin soll {PHP:include/inc_ext/image_switch.php}.
Viel Erfolg, Heiko...
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Natürlich funktioniert diese Lösung und ich verwende das oft in einer erweiterten Version, die zuvor einzelne Kategorien abfragt und anschließend die Hauptkategorien, wenn keine einzel-Cats vergeben sind....
Aber, die Frage ist, macht es Sinn, die Vergabe in ein separates Script zu verlegen, dessen Bearbeitung nur von einem etwas erfahreneren phpwcms-user gehandhabt werden kann?
Arbeiten, die innerhalb des Backends zu erledigen sind, sind i.A. leichter verständlich und auch für newbees realisierber... und dynamisch! Die Vorteile sind sicher nicht von der Hand zu weisen, oder?
Aber machbar... machbar ist Vieles, es kommt eben darauf an, wo der Schwerpunkt liegt und wie häufig anschließend Änderungen erforderlich sein werden.
Ich versuche, möglichst alles "mit Bordmitteln" zu erledigen... andere externe Scriptlets verwende ich nur, wenn es wirklich garnicht mehr geht, oder mir keine Lösung MIT phpwcms mehr einfällt.
So habe ich die geringsten Probleme, wenn es mal wieder an ein Update von phpwcms geht....
Aber, die Frage ist, macht es Sinn, die Vergabe in ein separates Script zu verlegen, dessen Bearbeitung nur von einem etwas erfahreneren phpwcms-user gehandhabt werden kann?
Arbeiten, die innerhalb des Backends zu erledigen sind, sind i.A. leichter verständlich und auch für newbees realisierber... und dynamisch! Die Vorteile sind sicher nicht von der Hand zu weisen, oder?
Aber machbar... machbar ist Vieles, es kommt eben darauf an, wo der Schwerpunkt liegt und wie häufig anschließend Änderungen erforderlich sein werden.
Ich versuche, möglichst alles "mit Bordmitteln" zu erledigen... andere externe Scriptlets verwende ich nur, wenn es wirklich garnicht mehr geht, oder mir keine Lösung MIT phpwcms mehr einfällt.
So habe ich die geringsten Probleme, wenn es mal wieder an ein Update von phpwcms geht....
-
- Posts: 12
- Joined: Wed 31. May 2006, 23:54
- Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Vielen Dank, für die Vorschläge,Heiko H. wrote: Pack das in eine Datei z.Bsp. image_switch.php und diese z.Bsp. nach include/inc_ext/
ich habe erst mal den Vorschlag von Heiko getestet. Das funzt auch sehr gut. Einziges Problem was ich noch habe, es sollte in der nachfolgenden Nav.-Struktur, also in der folgenden Nav.-Ebene (ich hoffe ich drücke mich da verständlich aus), jeweils das Bild der höheren Ebene angezeigt werden, solange, bis eine neue ID einer niedrigeren Nav.-Ebene definiert wird.
In deinem Vorschlag, Heiko, wird dann immer das Default-Bild angezeigt.
Viele Grüße aus der Pfalz, Ralf
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Hallo ralle,ralle wrote:Vielen Dank, für die Vorschläge,
ich habe erst mal den Vorschlag von Heiko getestet. Das funzt auch sehr gut. Einziges Problem was ich noch habe, ...
wie pepe schon gesagt hat:
wie pepe aber auch schon richtig gesagt hat, diese Lösung hat Grenzen. Sowas kann man einsetzten, wenn die Navi-Stuktur "überschaubar" ist und eine Pflege/Bildechsel vergleichsweise selten ansteht.pepe wrote:Natürlich funktioniert diese Lösung...
Vielleicht solltest Du doch eher über verschieden Templates nachdenken, oder du definierst dir einen eigenen Block und zeigst da das gewünschte Bild an, oder, oder, oder...
Leider hast Du uns keinen Link o.Ä. gepostet so kann man über den Umfang des Projekts nur mutmaßen.
Grüße Heiko...
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Hier hab ich mal ein altes script rausgekramt, welches im oberen Bereich die einzelnen Kategorien mit Bildern oder Random-Bildern bestückt...
Wenn der Bereich abgearbeitet ist, werden den restlichen Kategorie-Hauptgruppen Bilder oder Randombilder verpasst...
Damit sollte das gehen, was du suchst....
Einfach mal durchwühlen:
Wenn der Bereich abgearbeitet ist, werden den restlichen Kategorie-Hauptgruppen Bilder oder Randombilder verpasst...
Damit sollte das gehen, was du suchst....
Einfach mal durchwühlen:
Code: Select all
<?php
// + ---------------------------------------------------------------------------- +
// copyright 2004 : Dipl.-Ing. Manfred Peperkorn - All rights reserved. |
// eMail: info[AT]webdesign-mp[DOT]de |
// Dateiname: header-image_switch.php |
// Aufruf in der Vorlage: {PHP:scripts/header-image_switch.php} |
// --------------------------------------------------------------------------- |
// Es sind die Werte xxxx innerhalb der "case xxxx:" - Anweisung auszufuellen! |
// Das sind die CAT-IDs (Kategorie-Identifikations-Nummern) der Kategorien |
// Die entsprechenden Zahlenwerte koennen unter ADMIN gefunden werden. |
// Dazu mit der Maus über das dunkle Kästchen vor dem Kategorienamen fahren. |
// + ---------------------------------------------------------------------------- +
// 1. Pruefung der CAT-ID der aktuellen Kategorie (Seite)
// Danach Zuweisung von einzelnen Bildern (oder Random-Bilder-Ordnern), entsprechend der "aktuellen" CAT-ID
$check_id = $GLOBALS['content']['cat_id'];
switch($check_id) {
//
// Nachfolgend werden die Zuordnungen festgelegt, fuer einzelne Kategorien (Seiten)
// Es sind entweder Verweise auf Zufallsordner {RANDOM:...} oder auf einzelne Bilder {IMAGE:...} moeglich
//
case 0: echo '{RANDOM:picture/random-home}'; break; // Bilderordner von Zufallsbildern
//case 14: echo '{IMAGE:random-verein/Clubhaus-001-200.jpg}'; break; // Einzelbild Zuweisung
//case 10: echo '{IMAGE:random-verein/Clubhaus-002-200.jpg}'; break; // Einzelbild Zuweisung
case 61: echo '{RANDOM:picture/random-herren}'; break; // 61 Herren
//
// Diese Liste kann natuerlich beliebig erweitert werden...
// 2. Wenn keine "Einzelzuweisung" erfolgt ist, Pruefung der CAT-ID der jeweiligen "Haupt-Gruppe"
// Danach Zuweisung von einzelnen Bildern (oder Random-Bilder-Ordnern), entsprechend der "Haupt-Gruppen" CAT-ID
default:
while( $GLOBALS['content']['struct'][$check_id]['acat_struct'] > 0 ) {
$check_id = $GLOBALS['content']['struct'][$check_id]['acat_struct'];
}
switch($check_id) {
//
//case 8888: echo '{IMAGE:header/header_monitor.jpg}'; break; // Muster fuer Einzelbild Zuweisung
//case 9999: echo '{RANDOM:picture/random_header-TITEL}'; break; // Muster fuer Bilderordner von Zufallsbildern
//
case 10: echo '{RANDOM:picture/random-header-200}'; break; // 10 News
case 56: echo '{RANDOM:picture/random-teams}'; break; // 56 Teams
case 94: echo '{RANDOM:picture/random-turniere}'; break; // 94 Turniere
case 87: echo '{RANDOM:picture/random-tennisschule}'; break; // 87 Tennisschule
case 68: echo '{RANDOM:picture/random-aktivitaeten}'; break; // 68 Aktivitaeten
case 146: echo '{RANDOM:picture/random-gaestebuch}'; break; // 146 Gaestebuch
case 46: echo '{RANDOM:picture/random-verein}'; break; // 46 Verein
case 3: echo '{RANDOM:picture/random-kontakt}'; break; // 3 Kontakt
case 12: echo '{RANDOM:picture/random-untern}'; break; // 12 INTERN
//
// Diese Liste kann natuerlich beliebig erweitert werden...
// 3. Allen Kategorien, die bisher noch keine Zuornung erhalten haben, werden nachfolgend verknuepft
default:
//
// Zuweisung entweder eines Default-Bildes
//echo '{IMAGE:header/header_monitor01.jpg}'; // Einzelbild Zuweisung
//
// Oder - alternativ - eines Bilderordnerns zur Anzeige von Zufallsbildern
echo '{RANDOM:picture/random-header-200}';break; // Bilderordner von Zufallsbildern
}
}
?>
-
- Posts: 12
- Joined: Wed 31. May 2006, 23:54
- Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany
Re: Bestimmtes Bild beim Klick auf Menüpunkt
Tut mir leid, dass ich mich so spät wieder melde, aber es war mir durch die Arbeit nicht früher möglich.
Den Code von Pepe habe ich jetzt endlich getestet u. ich muss sagen: SUUUUPER JOB!!!
Genau was ich gesucht habe.
Ich sage vielen Dank, bis zum nächsten mal.
Den Code von Pepe habe ich jetzt endlich getestet u. ich muss sagen: SUUUUPER JOB!!!
Genau was ich gesucht habe.
Ich sage vielen Dank, bis zum nächsten mal.
Viele Grüße aus der Pfalz, Ralf