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: Box außerhalb der index.html positionieren

    eronweb

    • Mitglied
    • Beiträge: 113
    Box außerhalb der index.html positionieren
    am: 20. März 2019, 14:13:12
    Hallo,

    ich möchte eine Box eines Moduls (Imageslider von Hatfield) nicht auf der Startseite einbinden, sondern auf einer anderen Seite. Diese benutzt das Template aus "templates/meinrollrasen/module".

    Folgendes habe ich bereits ohne Erfolg probiert:
    {php} echo $smarty->_tpl_vars['box_IMAGESLIDER']; {/php}

    Leider binde ich dadurch immernochnicht das Modul ein.

    Gruß Chris

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

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Box außerhalb der index.html positionieren
    Antwort #1 am: 20. März 2019, 14:22:06
    Leg eine PHP-Datei mit der Bezeichnung "function.get_tpl_var.php" und dem Inhalt

    Code: PHP  [Auswählen]
    <?php

    function smarty_function_get_tpl_var($params, $template)
    {
        global $smarty;
       
        if($params['var'] == '') {
            return;
        }

        return $smarty->getTemplateVars($params['var']);
    }
    ?>

    im Ordner /templates/meinrollrasen/smarty/ ab. Anschließend steht dir box_IMAGESLIDER auch in den anderen Templates zur Verfügung, wenn du sie aufrufst via:

    Code: PHP  [Auswählen]
    {get_tpl_var var="box_IMAGESLIDER"}

    EDIT: Sehe gerade in anderen Beiträgen, dass du mit einer Antiquität (v1.05) unterwegs bist. Kann daher keine Garantien geben, dass mein Vorschlag oben funktioniert, da ich nicht mal weiß, ob es in den alten Templates einen /smarty/-Ordner gibt und die Funktion mit Smarty_2 funktioniert.

    Außerdem entnehme ich anderen Beiträgen von dir, dass du die Box bislang nicht mal "normal" in der index.html einbinden konntest, was auf einen Fehler im Einbau hindeutet, den es zuerst zu beheben gilt, bevor du andere Arten der Einbindung ausprobierst. Oder ist das bereits erledigt?

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Box außerhalb der index.html positionieren
    Antwort #2 am: 20. März 2019, 14:39:52

    eronweb

    • Mitglied
    • Beiträge: 113
    Re: Box außerhalb der index.html positionieren
    Antwort #3 am: 20. März 2019, 15:09:50
    Leg eine PHP-Datei mit der Bezeichnung "function.get_tpl_var.php" und dem Inhalt

    Code: PHP  [Auswählen]
    <?php

    function smarty_function_get_tpl_var($params, $template)
    {
        global $smarty;
       
        if($params['var'] == '') {
            return;
        }

        return $smarty->getTemplateVars($params['var']);
    }
    ?>

    im Ordner /templates/meinrollrasen/smarty/ ab. Anschließend steht dir box_IMAGESLIDER auch in den anderen Templates zur Verfügung, wenn du sie aufrufst via:

    Code: PHP  [Auswählen]
    {get_tpl_var var="box_IMAGESLIDER"}

    EDIT: Sehe gerade in anderen Beiträgen, dass du mit einer Antiquität (v1.05) unterwegs bist. Kann daher keine Garantien geben, dass mein Vorschlag oben funktioniert, da ich nicht mal weiß, ob es in den alten Templates einen /smarty/-Ordner gibt und die Funktion mit Smarty_2 funktioniert.

    Außerdem entnehme ich anderen Beiträgen von dir, dass du die Box bislang nicht mal "normal" in der index.html einbinden konntest, was auf einen Fehler im Einbau hindeutet, den es zuerst zu beheben gilt, bevor du andere Arten der Einbindung ausprobierst. Oder ist das bereits erledigt?

    Leider ist die Seite dann bei mir komplett zerschossen (nur blauer Hintergrund). Wie kann ich denn am Besten nun überprüfen, was passiert?

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Box außerhalb der index.html positionieren
    Antwort #4 am: 20. März 2019, 15:48:26
    Das spricht dafür, dass es mit Smarty_2 nicht funktioniert. Wie gesagt, dafür habe ich auch keine Garantie übernommen, da ungetestet.

    In deinem Beitrag, wo du nach einem Slider-Modul gefragt hast, hat Hetfield dir außerdem nochmal den Einbaucode der boxes.php gezeigt. Wie du diesem entnehmen kannst, wird die Anzeige auf die Startseite beschränkt:

    Code: PHP  [Auswählen]
            // Imageslider (c) 2008 by Hetfield -www.MerZ-IT-SerVice.de - Begin
            if (strstr($PHP_SELF, FILENAME_DEFAULT)) {
                    if (!isset ($_GET['manufacturers_id'])) {
                            if (isset ($cPath) && xtc_not_null($cPath)) { } else {  require(DIR_WS_BOXES . 'imagesliders.php'); }
                    }
            }
            // Imageslider (c) 2008 by Hetfield - www.MerZ-IT-SerVice.de - End
     

    Das müsstest du also noch so abändern, damit die Beschränkung aufgehoben wird:

    Code: PHP  [Auswählen]
            // Imageslider (c) 2008 by Hetfield -www.MerZ-IT-SerVice.de - Begin
            require(DIR_WS_BOXES . 'imagesliders.php');
            // Imageslider (c) 2008 by Hetfield - www.MerZ-IT-SerVice.de - End
     

    Theoretisch, wenn alle anderen Einbauschritte richtig abgearbeitet wurden, sollte es dann auch mit

    Code: PHP  [Auswählen]
    {php} echo $smarty->_tpl_vars['box_IMAGESLIDER']; {/php}

    klappen.

    eronweb

    • Mitglied
    • Beiträge: 113
    Re: Box außerhalb der index.html positionieren
    Antwort #5 am: 20. März 2019, 16:20:11
    Alles klar, nun kann ich den Slider überall einbauen. Ich möchte Ihn u.a auf der Startseite einbinden, die nicht auf index.html bzw. .php endet.

    Wenn ich den Slider nun in der index.html einbinde, dann sehe ich diesen auch, aber auf allen Seiten. Wie lautet die Abfrage, ob ich auf der Startseite bin (also kein / hinter domainnamen)?

    Hinweis: Es wird auf der Startseite ein gesondertes Template verwendet in Verbindung mit der Index.html.

    Hetfield

    • modified Team
    • Beiträge: 937
    Re: Box außerhalb der index.html positionieren
    Antwort #6 am: 20. März 2019, 18:22:33
    Nur nochmal als Hinweis: Für den Einbau in der main_content.html muss es so lauten in der veralteten Shopversion 1.x:

    Code: PHP  [Auswählen]
    {php} global $smarty; echo $smarty->_tpl_vars['box_IMAGESLIDER']; {/php}

    und nicht:

    Code: PHP  [Auswählen]
    {php} echo $smarty->_tpl_vars['box_IMAGESLIDER']; {/php}

    MfG Hetfield  8-)

    eronweb

    • Mitglied
    • Beiträge: 113
    Re: Box außerhalb der index.html positionieren
    Antwort #7 am: 20. März 2019, 22:06:15
    Vielen Dank. Das war die Lösung und nun klappt alles wie vorgesehen :)
    2 Antworten
    2706 Aufrufe
    23. Mai 2012, 22:22:29 von Modulfux
    4 Antworten
    4343 Aufrufe
    13. Juli 2011, 06:40:58 von DokuMan
    2 Antworten
    2593 Aufrufe
    27. März 2013, 13:18:19 von gonzo88
               
    anything