WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 28.08.2019 07:05:50

nasowas
Mitglied

Wechselnde Headerbilder mit simple_responsive

Hallo zusammen,

ich bin neu hier und habe wbce 1.4 installiert und suche nun ein Template, was passt. Simple Responsive wäre top!
Jetzt möchte ich gern in diesem Template die <h1> ...

<section id="page-header" class="clearfix">
<!-- responsive FlexSlider image slideshow -->
  <div class="wrapper">
	<h1><?php echo page_title();?></h1>
  </div>
</section>

... Stelle durch Headerbilder ersetzen, die mit jedem Aufruf einer neuen Seite, ein anderes Headerbild anzeigen. Kann willkürlich/zufällig wechseln. Falls das überhaupt die richtige Stelle wäre.
Es gibt ja viele verschiedene Möglichkeiten. Mit Slidern etwa. Meine Fähigkeiten in php sind aber leider sehr beschränkt, deshalb steig ich bei den bisherigen Beschreibungen nicht so richtig durch.
Ich will mit diesen, für Experten bestimmt banalen Anfragen nicht nerven, aber vielleicht fällt jemand ein Link ein, wo es eine Lösung gibt?

Vielen Dank im Voraus!
MfG nasowas


WBCE 1.6.1, Frontendtemplate: Simple Responsive, Backendtemplate: Fraggy, Browser: Firefox Betriebssystem Windows 11 pro

Offline

#2 28.08.2019 09:07:00

florian
Administrator

Re: Wechselnde Headerbilder mit simple_responsive

Ein Slider ist in dem Ausgangs-Template sogar schon vorbereitet, war nur damals von uns nicht eingebaut worden.
Ich habe jetzt die Slider-Implementierung von WBCEZon als Grundlage genommen und eingefügt.

1.) Füge in der /templates/simple_responsive/index.php zwischen

 register_frontend_modfiles('js');
}

und

?> 

ein:

$picPre ='<li><img src="';
$picPost = '" alt=""></li>';

$pics = array();
$imgPath = WB_PATH.'/media/header-pics/'.PAGE_ID;
if (!is_dir($imgPath)) {
	$imgPath = WB_PATH.'/media/header-pics/'.PARENT;
}
if (is_dir($imgPath)) {
	$dir = $imgPath . '/';
	$extensions = array('jpg', 'jpeg', 'png', 'gif', 'svg');			
	$directory = new DirectoryIterator($dir);
	foreach ($directory as $fileinfo) {
		if ($fileinfo->isFile()) {
			$extension = strtolower(pathinfo($fileinfo->getFilename(), PATHINFO_EXTENSION));
			if (in_array($extension, $extensions)) {						
				$pics[] = str_replace(WB_PATH,WB_URL,$dir.$fileinfo->getFilename());
			 }
		 }
	 }						
} 

Zur Erklärung: Das ist der Codeschnipsel aus WBCEZon, der automatisch nach Slider-Bildern sucht.

2.) Ändere die Zeilen

<section id="page-header" class="clearfix">
<!-- responsive FlexSlider image slideshow -->
  <div class="wrapper">
	<h1><?php echo page_title();?></h1>
  </div>
</section>

zu

<section id="page-header" class="clearfix">
<!-- responsive FlexSlider image slideshow -->
  <div class="wrapper">
	<?php
	if (count($pics) > 0) {
		echo '<div class="flexslider"><ul class="slides">';
		foreach($pics as $pic) {						   
			echo $picPre.$pic.$picPost;
		} 
		echo '</ul></div>';
	} else { 
		echo '<h1>'.PAGE_TITLE.'</h1>';
	}
	?>
  </div>
</section>

Das bewirkt, dass die Slider-Bilder angezeigt werden, wenn welche vorhanden sind, andernfalls wird wie bisher der Titel der Seite als H1 angezeigt.

3.)
Lege in der Medienverwaltung ein Verzeichnis /header-pics/ an.
In diesem legst Du nun für jede Seite, die Slider-Bilder haben soll, ein Unterverzeichnis an, und verwendest als Namen die Page-ID (also z.B. 1 oder 42).

4.)
In dieses Unterverzeichnis (also /header-pics/1/ bzw. /header-pics/42/ usw. lädst Du nun die anzuzeigenden Bilder.

Untergeordnete Seiten erhalten die Slider-Bilder der Elternseite, sofern nicht für diese auch ein Verzeichnis angelegt wurde. D.h. bei so einer Struktur:

Home (ID 1)
  - Unterseite von Home ( ID 2)
  - Noch eine Unterseite von Home (ID 42)
Andere Seite (3)
...

würden die Seiten mit der ID 2 und 42 dieselben Bilder wie die Home-Seite anzeigen, wenn es keine Verzeichnisse /header-pics/2/ bzw. /header-pics/42/ gibt.

Die Seiten-ID kannst Du im Seitenbaum (Spalte PageID) ablesen.
Das geänderte Template habe ich hier angefügt. Achtung: falls Du schon am Template Änderungen vorgenommen hast, würden diese überschrieben werden, wenn Du das Template aus dem Anhang installierst, in dem Falle also wie oben beschrieben die Anpassungen von Hand vornehmen.

Beitrag geändert von florian (28.08.2019 09:09:04)


Code allein macht nicht glücklich. Jetzt spenden!

Online

#3 28.08.2019 18:18:43

nasowas
Mitglied

Re: Wechselnde Headerbilder mit simple_responsive

Hallo florian,

vielen Dank für die schnelle und umfangreiche Hilfe!!! Ich werde mich schnellstmöglich drüber machen!

Viele Grüße
nasowas

P.S. funktioniert tadellos  thumb_up  thumb_up  thumb_up Vielen Dank nochmal!

nasowas

Beitrag geändert von nasowas (28.08.2019 19:18:21)


WBCE 1.6.1, Frontendtemplate: Simple Responsive, Backendtemplate: Fraggy, Browser: Firefox Betriebssystem Windows 11 pro

Offline

Fußzeile des Forums

up