Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Header/Footer auslagern

    j0k3r87

    • Neu im Forum
    • Beiträge: 17
    Header/Footer auslagern
    am: 12. November 2015, 09:30:47
    Hallo Community,

    ich habe versucht eine Möglichkeit zu finden den Header und Footer, der auf der Seite eingeblendet wird, auszulagern. Bin aber bisher daran gescheitert. Habe folgenden Code zur general.js.php hinzugefügt:

    Code: Javascript  [Auswählen]
    <script type="text/javascript">
    $(document).ready(function(){
    $('#footer').load('{$tpl_path}footer.html');});
    </script>

    und auf meiner Index.html ein <div id="footer"> hinzugefügt. Jquery ist auch eingebunden. Hat jemand eine Idee warum nichts angezeigt wird?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33920.0

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: Header/Footer auslagern
    Antwort #1 am: 12. November 2015, 10:59:13
    Versuche das besser ohne JS und DIV Manipulationen umzusetzen.

    Hier ein Lösungsvorschlag:
    Erstelle im smarty-Ordner deines Templates eine PHP-Datei namens "function.load.php" mit folgendem Inhalt:

    Code: PHP  [Auswählen]
    <?php
    function smarty_function_load($params, &$smarty)
    {
    if ($params['file']) {

         $content = file_get_contents('templates/'.CURRENT_TEMPLATE.'/'.$params['file'].".html");  
          echo $content;
    }
    }
    ?>
     

    Gehen wir mal davon aus im Hauptverzeichnis Deines Templates liegt nun eine footer.html.

    Dann kannst Du diese nun mit:

    {load file=footer}

    an der gewünschten Stelle in der index.html einbinden.

    Viele Grüße
    Christian

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Header/Footer auslagern
    Antwort #2 am: 12. November 2015, 17:32:30
    Die .htacces Datei im templates Verzeichnis verhindert einen direkten Aufruf der .html Dateien:

    <Files *.html>
    Order Deny,Allow
    Deny from all
    </Files>

    In der general.js.php kann {$tpl_path} nicht verwendet werden, hier müsste es wiefolgt aussehen:

    Code: PHP  [Auswählen]
    <?php echo 'templates/'.CURRENT_TEMPLATE; ?>

    Wie Christian schon schreibt macht es mehr Sinn die Datei nicht nachträglich zu laden, außer diese wird nur in Abhängigkeit zu anderen Faktoren benötigt und entsprechend geladen.

    Statt einer neuen Smarty-Funktion kann auch die vorhandene {include file='..'} Funktion verwendet werden:
    http://www.smarty.net/docsv2/en/language.function.include

    Viele Grüße,
    h-h-h

    j0k3r87

    • Neu im Forum
    • Beiträge: 17
    Re: Header/Footer auslagern
    Antwort #3 am: 12. November 2015, 19:56:54
    erstmal vielen dank für eure antworten :) ich werde es mal testen
    3 Antworten
    2943 Aufrufe
    30. Mai 2016, 18:33:49 von bigi100
    0 Antworten
    1887 Aufrufe
    04. Januar 2013, 19:23:22 von terax09
    4 Antworten
    4083 Aufrufe
    03. Juli 2014, 11:41:05 von adiebler
    0 Antworten
    2815 Aufrufe
    26. Februar 2009, 06:23:28 von tsie
               
    anything