Ankündigung

Einklappen
Keine Ankündigung bisher.

placeholder

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    placeholder

    Ich möchte gern die Pflichtfeldmarkierung (Sterne) als Placeholder im Inputfeld intergrieren. Dazu habe ich z.B.
    Code:
      <label for="firstname"><?php echo ENTRY_FIRST_NAME; ?></label>
                <?php echo zen_draw_input_field('firstname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname', '40') . ' id="firstname" placeholder=""' . ((int) ENTRY_FIRST_NAME_MIN_LENGTH > 0 ? ' required' : '')) [COLOR=#ff0000]. '<span class="alert">' . ENTRY_FIRST_NAME_TEXT . '</span>'[/COLOR]; ?>
    geändert auf
    Code:
    <label for="firstname"><?php echo ENTRY_FIRST_NAME; ?></label>
                <?php echo zen_draw_input_field('firstname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname', '40') . ' id="firstname" placeholder="[COLOR=#ff0000]' . ENTRY_FIRST_NAME_TEXT . '[/COLOR]"' . ((int) ENTRY_FIRST_NAME_MIN_LENGTH > 0 ? ' required' : '')) ; ?>
    das klappt soweit auch.

    Nun die Frage, ob es die Funktion in irgend einer Weise beeinträchtigt, oder muss ich noch etwas beachten?

    #2
    Genau das ist ja bereits in 1.5.5 ohnehin Standard
    includes/templates/template_default/templates/tpl_modules_create_account.php
    Code:
    <label class="inputLabel" for="firstname"><?php echo ENTRY_FIRST_NAME; ?></label>
    <?php echo zen_draw_input_field('firstname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname', '40') . ' id="firstname" placeholder="' . ENTRY_FIRST_NAME_TEXT . '"' . ((int)ENTRY_FIRST_NAME_MIN_LENGTH > 0 ? ' required' : '')); ?>

    Kommentar


      #3
      Danke. Ich muss dann wohl doch erst einmal auf die neuste Version updaten. In meiner ist es noch nicht enthalten, warum auch immer.

      Kommentar


        #4
        Das mit den Placeholdern hat sich erst einmal geklärt, das war eine Änderung unsererseits.

        Nun besteht aber noch ein Problem beim Geburtstagsfeld.
        Im Originaltemplate wird in der Desktopversion der Placeholder angezeigt, in der mobilen Version nicht, sondern als Dropdown.
        Code:
        <?php  if (ACCOUNT_DOB == 'true') {
        ?>
        <fieldset>
        <legend><?php echo TABLE_HEADING_DATE_OF_BIRTH; ?></legend>
        <label class="inputLabel" for="dob"><?php echo ENTRY_DATE_OF_BIRTH; ?></label>
        <?php echo zen_draw_input_field('dob','', 'id="dob" placeholder="' . ENTRY_DATE_OF_BIRTH_TEXT . '"' . (ACCOUNT_DOB == 'true' && (int)ENTRY_DOB_MIN_LENGTH != 0 ? ' required' : '')); ?>
        <br class="clearBoth" />
        </fieldset>
        <?php
          }
        ?>
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: WhatsApp Image 2017-07-14 at 11.29.25.jpg
Ansichten: 1
Größe: 19,4 KB
ID: 103138
        nun ist ja sehr schön zu erkennen, dass es nicht mehr als Pflichtfeld deklariert ist.

        Da mir dieses aus der Reihe schwindende Dropdown nicht gefällt, haben wir das mal etwas geändert und bereinigt. Was dann so aussieht.
        Code:
        <?php if (ACCOUNT_DOB == 'true'): ?>            <div>
                        <label for="dob"><?php echo ENTRY_DATE_OF_BIRTH; ?></label>
        <?php echo zen_draw_input_field('dob','', 'id="dob" placeholder="' . ENTRY_DATE_OF_BIRTH_TEXT . '"' . (ACCOUNT_DOB == 'true' && (int)ENTRY_DOB_MIN_LENGTH != 0 ? ' required' : '')); ?>
                    </div>
                <?php endif; ?>
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: WhatsApp Image 2017-07-14 at 11.03.07.jpg
Ansichten: 1
Größe: 18,7 KB
ID: 103139
        Nun zeigt sich aber, dass der Placeholder hier nicht angezeigt wird und das Feld auch nicht als Pflichtfeld deklariet ist.

        Wenn der Placeholder nun aus dem Feld herausgenommen wird und angehängt gezeigt wird, dann geht es, nur ist dies ja dann wieder ein Stilbruch auf der Seite. Es sieht wie folgt aus.
        Code:
        <?php if (ACCOUNT_DOB == 'true'): ?>            <div>
                        <label for="dob"><?php echo ENTRY_DATE_OF_BIRTH; ?></label>
                        <?php echo zen_draw_input_field('dob', '', 'id="dob" placeholder=""' . (ACCOUNT_DOB == 'true' && (int) ENTRY_DOB_MIN_LENGTH != 0 ? ' required' : '')) . '<span class="alert">' . ENTRY_DATE_OF_BIRTH_TEXT . '</span>'; ?>
                    </div>
                <?php endif; ?>
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: WhatsApp Image 2017-07-14 at 11.13.37.jpg
Ansichten: 1
Größe: 17,6 KB
ID: 103140

        nun müsste es doch die Möglichkeit geben, den Placeholder auch in dieses Feld zu bekommen, nur leider finde ich es nicht, bzw, wie müsste ich den Code ändern, damit nicht die mobile Feld-Variante aufgerufen wird?

        Kommentar


          #5
          Geburtstag Eingabefeld Mobil

          Nun habe ich mich noch mal mit dem Eingabefeld des Geburtsdatums beschäftigt und muss sagen, dass es irgendwie nicht meinen Vorstellungen entspricht.

          Auf dem Desktop ist das völlig in Ordnung, jedoch mobil geht das so nicht.

          Wenn man das Geburtsdatum eingeben möchte öffnet sich ein Popup wo man das Datum auswählen kann. Das ist aber irgendwie nicht die Lösung, denn man kann das Jahr nicht wählen und muss die Monate zurückblättern, da der aktuelle Tag angezeigt wird.
          Eine müssige Angelegenheit, wenn man etwas älter als 2 Monate ist.
          Ich denke, dass dies ein sehr wichtiger Punkt im Onlinehandel ist.

          Kann man dieses Feld nicht als normales Eingabefeld gestalten?

          Ich teste auf Samsung Galaxy S6 edge mit neuestem OS.

          Kommentar


            #6
            Wenn Du nicht willst, dass das Geburtdatumsfeld auf mobilen Geräten ein Dropdown mit einer Datumsauswahl zeigt, dann deaktiviere diese Funktion in:

            includes/templates/responsive_classic/jscript/jscript_responsive_framework.php

            ca. Zeile 68:
            Code:
            $('input#dob').clone().attr('type','date').insertAfter('input#dob').prev().remove();
            Zeile auskommentieren und ändern auf:
            Code:
            //$('input#dob').clone().attr('type','date').insertAfter('input#dob').prev().remove();
            Dann wird das Feld am Mobile genauso angezeigt wie am Desktop

            Kommentar


              #7
              Danke.

              Ich denke, das kann gleich so und als Alternative zum Freigeben. Das Auswahlfeld geht wirklich nicht, da man das Jahr nicht wählen kann.

              Kommentar


                #8
                Ich finde es nicht sinnvoll, das zu deaktivieren. Es wird hier der input type date verwendet. Das ist eigentlich Standard am Mobile und wesentlich benutzerfreundlicher als den User z.B. 10.10.1970 eintippen zu lassen.

                Dass man das Jahr nicht wechseln kann kann ich nicht nachvollziehen.

                Wenn Du z.B. Chrome für Android verwendest, dann tippst Du einfach oben links im Date Picker auf das Jahr 2017 und es erscheint eine Scrollmöglichkeit zur Auswahl des Jahres.

                Kommentar


                  #9
                  ok. Wieder was dazugelernt.

                  Aber dann bleibt das Problem der Markierung, dass es ein Pflichtfeld ist.

                  Kommentar


                    #10
                    Ich finde ja das Geburtsdatum als Pflichtfeld eigentlich fürchterlich. Oder ist das ein Shop, wo erst ab 18 bestellt werden darf?

                    Anyway, der Placeholder ist für normale Text inputs gedacht, denn da verschwindet er bei Überschreiben mit einer Eingabe.
                    Das date input ist da anders, es ist eben kein text input.
                    Der Placeholder würde drin stehen bleiben nach Auswahl des Datums, deshalb wird er nicht angezeigt.
                    Wenn Du ihn anzeigen willst, kannst Du das per CSS machen mit
                    Code:
                    input[type='date']:after {
                      content: attr(placeholder) !important;
                    }
                    Dann siehst Du, dass er nach Auswahl im Feld stehen bleibt.

                    Du kannst sicher einigen Aufwand betreiben um den Placeholder nach Auswahl des Datums mit weiteren CSS Verrenkungen zu entfernen, ohne zusätzliche Javascripts wird das aber wohl eher nicht gehen.

                    Ob es da nicht einfacher ist, einfach Geburtsdatum * zu schreiben?

                    Kommentar


                      #11
                      Ob es da nicht einfacher ist, einfach Geburtsdatum * zu schreiben?
                      Darüber habe ich auch schon nachgedacht. Ich muss mal noch 2 Tage drüber schlafen.



                      Da man unter 18 nicht voll geschäftsfähig ist, lasse ich das als Pflichtfeld. Ich habe keine Lust auf irgendwelchen Stress, auch wenn ja erst versendet wird, wenn das Geld da ist. Kommt da irgendein Oberschlauer und sagt, dann dass sein Kind bestellt hat und er nicht damit einverstanden ist..........
                      So kann man es auch immer noch für Werbung nutzen, und einen Geschenkgutschein ausgeben. (Wie auch immer das dann funktioniert, aber der Gedanke ist da.)

                      Ich habe mir das mit dem Popup noch mal angeschaut und getestet.
                      Ist nicht meins. Ich habe das auch testen lassen. So schnell kann ich gar nicht sprechen, wie da manche schreiben.
                      Ich glaube, auf die 10 Zeichen kommt es bei der Anmeldung auch nicht wirklich an. Wenn man Pech hat, muss man mit dem Popup noch mehr klicken, als wenn man es direkt eingibt.

                      Alles ein Für und Wider.

                      Aber danke, für die Lösungen.

                      Kommentar

                      Info zu diesem Forenarchiv:
                      Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                      Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                      Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                      PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                      Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                      FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                      Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                      Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                      Fehler in der Software können auf Github als Issues gemeldet werden.
                      Follow us
                      aktuelle version
                      Zen Cart 1.5.7g deutsch
                      vom 12.12.2023
                      [Download]
                      Lädt...
                      X