Slider auf allen Seiten

Ihr benötigt Hilfe oder habt Fragen bei der Erstellung eines eigenen Layouts oder kleinen Veränderungen am Standard Layout, dann ist dies das richtige Forum

Moderatoren: Magnus, mmaass, ablass

Slider auf allen Seiten

Beitragvon ThomaZ » Mo 13. Jul 2015, 22:19

Hallo,

ich bin grad dabei ein Bootstrap-Template zu entwickeln. Komme super voran und habe die Startseite grundlegen, bis auf CSS-Feintuning fertig.
Ich habe auf der Startseite den Slider mit einem Overlay versehen:

slider_startseite.jpg
slider_startseite.jpg (101.5 KiB) 12259-mal betrachtet




Jetzt möchte ich gern auf sämtlichen Unterseiten auch einen Slider anzeigen - allerdings einen Speziell formatierten.
Ich habe das Gerüst dafür fertig, habe allerdings nur eine Schemenzeichnung ;-) :

slider_Unterseite.png
slider_Unterseite.png (25.43 KiB) 12259-mal betrachtet



Mein Problem ist jetzt folgendes
Der Slider steht in folgender if-Abfrage

Code: Alles auswählen
<?php if($KategorieDataArray){?>


Der Slider selbst bezieht dann seine Daten aus dem $KategorieDataArray

Code: Alles auswählen
<?php foreach($KategorieDataArray as $Data) {?>
   <div class="item">
      <?php if($Data["url"] != "") {?>
         <a href="<?php echo $Data["url"]?>"><?php echo $Data["image_string"]?></a>
            <?php } else {?>
            <?php echo $Data["image_string"]?>
         <?php } ?>
      </div>
<?php } ?>


Das $KategorieDataArray ist scheinbar nur auf der Startseite mit Daten gefüllt - also erhalte ich auf Unterseiten nur eine leere Ausgabe. Ist es möglich die Slieder-Bilder mit einem foreach abzufragen, wenn ich mich NICHT auf der Startseite befinde?

Mein Aufbau soll in etwa so aussehen:

Code: Alles auswählen
<div class="row">
   <div class="col-md-12 no-padding-sides">
      <div class="panel panel-default">
         <div class="panel-body">

         <div id="logoRelative" class="col-md-4">
            <?php echo $logoImage ?>
         </div>

         <!-- Slider auf allen NICHT STARTSEITEN -->
         <div class="col-md-5">
            <div class="slider">
               <div class="sliderContent">
                  <?php foreach($KategorieDataArray as $Data) {?>
                  <div class="item">
                     <?php if($Data["url"] != "") {?>
                        <a href="<?php echo $Data["url"]?>"><?php echo $Data["image_string"]?></a>
                     <?php } else {?>
                     <?php echo $Data["image_string"]?>
                  <?php } ?>
               </div>
            <?php } ?>
         </div>
      </div>
   </div>
<!-- Ende Slider auf allen NICHT STARTSEITEN -->
[... gekürzt ...]


Ich hoffe ich konnte aufzeigen was ich genau vorhabe.
Natürlich bekommt der Slider auf den Unterseiten eigene Klassen damit ich ihn anders formatieren kann - es geht hier aber nur um die eigentliche Ausgabe.

Ich hoffe mir kann jemand helfen :-)

Viele Grüße aus dem Norden,

Thomas
http://www.dawool.de
Wolle und mehr :)
ThomaZ
 
Beiträge: 17
Registriert: Mo 2. Mär 2015, 22:32

Re: Slider auf allen Seiten

Beitragvon ThomaZ » Mi 15. Jul 2015, 09:08

Keiner eine Idee?

ich möchte ungern den Slider für nicht-Startseiten hardcoden, wenn es im System einen funktionierenden Slider gibt :-P

Gruß,
Thomas
http://www.dawool.de
Wolle und mehr :)
ThomaZ
 
Beiträge: 17
Registriert: Mo 2. Mär 2015, 22:32

Re: Slider auf allen Seiten

Beitragvon Martens » Mi 15. Jul 2015, 10:55

Hallo Thomas,

füg mal oben in templates/[DEIN_TEMPLATE]/website/index.tpl diesen Code ein:
Code: Alles auswählen
<?php
include_once(DATEIPFAD . "includes/functions.slider.inc.php");
$KategorieDataArray = GetSliderDataArray();
?>

Das ist ungetestet und auch nicht State of the Art, aber es könnte funktionieren. Da $KategorieDataArray an manchen Stellen auch für andere Dinge verwendet wird, ist es vielleicht sinnvoll statt dessen eine andere Variablenbezeichnung zu verwenden.

Grüße
Martin
„Die Natur ergreift immer die Partei des versteckten Fehlers.“
Eines von Murphys Gesetzen
Martens
 
Beiträge: 343
Registriert: Mo 9. Feb 2009, 22:09

Re: Slider auf allen Seiten

Beitragvon ThomaZ » Mi 15. Jul 2015, 19:07

Hallo Martens,

Vielen Dank!!
Es funktioniert Prima!

Was genau ist an dieser Sache nun "unsauber"? Weil du ja sagtest - nicht state of the art - ?

Code: Alles auswählen
<?php if($KategorieDataArray){?>
[.....]                       
<?php } else { ?>
<!-- Header-Anzeige  -->
<div class="row">
   <div class="col-md-12 no-padding-sides">
      <div class="panel panel-default">
         <div class="panel-body">
           
            <div id="logoRelative" class="col-md-3 col-sm-12 col-xs-12 ">
               <?php echo $logoImage ?>
            </div>

<!-- Slider auf allen NICHT STARTSEITEN -->
   <?php
      include_once(DATEIPFAD . "includes/functions.slider.inc.php");
      $KategorieDataArray = GetSliderDataArray();
   ?>
<div class="col-md-6 hidden-xs hidden-sm">
   <div class="slider slider_unterseiten">
      <div class="sliderContent slidercontent_unterseiten">
         <?php foreach($KategorieDataArray as $Data) {?>
            <div class="item">
            <?php if($Data["url"] != "") {?>
            <a href="<?php echo $Data["url"]?>"><?php echo $Data["image_string"]?></a>
            <?php } else {?>
            <?php echo $Data["image_string"]?>
         <?php } ?>
      </div>
      <?php } ?>
     </div>
   </div>
</div>
<!-- Ende Slider auf allen STARTSEITEN -->
[........]
<!-- header Anzeige Ende -->


Es fehlen diverse schließende Divs - aber so sieht mein Code auszugweise aus - vieleicht hilft es irgendwem :)

LG

Thomas
http://www.dawool.de
Wolle und mehr :)
ThomaZ
 
Beiträge: 17
Registriert: Mo 2. Mär 2015, 22:32

Re: Slider auf allen Seiten

Beitragvon mmaass » Fr 17. Jul 2015, 09:05

Unsauber, weil dieser include nix im Template zu suchen hat. :)
Du kannst es aber aus der index.php raus nehmen und in includes/header.inc.php rein tun, da diese Datei überall aufgerufen wird und Grundfunktionalität bereit hält. Da ist es dann ok.

Warum eigentlich einen so grossen Overhead mit Bootstrap?
Vorteile im Sinne der Geschwindigkeit oder SEO seh ich nicht wirklich, eher das Gegenteil.
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5203
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin

Re: Slider auf allen Seiten

Beitragvon Martens » Sa 18. Jul 2015, 11:49

mmaass hat geschrieben:Unsauber, weil dieser include nix im Template zu suchen hat. :)

Genau das meinte ich. Aber die header.inc.php hatte ich auf die Schnelle irgendwie nicht auf dem Zettel … :D
„Die Natur ergreift immer die Partei des versteckten Fehlers.“
Eines von Murphys Gesetzen
Martens
 
Beiträge: 343
Registriert: Mo 9. Feb 2009, 22:09

Re: Slider auf allen Seiten

Beitragvon Magnus » Sa 18. Jul 2015, 12:23

Du kannst es aber aus der index.php raus nehmen und in includes/header.inc.php rein tun, da diese Datei überall aufgerufen wird und Grundfunktionalität bereit hält.

und beim nächsten Update ist alles wieder futsch ...
und die Sucherei nach der Ursache ist von großer Hektik begleitet, weil das Update ja nicht im Testsystem durchgeführt wird, sondern gleich auf dem LiveSystem. Und dokumentieren wird sowieso überbewertet.

OK, Zyn-Modus wieder aus.

Ne im Ernst, ich bin mittlerweile der Ansicht, dass Änderungen ausschließlich innerhalb des template-Ordners vorgenommen werden sollten. Dort lässt sich für jede Änderung ein eigener template Ordner anlegen. Lässt sich ja durchnummerieren.
Und stellt man fest, dass die aktuelle geänderte Version Fehler aufweist, schaltet man auf die Vorversion zurück, sucht und beseitigt den Fehler und schaltet wieder auf die neue Version um.
Getestet und entwickelt wir natürlich in einem lokalen System (z.B. mittels xampp) und erst wenns da funktioniert wird auf den Live-Server hochgeladen.

In meinem SEO-Modul für bessere Title und Description habe ich die Dateien in einen Ordner "tpl_includes" im templatesOrdner untergebracht. Ist schön übersichtlich und xxx.inc.php - Dateien in dem Ordner lassen sich wunderbar ins template einbinden, entweder in die index.tpl oder halt in die einzelne gerade benötigte tpl-datei.

Natürlich habe ich das Modul und die Art der Einbindung auch in den neuen responsive Template Vorlagen verwendet ;-)

Damit lässt sich dann ganz entspannt arbeiten :-)

viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10

Re: Slider auf allen Seiten

Beitragvon mmaass » Mo 20. Jul 2015, 18:11

Du solltest Dich dann mal mit dem customisation Ordner befassen. :)
Das wäre bis aufs Template dann Updatesicher. Gibts auch schon seit der Version 2.1 Magnus. :)
www.randshop.com
Entwicklung - Anpassung - Support
Benutzeravatar
mmaass
Admin
 
Beiträge: 5203
Registriert: Di 24. Aug 2004, 17:44
Wohnort: Berlin

Re: Slider auf allen Seiten

Beitragvon Magnus » Mo 20. Jul 2015, 20:08

Kenn ich schon lieber Michael,

nur ist der nicht so richtig praktisch, ich liefer die Tage noch einen konkreten Verbesserungsvorschlag :-)

viele Grüße

Magnus
Magnus
 
Beiträge: 1602
Registriert: Mi 21. Feb 2007, 21:10


Zurück zu Designfragen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste