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: Einfacher Headerwechsel - Problem

    emet

    • Neu im Forum
    • Beiträge: 35
    Einfacher Headerwechsel - Problem
    am: 07. Juni 2009, 15:15:25
    Hallo,

    bin auch mal wieder da und hab ein kleines Problem.

    ich wollte einen Header-Bild-Wechsel nach Kategorie auf einfachste Art einbauen, aber da ich ja in PHP und Smarty eine Krücke bin, habe ich so meine Probleme.

    Ich wollte es mit der einfachen Erweiterung (glaube der Tipp war mal vom Gunnar ???)
    1. Smarty anlegen:
    Code: PHP  [Auswählen]
    $smarty->assign('catimg', 'catimg_'.$cPath_array[0].'.jpg');
    2.)Aufruf im Template:
    Code: XML  [Auswählen]
    <img src="{$tpl_path}header/{$catimg}"  alt="{$store_name}" />
    und fertig. Funzt ja auch. Man ist nur gezwungen für jede Kategorie ein Bild hochzufahren, sonst wird ein Bildplatzhalter angezeigt.

    Ich wollte es dann so machen wie bei einem CMS und einfach ins Template einen Scriptaufruf einbinden und im Sript selbst über if file exists und else zur Kategorie das jeweilige Bild laden lassen und ansonsten ein Standardbild.

    Das wäre die allereinfachste Lösung, ohne irgendwo eingreifen zu müssen. Nur bin ich zu blöde den Script richtig zu bauen.

    Schaut Euch mal die Beispiele an (ähnlich hab ichs im CMS gelöst) - nur haut das mit den Pfaden so irgendwie nicht hin bzw. können die so nicht aufgelöst werden.

    Aufruf im Template:
    Code: PHP  [Auswählen]
    {php}include(DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE. '/headimg.php');{/php}
    Und dann das Script:

    Code: PHP  [Auswählen]
    <?php

    so:
    $headimg = "{$tpl_path}header/{$catimg}";
    oder so:
    $headimg = "DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE.'/header/'catimg_'.$cPath_array[0].'.jpg'";
    funzt beides ja nicht.

    $header = "templates/xtc-css-001/img/header.jpg";

            if(file_exists($headimg)) {

                    print "<img src=\"$headimg\" alt=\"{$store_name}\" />";

            } else {

                    print "<img src=\"$header\" alt=\"{$store_name}\" />";

    }

    ?>
    Das wäre dann die allereinfachste Lösung für einen Bildwechsel.

    Nur wie man den Code richtig einbaut - keine Ahnung???

    Ich möchte den Code auch so ähnlich einsetzen, um fixe Inhalte aufzurufen. Wenn ihr dazu gleich einen Tipp habt.

    Gruß
    Ernst



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

    emet

    • Neu im Forum
    • Beiträge: 35
    Einfacher Headerwechsel - Problem
    Antwort #1 am: 08. Juni 2009, 18:35:36
    Ich weis, das es andere Lösungen gibt, möchte es aber gerne so machen und noch für andere Dinge benutzen.

    Weil es so am allereinfachsten wäre.

    Hat keiner eine Idee dazu oder ist es zu einfach :-)

    Gruß
    Ernst

    mantis

    • Viel Schreiber
    • Beiträge: 1.188
    • Geschlecht:
    Einfacher Headerwechsel - Problem
    Antwort #2 am: 09. Juni 2009, 08:55:07
    Hallo Ernst,
    ich hab mal mit der Lösung rumgespielt da sind zwei Haken dran
    die Funktion
    Code: PHP  [Auswählen]
    nutzt in der php5.2+ einen Cache dass heisst das er die gecachden Files sucht dies führt zu einem Konflikt mit der Smarty eigenen Temp bzw. cache verwaltung.
    Kenne Smarty auch eher schlecht aber so geht es irgendwie nicht. Habe das ganze als Box angelegt dann funzt es aber die Ladezeiten erhöhen sich drastisch, da dies ein Just in time aufruf ist und so das Ganze Script laaange dauert.

    Gruss
    mantis

    pufaxx

    • Mitglied
    • Beiträge: 139
    Einfacher Headerwechsel - Problem
    Antwort #3 am: 09. Juni 2009, 14:26:16
    ... und wenn Du das direkt (da, wo du's brauchst) ins Template schreibst?

    Code: PHP  [Auswählen]
    {php}

    global $cPath_array;

    $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/header/catimg_".$cPath_array[0].".jpg";
    if(!file_exists($catimg)) {
            $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/header/lalalastandard.jpg";
    }
    $this->assign('catimg',$catimg);

    {/php}

    <img src="{$catimg}"  alt="{$store_name}" />
    ... müsste so an sich hinhauen.

    emet

    • Neu im Forum
    • Beiträge: 35
    Einfacher Headerwechsel - Problem
    Antwort #4 am: 11. Juni 2009, 10:30:03
    Habe

    Code: PHP  [Auswählen]
    <!-- <div id="head">
    {php}  

    global $cPath_array;  

    $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/header/catimg_".$cPath_array[0].".jpg";
    if(!file_exists($catimg)) {
    $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/img/header.jpg";
    }
    $this->assign('catimg',$catimg);  

    {/php}  

    <img src="{$catimg}" alt="{$store_name}" />
                                            </div> -->
    das so eingefügt.

    Jedoch wird nun gar nix mehr angezeigt und die Navi unter dem Headerbild ist nach oben verschoben.

    Fehlermeldung:

    Code: XML  [Auswählen]
    <!-- <div id="head">
    <br />
    <b>Warning</b>:  file_exists() [<a href='function.file-exists'>function.file-exists</a>]: open_basedir restriction in effect. File(/templates/xtc-css-001/header/catimg_.jpg) is not within the allowed path(s): (/var/www/web3/html/:/var/www/web3/phptmp/:/var/www/web3/files/:/var/www/web3/atd/) in <b>/var/www/web3/html/shop/domain/templates_c/%%4B^4BF^4BFAABC5%%index.html.php</b> on line <b>90</b><br />

    <img src="/templates/xtc-css-001/img/header.jpg"  alt="Shop" />
                                            </div> -->
    Geht also leider nicht - und ich komm mit dem Gemix an Smarty und PHP halt gar nicht zurecht.

    emet

    • Neu im Forum
    • Beiträge: 35
    Einfacher Headerwechsel - Problem
    Antwort #5 am: 11. Juni 2009, 15:06:18
    So, ich habe das ganze jetzt erst mal aus den xtc-Pfaden rausgenommen und in das Hauptverzeichnis gepackt, um die Aufrufe ins Template zu vermeiden.

    Es wird aus der index.html das Script included:

    Code: PHP  [Auswählen]
    <?php

    global $cPath_array;  

    $catimg = ".$cPath_array[0].'.jpg'";

    $headimg = "mtools/header/.$catimg.";

    $header = "mtools/header/header.jpg";

            if(file_exists($headimg)) {

                    print "<img src=\"$headimg\" alt=\"{$store_name}\" />";

            } else {

                    print "<img src=\"$header\" alt=\"{$store_name}\" />";

    }

    ?>
    Keinerlei Fehleranzeigen mehr und das Standardbild header wird momentan überall geladen.

    Leider kann ich den array ganz oben nicht richtig auflösen.

    Wenn das noch ging, dann würde es funzen.

    Gruß
    Ernst

    pufaxx

    • Mitglied
    • Beiträge: 139
    Einfacher Headerwechsel - Problem
    Antwort #6 am: 11. Juni 2009, 16:16:54
    $headimg = "mtools/header/.$catimg.";

    geht auch nicht.

    Wenn, dann $headimg = "mtools/header/".$catimg;

    Meine Version müsste klappen, wahrscheinlich Sicherheitseinstellung.
    Vielleicht mal so probieren ...?

    Code: PHP  [Auswählen]
    {php}

    global $cPath_array;

    $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/header/catimg_".$cPath_array[0].".jpg";
    $check = DIR_FS_CATALOG."templates/".CURRENT_TEMPLATE."/header/catimg_".$cPath_array[0].".jpg";
    if(!file_exists($check)) {
            $catimg = DIR_WS_CATALOG."templates/".CURRENT_TEMPLATE."/header/lalalastandard.jpg";
    }
    $this->assign('catimg',$catimg);

    {/php}

    <img src="{$catimg}"  alt="{$store_name}" />

    emet

    • Neu im Forum
    • Beiträge: 35
    Einfacher Headerwechsel - Problem
    Antwort #7 am: 11. Juni 2009, 17:13:07
    Geil Gunnar, jetzt funzt es.

    Warum geht es nicht in der Art, wie ich es versuche - geht auch mit deiner Änderung nicht.

    Könnte man als ganz normalen Code irgendwo einbauen und auch für Textinhalte nutzen.

    Hab das wie gesagt in ein CMS eingebaut, doch bei xtc ist das ja immer etwas schwieriger.

    xtc4pii

    • Frisch an Board
    • Beiträge: 57
    Einfacher Headerwechsel - Problem
    Antwort #8 am: 07. März 2010, 18:13:39
    Hallo Leute,

    ich habe diesen einfachen Headerbildwechsel jetzt auch mal probiert - funktioniert - aber ich habe das selbe Problem wie mit dem Headerbildwechselmodul von xtc-load:

    Nämlich, dass nur Headerbilder von Überkategorien gewechselt werden.

    Siehe http://www.modified-shop.org/forum/topic.php?id=3465

    Wenn eine Unterkategorie ID angegeben wird und auch sich das Bild auf dem Server befindet, dann wird immer nur das Bild der Überkategorie dargestellt.

    Wie kann man diesem einfachen Headerbildwechsel jetzt beibringen, dass auch in den IDS der Unterkategorien gewechselt werden soll?

    Ich will so dringend auch die Subkategoriebilder ändern.

    Bitte, Danke.

    6 Antworten
    3119 Aufrufe
    15. November 2014, 11:11:45 von Glera77
    7 Antworten
    4194 Aufrufe
    16. Dezember 2015, 20:42:52 von Zitro
    1 Antworten
    3207 Aufrufe
    14. April 2010, 15:27:42 von Tomcraft
    0 Antworten
    1946 Aufrufe
    14. Februar 2013, 15:24:15 von Dull
               
    anything