Bestimmtes Bild beim Klick auf Menüpunkt

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
ralle
Posts: 12
Joined: Wed 31. May 2006, 23:54
Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany

Bestimmtes Bild beim Klick auf Menüpunkt

Post by ralle »

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 :o
(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
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by pepe »

Kannst du denn für die fraglichen Kategorien nicht einfach ein modifiziertes Template zuordnen, bei dem dieser Bilderwechsel bereits im Template verankert ist???
ralle
Posts: 12
Joined: Wed 31. May 2006, 23:54
Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by ralle »

Wow, die erste Reaktion ging aber flott :D ,

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
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by Jensensen »

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???
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
ralle
Posts: 12
Joined: Wed 31. May 2006, 23:54
Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by ralle »

Jensensen wrote: oder reden wir hier vom bildewechsel (hover) in der Navi???
Nein, kein Hover in der Navi, sondern ein Logo/Bild über der Navi in der linken Spalte, was sich ab einem Menüpunt ändert.
Viele Grüße aus der Pfalz, Ralf
User avatar
Jensensen
Posts: 3000
Joined: Tue 17. Oct 2006, 21:11
Location: auf der mlauer

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by Jensensen »

[x]
Last edited by Jensensen on Sat 20. Sep 2008, 04:05, edited 1 time in total.
{so_much} | Knick-Knack. | GitHub
Umlaute im URL sind meistens immer Kacke.
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by pepe »

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 :wink:
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by Heiko H. »

Hallo Gemeinde,

darf ich auch noch einen Lösungsvorschlag dazu orakeln? :lol:
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="" />';
} 

?>
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...
Not longer here - sorry...

Haubner-IT GbR Dresden
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by pepe »

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....
ralle
Posts: 12
Joined: Wed 31. May 2006, 23:54
Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by ralle »

Heiko H. wrote: Pack das in eine Datei z.Bsp. image_switch.php und diese z.Bsp. nach include/inc_ext/
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, 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
User avatar
Heiko H.
Posts: 868
Joined: Thu 27. Oct 2005, 11:41
Location: Dresden
Contact:

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by Heiko H. »

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, ...
Hallo ralle,

wie pepe schon gesagt hat:
pepe wrote:Natürlich funktioniert diese Lösung...
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.
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...
Not longer here - sorry...

Haubner-IT GbR Dresden
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by pepe »

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:

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

}
}

?>
ralle
Posts: 12
Joined: Wed 31. May 2006, 23:54
Location: Bobenheim-Roxheim, Rheinland-Pfalz, Germany

Re: Bestimmtes Bild beim Klick auf Menüpunkt

Post by ralle »

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!!! :D :D :D
Genau was ich gesucht habe.
Ich sage vielen Dank, bis zum nächsten mal.
Viele Grüße aus der Pfalz, Ralf
Post Reply