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: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #270 am: 01. Oktober 2017, 14:28:27
    Hallo zusammen

    ich versuche seit einiger Zeit auf der Artikelübersichtsseite ( product_listing.html )
    den jeweiligen Grundpreis des Artikels ( wie in der product_info.html ) anzeigen zu lassen.

    Ist rechtlich auch so nötig.

    Leider reicht mein Halbwissen dazu nicht aus.

    Hab bisher mehrere Versuche in der /templates/bootstrap3/module/includes/price_info.html  und in der price_box.html gestartet, welche aber nicht dass gewünschte Ergenis gebracht haben.

    soweit ich es eingrenzen kann ist in der price_box.html dieser Code dafür vorgesehen
    Code: PHP  [Auswählen]
    <span class="item_price{if $module_data.PRODUCTS_VPE} with_vpe{/if} clearfix"><span class="small_price">{$smarty.const.UNIT_PRICE}</span> {$price_data.PRODUCTS_PRICE_SPECIAL_PRICE}</span>
               
    auch wenn ich die if-Anweisung herausnehme wird kein Grundpreis angezeigt.

    hat jemand einen Tipp für mich.

    Gruß Chris

    AKTUALISIERUNG!

    Hab den "Fehler" eben selbst gefunden.
    Der Grundpreis wird wir gewollt angezeigt, wurde aber durch die Erweiterung der stylesheet.css

    Code: PHP  [Auswählen]
    @media (min-width: 768px) {
    .lb_price {
            height:29px;
    }

    in den nicht sichbaren Bereich verschoben.

    Ich hab die high auf 68px erweitert. Dann wird alles wie gewünscht angezeigt  :oops:

    Gruß Chris.

    Azrael

    • Neu im Forum
    • Beiträge: 37
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #271 am: 07. Oktober 2017, 20:09:08
    Hallo,

    kann mich meinen vielen Vorgängern nur anschließen, danke, das Template ist wirklich klasse.

    Hierbei ist mir noch eine Kleinigkeit aufgefallen, die mich erst in den Wahnsinn getrieben hat:
    Mit deaktivierter CSS-Komprimierung hat die Seite genau so ausgesehen, wie ich wollte. Mit aktivierter CSS-Komprimierung war immer ein anderes Bootswatch-Template aktiv.

    Grund:
    In bootstrap3/source/inc/combine_files.inc.php wird beim kombinieren der CSS-Dateien nur überprüft, ob die aktuell kombinierte Datei aktualisiert werden muss, indem die Zeitstempel der CSS-Dateien abgeglichen werden.
    Wenn man aber in den CSS-Dateien keine Änderungen mehr gemacht hat, sondern nur das Template in der bootstrap3/config/config.php angepasst hat, dann wird die ".min"-Datei natürlich nie aktualisiert.

    Einfachste schnelle Lösung: den Zeitstempel einer CSS-Datei aktualisieren und schon wird die ".min"-Datei auch aktualisiert.
    Beste Lösung: noch eine Überprüfung im Kombinierungsmechnismus einfügen, um zu überprüfen, ob die config.php sich geändert hat und in diesem Fall einfach provisorisch die ".min"-Datei aktualisieren.

    Gruss
    Azrael

    Azrael

    • Neu im Forum
    • Beiträge: 37
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #272 am: 07. Oktober 2017, 20:38:46
    Hallo, kleiner Nachtrag:

    in den Popups werden aktuell keine Stylesheets geladen, daher kann der Inhalt teilweise nur sehr schlecht lesbar sein.

    Hier mein erster (noch verbesserungswürdiger) Entwurf für die bootstrap3/module/popup_content.html
    Code: XML  [Auswählen]
    <!DOCTYPE html{$doctype}>
    <html {$html_params}>
    <head>
      <meta charset="{$charset}" />
      <title>{$title}</title>
      <meta name="robots" content="noindex, nofollow, noodp" />
      {if $base}<base href="{$base}" />{/if}
      <link rel="stylesheet" type="text/css" href="{$tpl_path}stylesheet.css" />
    </head>
    <body class="popupcontent">
    <h1>{$content_heading}</h1>
    {$content_text}
    </body>
    </html>
     

    Ich habe hier nur die Referenz zum Stylesheet eingefügt. Idealerweise sollte man noch die ganzen Stylesheet-Optionen inklusive der Themes unterstützen.

    Gruß
    Azrael

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #273 am: 08. Oktober 2017, 13:26:31
    Hallo Community

    Ich habe ein kleines Skript für das Bootstrap3 Template geschrieben welches das Formular "Konto erstellen" nutzerfreundlicher macht, damit werden jetzt neu etwaige nicht oder nicht richtig ausgefüllte Formularfelder direkt im Formular selbst farblich Markiert und mit erläuterndem Text versehen angezeigt. So sind Eingabefehler für den Kunden sofort identifizierbar und können leicht korrigiert werden.

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

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

    Voraussetzung: charset="UTF-8"

    Skriptcode: Den folgenden Code ganz am Ende der Datei '/templates/bootstrap3/javascript/general_bottom.js.php' einfügen.

    Code: PHP  [Auswählen]
    <?php if (strstr($PHP_SELF, FILENAME_CREATE_ACCOUNT) || strstr($PHP_SELF, FILENAME_CREATE_GUEST_ACCOUNT)) {
    require_once (DIR_FS_EXTERNAL.'password_policy/password_policy.php');
    ?>
    <script>
      $(function () {
        var key, hasWarnings;  
        var classWarnings = "text-danger";
        var strWarnings = $("#create_account .alert-warning").html();
        var warnings = {
    <?php
          if (defined('ENTRY_GENDER_ERROR')) echo '      "' . html_entity_decode(ENTRY_GENDER_ERROR) . '" : "gender",' . PHP_EOL;
          if (defined('ENTRY_FIRST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_FIRST_NAME_ERROR) . '" : "firstname",' . PHP_EOL;
          if (defined('ENTRY_LAST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_LAST_NAME_ERROR) . '" : "lastname",' . PHP_EOL;
          if (defined('ENTRY_DATE_OF_BIRTH_ERROR')) echo '      "' . html_entity_decode(ENTRY_DATE_OF_BIRTH_ERROR) . '" : "dob",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_CHECK_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_CHECK_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR_EXISTS) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ERROR_NOT_MATCHING) . '" : "confirm_email_address",' . PHP_EOL;
          if (defined('ENTRY_STREET_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_STREET_ADDRESS_ERROR) . '" : "street_address",' . PHP_EOL;
          if (defined('ENTRY_POST_CODE_ERROR')) echo '      "' . html_entity_decode(ENTRY_POST_CODE_ERROR) . '" : "postcode",' . PHP_EOL;
          if (defined('ENTRY_CITY_ERROR')) echo '      "' . html_entity_decode(ENTRY_CITY_ERROR) . '" : "city",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR_SELECT')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR_SELECT) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_COUNTRY_ERROR')) echo '      "' . html_entity_decode(ENTRY_COUNTRY_ERROR) . '" : "country",' . PHP_EOL;
          if (defined('ENTRY_TELEPHONE_NUMBER_ERROR')) echo '      "' . html_entity_decode(ENTRY_TELEPHONE_NUMBER_ERROR) . '" : "telephone",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR), ENTRY_PASSWORD_MIN_LENGTH) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_LOWER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_LOWER), POLICY_MIN_LOWER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_UPPER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_UPPER), POLICY_MIN_UPPER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_NUM')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_NUM), POLICY_MIN_NUMERIC_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_CHAR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_CHAR), POLICY_MIN_SPECIAL_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_PASSWORD_ERROR_NOT_MATCHING) . '" : "confirmation",' . PHP_EOL;    
          if (defined('ENTRY_PRIVACY_ERROR')) echo '      "' . html_entity_decode(ENTRY_PRIVACY_ERROR) . '" : "privacy",' . PHP_EOL;
          if (defined('ERROR_VVCODE_POPUP')) echo '      "' . html_entity_decode(ERROR_VVCODE_POPUP) . '" : "vvcode",' . PHP_EOL;      
    ?>
        };

        for (key in warnings) {
          if (strWarnings.includes(key)) {  
            $("#create_account *[name='" + warnings[key] + "']").parent().append('<div class="create-account-warning-text" style="float: left;">' + key + '</div>').addClass(classWarnings);
            if (hasWarnings != 1) {
              $("#create_account .alert-warning").css("display", "none");
              $("#create_account *[name='password'], #create_account *[name='confirmation'], #create_account *[name='vvcode']").parent().addClass(classWarnings);          
            }  
            hasWarnings = 1;
          }  
        }
       
      });
    </script>
    <?php } ?>
     

    PS:
    Bei Smartphones scheint es mir besonders wichtig zu sein das etwaige Fehler nicht oberhalb des Formulars sondern direkt im Formular selbst Markiert und erläutert werden, denn sonst muss man ständig rauf und runter scrollen.

    Gruss
    Hanspeter

    voste

    • Neu im Forum
    • Beiträge: 36
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #274 am: 08. Oktober 2017, 16:53:05
    Mahlzeit, schönes Template. Wie auch beim letzten Bootstrap Template, gute arbeit!

    Bin auch gerade dabei ein bisschen zu basteln.
    Was mir gerade aufgefallen ist:
    Wenn ein Herstellerlogo auf der Product_Info eingeblendet wird, bekommt man ungewollt durch" .thumbnail" einen Rahmen quer durchs Bild.

    mfg

    Karl1

    • Experte
    • Beiträge: 1.879
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #275 am: 11. Oktober 2017, 11:51:12
    Hallo Zusammen,
    ich stell hier auch mal das Systemmodul Kundenerinnerung passend zu "bootstrap3" vor.

    Dieses Systemmodul bietet angemeldeten Kunden die Möglichkeit, sich eine Erinnerungs-E-Mail schicken zu lassen, sobald ein Artikel wieder auf Lager ist.
    Sobald ein Artikel nicht mehr auf Lager ist, erscheint auf der Produktdetail-Seite ein Button, womit der Kunde sich in die Erinnerungsliste eintragen kann.
    Ist ein Artikel (in ausreichender Anzahl) wieder auf Lager, bekommt der Kunde automatisch eine Erinnerungsmail mit einem Link, der direkt zum Produkt im Shop führt.

    Eigenschaften:
    • keine Änderungen im Template oder anderen Dateien erforderlich
    • kein zusätzliches CSS
    • alle erforderlichen Dateien sind im Paket
    • Dateien für das Template "bootstrap3" sind enthalten

    Gruß Karl

    Den Originalbeitrag & Download zum Modul findet ihr hier: MODUL: Produkterinnerung für modified eCommerce Shopsoftware

    [EDIT Tomcraft 11.10.2017: Modul-Duplikat entfernt und auf Modulthema verwiesen.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #276 am: 11. Oktober 2017, 14:22:13
    Ich habe das Modul mal entfernt und in Beitrag 1 des passenden Themas mit aufgenommen: MODUL: Produkterinnerung für modified eCommerce Shopsoftware

    Sonst "gammelt" hier irgendwann ein altes Modul rum, welches nicht mehr aktualisiert wird. ;-)

    Grüße

    Torsten

    Schreinermeister

    • Fördermitglied
    • Beiträge: 415
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #277 am: 15. Oktober 2017, 19:47:20
    @hpzeller

    ich deine Code-Erweiterung für "Konto erstellen" mal versuchsweise eingebaut.
    Bisher ohne Probleme.

    Danke fürs teilen  :thx:

    Gruß Chris

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #278 am: 15. Oktober 2017, 21:34:11
    Bit­te­schön, freut mich wenn es funktioniert, mittlerweile habe ich es mit verschiedenen Templatethemen ausprobiert und dabei festgestellt, dass abhängig von der Schriftgrösse es bei bestimmten Screenbreiten zu einer unschönen Darstellung der Checkbox "Ich akzeptiere Ihre Datenschutzrichtlinien." kommen kann, siehe Bid.

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

    Hier der korrigierte Code aus Antwort #273,

    Code: PHP  [Auswählen]
    <?php if (strstr($PHP_SELF, FILENAME_CREATE_ACCOUNT) || strstr($PHP_SELF, FILENAME_CREATE_GUEST_ACCOUNT)) {
    require_once (DIR_FS_EXTERNAL.'password_policy/password_policy.php');
    ?>
    <script>
      $(function () {
        var key, hasWarnings;  
        var classWarnings = "text-danger";
        var strWarnings = $("#create_account .alert-warning").html();
        var warnings = {
    <?php
          if (defined('ENTRY_GENDER_ERROR')) echo '      "' . html_entity_decode(ENTRY_GENDER_ERROR) . '" : "gender",' . PHP_EOL;
          if (defined('ENTRY_FIRST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_FIRST_NAME_ERROR) . '" : "firstname",' . PHP_EOL;
          if (defined('ENTRY_LAST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_LAST_NAME_ERROR) . '" : "lastname",' . PHP_EOL;
          if (defined('ENTRY_DATE_OF_BIRTH_ERROR')) echo '      "' . html_entity_decode(ENTRY_DATE_OF_BIRTH_ERROR) . '" : "dob",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_CHECK_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_CHECK_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR_EXISTS) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ERROR_NOT_MATCHING) . '" : "confirm_email_address",' . PHP_EOL;
          if (defined('ENTRY_STREET_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_STREET_ADDRESS_ERROR) . '" : "street_address",' . PHP_EOL;
          if (defined('ENTRY_POST_CODE_ERROR')) echo '      "' . html_entity_decode(ENTRY_POST_CODE_ERROR) . '" : "postcode",' . PHP_EOL;
          if (defined('ENTRY_CITY_ERROR')) echo '      "' . html_entity_decode(ENTRY_CITY_ERROR) . '" : "city",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR_SELECT')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR_SELECT) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_COUNTRY_ERROR')) echo '      "' . html_entity_decode(ENTRY_COUNTRY_ERROR) . '" : "country",' . PHP_EOL;
          if (defined('ENTRY_TELEPHONE_NUMBER_ERROR')) echo '      "' . html_entity_decode(ENTRY_TELEPHONE_NUMBER_ERROR) . '" : "telephone",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR), ENTRY_PASSWORD_MIN_LENGTH) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_LOWER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_LOWER), POLICY_MIN_LOWER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_UPPER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_UPPER), POLICY_MIN_UPPER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_NUM')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_NUM), POLICY_MIN_NUMERIC_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_CHAR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_CHAR), POLICY_MIN_SPECIAL_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_PASSWORD_ERROR_NOT_MATCHING) . '" : "confirmation",' . PHP_EOL;    
          if (defined('ENTRY_PRIVACY_ERROR')) echo '      "' . html_entity_decode(ENTRY_PRIVACY_ERROR) . '" : "privacy",' . PHP_EOL;
          if (defined('ERROR_VVCODE_POPUP')) echo '      "' . html_entity_decode(ERROR_VVCODE_POPUP) . '" : "vvcode",' . PHP_EOL;      
    ?>
        };

        for (key in warnings) {
          if (strWarnings.includes(key)) {  
            $("#create_account *[name='" + warnings[key] + "']").parent().append('<div class="create-account-warning-text" style="width: 95%; float: left;">' + key + '</div>').addClass(classWarnings);
            if (hasWarnings != 1) {
              $("#create_account .alert-warning").css("display", "none");
              $("#create_account *[name='password'], #create_account *[name='confirmation'], #create_account *[name='vvcode']").parent().addClass(classWarnings);          
            }  
            hasWarnings = 1;
          }  
        }
       
      });
    </script>
    <?php } ?>
     

    damit sollte es jetzt bei jeder Screenbreite und jeder vernünftigen Schriftgrösse wie im Bild unten aussehen.

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

    Gruss
    Hanspeter

    Frank1888

    • Neu im Forum
    • Beiträge: 21
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #279 am: 17. Oktober 2017, 15:55:59
    Hallo zusammen,

    hab einen kleinen Fehler entdeckt. Wenn ich mit dem Handy beim Checkout auf Zahlungsweise komme, wird das Kommentarfeld zu Groß angezeigt (bzw. ist es wohl nicht responsive) Dadurch wird die Seite dann auf dem Handy viel zu klein angezeigt. Hab mal einen Sreen vom PC aus gemacht.

    Könnte mir jemand behilflich sein den Fehler zu beheben?

    LG, Frank

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

    Karl1

    • Experte
    • Beiträge: 1.879
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #280 am: 17. Oktober 2017, 16:30:26
    Hallo Frank,
    da war ich wohl nachlässig.

    Ersetze in der Datei templates/bootstrap3/module/checkout_payment.html in Zeile 72
    Code: PHP  [Auswählen]
    {$COMMENTS}
    mit
    Code: PHP  [Auswählen]
    {$COMMENTS|replace:'<textarea':'<textarea class="form-control"'}

    Dadurch erhält das Texteingabefeld die CSS-Klasse "form-control" und wird damit auch responsive.

    Gruß Karl

    Frank1888

    • Neu im Forum
    • Beiträge: 21
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #281 am: 17. Oktober 2017, 16:56:46
    Hallo Frank,
    da war ich wohl nachlässig.

    Ersetze in der Datei templates/bootstrap3/module/checkout_payment.html in Zeile 72
    Code: PHP  [Auswählen]
    {$COMMENTS}
    mit
    Code: PHP  [Auswählen]
    {$COMMENTS|replace:'<textarea':'<textarea class="form-control"'}

    Dadurch erhält das Texteingabefeld die CSS-Klasse "form-control" und wird damit auch responsive.

    Gruß Karl

    Hallo Karl,

    Danke, funktioniert einwandfrei  :-B

    LG, Frank

    voste

    • Neu im Forum
    • Beiträge: 36
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #282 am: 17. Oktober 2017, 23:47:06
    Nabend, gibt es die möglichkeit beim Superfish Menü das Plugin Supersubs einzubauen?
    https://superfish.joelbirch.co/examples/supersubs/

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #283 am: 19. Oktober 2017, 22:38:27
    Hallo Voste

    Zitat
    This menu uses the optional (deprecated) Supersubs plugin to make the submenu widths variable. The fixed width set in the CSS is overridden and all menu items within a submenu are altered to match the width of their widest sibling. This is most commonly used to make all menu items fit on one line so that they are all of equal height.

    Beachte, das Plugin ist "deprecated", also veraltet, ausserdem ist es nicht responsive, siehe Bild.

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

    PS:
    Ein, meines Erachtens, interessantes Menü habe ich hier gefunden -> https://www.smartmenus.org

    Gruss
    Hanspeter

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: TEMPLATE: Bootstrap3 für Shop 2.0 - freies responsive Template
    Antwort #284 am: 20. Oktober 2017, 13:56:36
    Hallo Community

    Ein kleines Update zu meinem Beitrag [Formular "Konto erstellen" nutzerfreundlicher machen] in Antwort #273.

    Um das im folgenden Zitat beschriebene Problem zu lösen habe ich einen kleinen Zusatz in den Code aus obigem Beitrag integriert.

    Zitat
    Hallo!
    ich habe immer wieder das Problem, dass Kunden vergessen die Hausnummer einzugeben, und das Programm nicht wie bei anderen Shops meckert, sondern das so hinnimmt.
    Gibt es eine Lösung dafür ...

    Neu wird der Kunde nun darauf hingewiesen, wenn die Hausnummer fehlt nachdem er das Eingabefeld "Strasse/Nr." verlassen hat, siehe Bild.

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

    Zusätzlich hab ich, weil der IE11 und der Safari Browser die Funktion includes() nicht unterstützt, diese durch die Funktion indexOf() ersetzt.

    Hier der neue, bereinigte und ergänzte Code.

    Code: PHP  [Auswählen]
    <?php if (strstr($PHP_SELF, FILENAME_CREATE_ACCOUNT) || strstr($PHP_SELF, FILENAME_CREATE_GUEST_ACCOUNT)) {
    require_once (DIR_FS_EXTERNAL.'password_policy/password_policy.php');
    ?>
    <script>
      $(function () {
        var key, hasWarnings;  
        var classWarnings = "text-danger";
        var strWarnings = $("#create_account .alert-warning").html();
        var warnings = {
    <?php
          if (defined('ENTRY_GENDER_ERROR')) echo '      "' . html_entity_decode(ENTRY_GENDER_ERROR) . '" : "gender",' . PHP_EOL;
          if (defined('ENTRY_FIRST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_FIRST_NAME_ERROR) . '" : "firstname",' . PHP_EOL;
          if (defined('ENTRY_LAST_NAME_ERROR')) echo '      "' . html_entity_decode(ENTRY_LAST_NAME_ERROR) . '" : "lastname",' . PHP_EOL;
          if (defined('ENTRY_DATE_OF_BIRTH_ERROR')) echo '      "' . html_entity_decode(ENTRY_DATE_OF_BIRTH_ERROR) . '" : "dob",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_CHECK_ERROR')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_CHECK_ERROR) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ADDRESS_ERROR_EXISTS) . '" : "email_address",' . PHP_EOL;
          if (defined('ENTRY_EMAIL_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_EMAIL_ERROR_NOT_MATCHING) . '" : "confirm_email_address",' . PHP_EOL;
          if (defined('ENTRY_STREET_ADDRESS_ERROR')) echo '      "' . html_entity_decode(ENTRY_STREET_ADDRESS_ERROR) . '" : "street_address",' . PHP_EOL;
          if (defined('ENTRY_POST_CODE_ERROR')) echo '      "' . html_entity_decode(ENTRY_POST_CODE_ERROR) . '" : "postcode",' . PHP_EOL;
          if (defined('ENTRY_CITY_ERROR')) echo '      "' . html_entity_decode(ENTRY_CITY_ERROR) . '" : "city",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_STATE_ERROR_SELECT')) echo '      "' . html_entity_decode(ENTRY_STATE_ERROR_SELECT) . '" : "state",' . PHP_EOL;
          if (defined('ENTRY_COUNTRY_ERROR')) echo '      "' . html_entity_decode(ENTRY_COUNTRY_ERROR) . '" : "country",' . PHP_EOL;
          if (defined('ENTRY_TELEPHONE_NUMBER_ERROR')) echo '      "' . html_entity_decode(ENTRY_TELEPHONE_NUMBER_ERROR) . '" : "telephone",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR), ENTRY_PASSWORD_MIN_LENGTH) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_LOWER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_LOWER), POLICY_MIN_LOWER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_UPPER')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_UPPER), POLICY_MIN_UPPER_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_NUM')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_NUM), POLICY_MIN_NUMERIC_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_MIN_CHAR')) echo '      "' . sprintf(html_entity_decode(ENTRY_PASSWORD_ERROR_MIN_CHAR), POLICY_MIN_SPECIAL_CHARS) . '" : "password",' . PHP_EOL;
          if (defined('ENTRY_PASSWORD_ERROR_NOT_MATCHING')) echo '      "' . html_entity_decode(ENTRY_PASSWORD_ERROR_NOT_MATCHING) . '" : "confirmation",' . PHP_EOL;    
          if (defined('ENTRY_PRIVACY_ERROR')) echo '      "' . html_entity_decode(ENTRY_PRIVACY_ERROR) . '" : "privacy",' . PHP_EOL;
          if (defined('ERROR_VVCODE_POPUP')) echo '      "' . html_entity_decode(ERROR_VVCODE_POPUP) . '" : "vvcode",' . PHP_EOL;      
    ?>
        };
    <?php
          echo '    $("#create_account *[name=\'street_address\']").blur(function() {if(!/[1-9]/.test(this.value) && this.value.length >= ' . ENTRY_STREET_ADDRESS_MIN_LENGTH . '){$(\'#number-error\'). slideDown(200)}else{$(\'#number-error\').slideUp(200)}});' . PHP_EOL;

          if ($_SESSION['language_code'] == 'de') {      
            echo '    $("#create_account *[name=\'street_address\']").parent().append(\'<div id="number-error" style="width: 95%; float: left; display: none;"><span class="\' + classWarnings + \'">Hausnummer fehlt!</span> Ignorieren Sie diese Meldung wenn Sie keine haben.</div>\');' . PHP_EOL;      
          } else if ($_SESSION['language_code'] == 'en') {      
            echo '    $("#create_account *[name=\'street_address\']").parent().append(\'<div id="number-error" style="width: 95%; float: left; display: none;"><span class="\' + classWarnings + \'">House number is missing!</span> Ignore this message if you have no house number.</div>\');' . PHP_EOL;      
          }  else {      
            echo '    $("#create_account *[name=\'street_address\']").parent().append(\'<div id="number-error" style="width: 95%; float: left; display: none;"><span class="\' + classWarnings + \'">House number is missing!</span> Ignore this message if you have no house number.</div>\')' . PHP_EOL;      
          }
    ?>
        for (key in warnings) {
          if (strWarnings.indexOf(key) != -1) {  
            $("#create_account *[name='" + warnings[key] + "']").parent().append('<div class="create-account-warning-text" style="width: 95%; float: left;">' + key + '</div>').addClass(classWarnings);
            if (hasWarnings != 1) {
              $("#create_account .alert-warning").css("display", "none");
              $("#create_account *[name='password'], #create_account *[name='confirmation'], #create_account *[name='vvcode']").parent().addClass(classWarnings);          
            }  
            hasWarnings = 1;
          }  
        }
       
      });
    </script>
    <?php } ?>
     

    Gruss
    Hanspeter
    2035 Antworten
    364854 Aufrufe
    Heute um 01:23:35 von Onlineshopper
    179 Antworten
    12878 Aufrufe
    14. September 2024, 10:13:46 von kotzbrocken
    1228 Antworten
    652845 Aufrufe
    11. März 2020, 16:11:33 von Baschtl
    1 Antworten
    3299 Aufrufe
    24. April 2018, 09:36:44 von lukass
               
    anything