Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
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: smarty im content manager

    neon0r

    • Neu im Forum
    • Beiträge: 6
    smarty im content manager
    am: 18. Februar 2014, 23:06:14
    Hallo zusammen,

    wie bekomme ich den content manager dazu eine Smarty Variable zu interpretieren, so wie in der index.html etc.

    LG Klaus

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

    Matt

    • Experte
    • Beiträge: 4.241
    Re: smarty im content manager
    Antwort #1 am: 18. Februar 2014, 23:22:52
    Die Lösung für die index.html ist hardcoded in includes/modules/default.php. Das wäre folglich auch ein Lösungsansatz für dein Problem. Schön ist er freilich nicht.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.748
    • Geschlecht:
    Re: smarty im content manager
    Antwort #2 am: 19. Februar 2014, 01:57:58
    @neon0r
    Suche mal nach dem was du da frgast im Forum (von der übersicht-Seite aus).
    Stichwort u.a.: eval().

    Gruß,
    noRiddle

    neon0r

    • Neu im Forum
    • Beiträge: 6
    Re: smarty im content manager
    Antwort #3 am: 19. Februar 2014, 12:14:25
    Danke für eure Beiträge, prinzipiell würde für mein Vorhaben das hier schon reichen, sprich eine Box im Content Manager anzeigen lassen:
    http://www.gunnart.de/tipps-und-tricks/xtcommerce-boxen-ueberall-anzeigen/

    Leider funktioniert es einfach nicht und ich kann mir einfach keinen Reim darauf machen.

    Ich bin genau wie beschrieben vorgegangen, hier mal der Code den ich in der main_content.html verwendet habe:

    Code: PHP  [Auswählen]

    {config_load file="$language/lang_$language.conf" section="index"}

    {php}
    global $smarty;
    $this->assign('box_TOP',$smarty->_tpl_vars['box_TOP']);
    {/php}

    {$MODULE_error}
    <div class="pageHeading">{$title}</div>
    <div class="main_content">{$text|replace:'%lalala%':$box_TOP}</div>

     

    Leider ohne erfolg, der Content Manager gibt einfach %lalala% aus. Dachte eventuell an einen Fehler bei der Erstellung der neuen Box, aber daran liegt es auch nicht, denn auch wenn ich eine Standardbox verwenden (box_WHATSNEW) bleibt das Ergebnis das Gleiche.

    @noRiddle
    Die eval(). Suche liefert bei mir keine Ergebnisse :|

    Marcel G.

    • Fördermitglied
    • Beiträge: 398
    Re: smarty im content manager
    Antwort #4 am: 19. Februar 2014, 12:38:31
    Keine Ahnung ob es daran liegt aber du holst dir $smarty verwendet dann aber $this macht das Sinn?

    Frank_R

    • Mitglied
    • Beiträge: 123
    Re: smarty im content manager
    Antwort #5 am: 19. Februar 2014, 12:44:51
    Ersetze einmal Deine Zeile 11. durch

    Code: PHP  [Auswählen]
    {eval var=$text|replace:'%lalala%':$box_top}

    Gruss
    Frank

    neon0r

    • Neu im Forum
    • Beiträge: 6
    Re: smarty im content manager
    Antwort #6 am: 19. Februar 2014, 13:10:45
    Hallo Frank,

    funktioniert leider nicht, er gibt noch immer %lalala% aus.

    neon0r

    • Neu im Forum
    • Beiträge: 6
    Re: smarty im content manager
    Antwort #7 am: 19. Februar 2014, 13:54:45
    Problem gelöst:

    In der "template/module/content.html" das

    Code: PHP  [Auswählen]
    {$CONTENT_BODY}

    mit
    Code: PHP  [Auswählen]
    {eval var=$CONTENT_BODY}

    ersetzen und schon wird nach Eingabe von

    Code: PHP  [Auswählen]
    {$box_TOP}

    im Content Manager die Box ausgegeben.

    :)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.748
    • Geschlecht:
    Re: smarty im content manager
    Antwort #8 am: 19. Februar 2014, 21:36:37
    Du redest doch hier von zwei verschiedenen Dingen.
    Mithilfe des eval() kannst du Smarty-Platzhalter im Contentmanager des Backends benutzen.
    Mit
    Code: PHP  [Auswählen]
    {php} global $smarty; echo $smarty->_tpl_vars['box_TOP']; {/php}
    bindest du eine Box in der main_content.html ein.

    Also zum einen der Contentmanager des Backends und zum anderen eine HTML-Datei.

    Gruß,
    noRiddle

    neon0r

    • Neu im Forum
    • Beiträge: 6
    Re: smarty im content manager
    Antwort #9 am: 19. Februar 2014, 23:35:02
    Wichtig für mich war die Box direkt in den Content Manager zu kriegen, leider funktioniert die von mir genannte Variante nicht perfekt, einige Content Seiten werden jetzt nicht mehr richtig dargestellt.

    Es ist mir auch noch immer ein Rätsel warum der Code, der bei gunnart genannt wurde nicht funktioniert (siehe oben):

    Code: PHP  [Auswählen]
    {$text|replace:'%lalala%':$box_TOP}

    Hättest du dafür noch einen Lösungsansatz, scheint ja in anderen Shops zu laufen.

    Gruß
    neon0r

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: smarty im content manager
    Antwort #10 am: 24. November 2015, 17:53:39
    Das funktioniert ja wunderbar:
    template/module/content.html

    Code: PHP  [Auswählen]
    {eval var=$CONTENT_BODY}

    Aber wenn der Content über die /popup_content.php aufgerufen wird, sind meine Smartys nicht ausgeführt ....

    Ich brauche aber in meinem Content eine benutzerdefinierte smarty Funktion und eine IF Abfrage :-(

    hier ein eval() einbauen half nicht ....

    Gibt es eine bessere Lösung als dieser wilde haarsträubende Hack, sich eine temlatedatei per php ins Filesystem zu schreiben?

    Code: PHP  [Auswählen]
          <td class="main" style="font-size:12px">
            <?php
                    if ($_GET['coID'] == 1) {
                            $smarty = new Smarty;
                            file_put_contents(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/popup_delivery.html', $content_data['content_text']);
                            $content_data['content_text'] = $smarty->fetch(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/popup_delivery.html');
                    }
            echo $content_data['content_text'];
            ?>

    Den groben Murks wäre ich gerne los.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.748
    • Geschlecht:
    Re: smarty im content manager
    Antwort #11 am: 24. November 2015, 18:24:14
    Mache dir eine Template-Datei für den Popup-Content (siehe Anhang). Dann kannst du eval() auch dort benutzen.

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: smarty im content manager
    Antwort #12 am: 24. November 2015, 18:32:34
    Dankeschön! Damit komme ich klar.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.748
    • Geschlecht:
    Re: smarty im content manager
    Antwort #13 am: 26. November 2015, 19:12:37
    Hat's geklappt ?

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: smarty im content manager
    Antwort #14 am: 27. November 2015, 13:23:27
    Ja, klasse! Sollte meiner Meinung nach so in den Core!
    1 Antworten
    1984 Aufrufe
    20. August 2013, 18:07:46 von Frank_R
    3 Antworten
    5735 Aufrufe
    26. Februar 2012, 23:46:10 von friloo