Werbung / Banner buchen
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: Standardslider Bilder mit unveil nachladen und frei platzieren. Möglich?

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Moin

    Wo finde ich die Stelle, wo die Bilder des Spiders angegeben werden und man aus dem

    Code: XML  [Auswählen]
    img src=...

    Code: XML  [Auswählen]
    <img class="unveil" src="{$tpl_path}css/images/loading.gif" data-src="Sliderbild" alt="Sliderbildaltname" /><noscript><img src="Slidererbild" alt="Sliderbildaltname" /></noscript>

    machen könnte?

    Hintergrund: Ich probiere den Slider weiter unten einzufügen, da er die Sicht auf meine Themenweltenkategorien nimmt und ich diese für wichtiger halte. Und da könnten die Bilder ruhig nachgeladen werden.

    Vor den Bestsellerslider zu setzen hab ich schon hinbekommen. Frei platzierbar im Content der Startseite wäre natürlich noch besser. Kennt da jemand eine Lösung?

    Gruß Timm

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

    karsta.de

    • Experte
    • Beiträge: 3.156
    Die Sliderbilder-Ausgabe findest du in der inc\xtc_display_banner.inc.php.

    BG kgd

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Danke. Die Datei hatte ich auch gefunden. Allerdings ist dort nichts mit einem img src eingebunden, was meine bescheidenen Kenntnisse noch zugelassen hätten es selbst zu ändern.

    Gruß Timm

    Edit: Es ist nämlich ziemlich unschön, dass vor allem in Firefox die Sliderbilder erstmal untereinander erscheinen und oben nur Platzhalterpunkte mit dem Sliderbildnamen sind und er es dann zurecht rückt. Auch deshalb wollte ich ihn weiter unten platzieren.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Ich habe gerade keinen Shop mit den Standard-Slidern und kann es selbst nicht testen. Du kannst es ja mal damit versuchen:

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: xtc_display_banner.inc.php 899 2005-04-29 02:40:57Z hhgag $  

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(banner.php,v 1.10 2003/02/11); www.oscommerce.com
       (c) 2003      nextcommerce (xtc_display_banner.inc.php,v 1.3 2003/08/1); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

       
      // Display a banner from the specified group or banner id ($identifier)
      function xtc_display_banner($action, $identifier) {
        if ($action == 'dynamic') {
          $banners_query = xtc_db_query("SELECT count(*) as count
                                           FROM "
    . TABLE_BANNERS . "
                                          WHERE status = '1'
                                            AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                            AND banners_group = '"
    . xtc_db_input($identifier) . "'");
          $banners = xtc_db_fetch_array($banners_query);
          if ($banners['count'] > 0) {
            $banner = xtc_random_select("SELECT *
                                           FROM "
    . TABLE_BANNERS . "
                                          WHERE status = '1'
                                            AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                            AND banners_group = '"
    . xtc_db_input($identifier) . "'");
          }
        } elseif ($action == 'static') {
          if (is_array($identifier)) {
            $banner = $identifier;
          } else {
            $banner_query = xtc_db_query("SELECT *
                                            FROM "
    . TABLE_BANNERS . "
                                           WHERE status = '1'
                                             AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                             AND banners_id = '"
    . (int)$identifier . "'");
            if (xtc_db_num_rows($banner_query)) {
              $banner = xtc_db_fetch_array($banner_query);
            }
          }
        } elseif ($action == 'slider') {
          if (is_array($identifier)) {
            $banner_content = $identifier;
          } else {
            $banner_query = xtc_db_query("SELECT *
                                            FROM "
    . TABLE_BANNERS . "
                                           WHERE status = '1'
                                             AND banners_image != ''
                                             AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                             AND banners_group = '"
    . xtc_db_input($identifier) . "'");
            if (xtc_db_num_rows($banner_query) > 0) {
              $banner_content = array();
              while ($banner = xtc_db_fetch_array($banner_query)) {
                $banner_content[] = $banner;
              }
            }
          }
         
          if (count($banner_content) > 0) {
            $shop_url = xtc_get_top_level_domain(HTTP_SERVER);
     
            $banner_array = array();
            foreach ($banner_content as $banner) {
              $banner_url = xtc_get_top_level_domain($banner['banners_url']);
              $banner_array[] = array('IMAGE' => ((xtc_not_null($banner['banners_url'])) ? '<a href="' . xtc_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '"' . (($shop_url['new'] != $banner_url['new']) ? ' onclick="window.open(this.href); return false;"' : '') . '><img class="unveil" src="'.DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/css/images/loading.gif" data-src="' . $banner['banners_image']) . '" alt="' . $banner['banners_title']) . '" /><noscript>' . xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']) . '<noscript></a>' : xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title'])),
                                      'TEXT' => $banner['banners_html_text'],
                                      'TITLE' => $banner['banners_title']
                                      );
              xtc_update_banner_display_count($banner['banners_id']);
            }
           
            return $banner_array;
          }
        }

       
        if (xtc_not_null($banner['banners_html_text'])) {
          $banner_string = $banner['banners_html_text'];
        } elseif (xtc_not_null($banner['banners_url'])) {
          $banner_url = xtc_get_top_level_domain($banner['banners_url']);
          $shop_url = xtc_get_top_level_domain(HTTP_SERVER);
          $banner_string = '<a href="' . xtc_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '"' . (($shop_url['new'] != $banner_url['new']) ? ' onclick="window.open(this.href); return false;"' : '') . '><img class="unveil" src="'.DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/css/images/loading.gif" data-src="' . $banner['banners_image']) . '" alt="' . $banner['banners_title']) . '" /><noscript>' . xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']) . '</noscript></a>';
        } else {
          $banner_string = xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']);
        }

        xtc_update_banner_display_count($banner['banners_id']);

        return $banner_string;
      }
    ?>
     

    Denke aber, dass die Slider dann nicht wirklich funktionieren.

    BG kgd

    [edit]
    Zitat
    Es ist nämlich ziemlich unschön, dass vor allem in Firefox die Sliderbilder erstmal untereinander erscheinen und oben nur Platzhalterpunkte mit dem Sliderbildnamen sind und er es dann zurecht rückt. Auch deshalb wollte ich ihn weiter unten platzieren.

    Das ist genau der Grund warum ich den Slider mit dem Standardscript überall rausgeworfen habe.

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Lieben Dank @kgd

    Führt aber leider zu einer weißen Seite.

    Code: XML  [Auswählen]
    [19-11-2018 14:09:40] UNDEFINED_ERROR   : LoggingManager: syntax error, unexpected ')' in File: /var/www/vhosts/meinetestdomain.de/shopfgbz/inc/xtc_display_banner.inc.php on Line: 71

    Hab alle schließenden Klammern mal einzeln gelöscht. Klappt dennoch nicht. Vor allem ist Zeile 71 ja gleich mit dem Ursprungscode der Shopsoftware.

    Wenn ich aber mal die Klammern zähle von Zeile 71-74 dann müssten es zwei schließende Klammer zu viel sein.

    Eine ist denke ich bei
    Code: XML  [Auswählen]
    /css/images/loading.gif" data-src="' . $banner['banners_image']) //hier die letzte Klammer
    . Wenn ich die entferne, dann sagt er aber immer noch, dass in Zeile 71 eine schließende Klammer falsch sei.

    Gruß Timm

    karsta.de

    • Experte
    • Beiträge: 3.156
    Hatte ich beim Kopieren wohl jeweils die Klammern mitgenommen.

    Code: PHP  [Auswählen]
      // Display a banner from the specified group or banner id ($identifier)
      function xtc_display_banner($action, $identifier) {
        if ($action == 'dynamic') {
          $banners_query = xtc_db_query("SELECT count(*) as count
                                           FROM "
    . TABLE_BANNERS . "
                                          WHERE status = '1'
                                            AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                            AND banners_group = '"
    . xtc_db_input($identifier) . "'");
          $banners = xtc_db_fetch_array($banners_query);
          if ($banners['count'] > 0) {
            $banner = xtc_random_select("SELECT *
                                           FROM "
    . TABLE_BANNERS . "
                                          WHERE status = '1'
                                            AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                            AND banners_group = '"
    . xtc_db_input($identifier) . "'");
          }
        } elseif ($action == 'static') {
          if (is_array($identifier)) {
            $banner = $identifier;
          } else {
            $banner_query = xtc_db_query("SELECT *
                                            FROM "
    . TABLE_BANNERS . "
                                           WHERE status = '1'
                                             AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                             AND banners_id = '"
    . (int)$identifier . "'");
            if (xtc_db_num_rows($banner_query)) {
              $banner = xtc_db_fetch_array($banner_query);
            }
          }
        } elseif ($action == 'slider') {
          if (is_array($identifier)) {
            $banner_content = $identifier;
          } else {
            $banner_query = xtc_db_query("SELECT *
                                            FROM "
    . TABLE_BANNERS . "
                                           WHERE status = '1'
                                             AND banners_image != ''
                                             AND languages_id = '"
    . (int)$_SESSION['languages_id'] . "'
                                             AND banners_group = '"
    . xtc_db_input($identifier) . "'");
            if (xtc_db_num_rows($banner_query) > 0) {
              $banner_content = array();
              while ($banner = xtc_db_fetch_array($banner_query)) {
                $banner_content[] = $banner;
              }
            }
          }
         
          if (count($banner_content) > 0) {
            $shop_url = xtc_get_top_level_domain(HTTP_SERVER);
     
            $banner_array = array();
            foreach ($banner_content as $banner) {
              $banner_url = xtc_get_top_level_domain($banner['banners_url']);
              $banner_array[] = array('IMAGE' => ((xtc_not_null($banner['banners_url'])) ? '<a href="' . xtc_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '"' . (($shop_url['new'] != $banner_url['new']) ? ' onclick="window.open(this.href); return false;"' : '') . '><img class="unveil" src="'. DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/css/images/loading.gif" data-src="' . DIR_WS_IMAGES.'banner/' . $banner['banners_image'] . '" alt="' . $banner['banners_title'] . '" /><noscript>' . xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']) . '<noscript></a>' : xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title'])),
                                      'TEXT' => $banner['banners_html_text'],
                                      'TITLE' => $banner['banners_title']
                                      );
              xtc_update_banner_display_count($banner['banners_id']);
            }
           
            return $banner_array;
          }
        }

       
        if (xtc_not_null($banner['banners_html_text'])) {
          $banner_string = $banner['banners_html_text'];
        } elseif (xtc_not_null($banner['banners_url'])) {
          $banner_url = xtc_get_top_level_domain($banner['banners_url']);
          $shop_url = xtc_get_top_level_domain(HTTP_SERVER);
          $banner_string = '<a href="' . xtc_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '"' . (($shop_url['new'] != $banner_url['new']) ? ' onclick="window.open(this.href); return false;"' : '') . '><img class="unveil" src="'.DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/css/images/loading.gif" data-src="'. DIR_WS_IMAGES.'banner/' . $banner['banners_image']. '" alt="' . $banner['banners_title'] . '" /><noscript>' . xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']) . '</noscript></a>';
        } else {
          $banner_string = xtc_image(DIR_WS_IMAGES.'banner/' . $banner['banners_image'], $banner['banners_title']);
        }

        xtc_update_banner_display_count($banner['banners_id']);

        return $banner_string;
      }
       
     

    BG kgd
    Habe es eben nochmal editiert. Da fehlte noch der Pfad zum Bild für data-src.

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Danke für deine Mühe.

    Mit beiden eben geposteten und veränderten Versionen wird der Slider nun angezeigt. Jedoch wird die class="unveil" nicht übernommen und man sieht auch kein loading.gif.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Gruß Timm

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Könnte nochmal jemand über den Code schauen, ob es doch möglich ist den Sliderbildern die class="unveil" zu vergeben?

    Ansonsten: Kennt jemand einen Slider, den man per Smarty frei im Content einsetzen kann (wie beim Themenweltenmodul im Contentmanager)? Hatte schon mit dem Slider von Magictoolbox geliebäugelt, aber den kann ich ja genauso "nur" in der Index.html einsetzen und somit nur über oder unter dem maincontent.

    Gruß Timm

    Hetfield

    • modified Team
    • Beiträge: 937
    Hallo Timm,

    der Imageslider kann zwar so nicht im Editor eingesetzt (müsste man anpassen), aber Du kannst ihn beliebig im Template platzieren. Siehe Variante 2 in der readme: https://imageslider.merz-it-service.de/readme.html

    MfG Hetfield  8-)
    2 Antworten
    2714 Aufrufe
    31. Januar 2011, 13:01:55 von supercat1510
    3 Antworten
    2774 Aufrufe
    24. Mai 2013, 15:02:30 von web0null
    14 Antworten
    8016 Aufrufe
    16. August 2013, 09:30:52 von jannemann
    6 Antworten
    2553 Aufrufe
    12. April 2015, 01:03:44 von Taeschke