Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Powermail – error Klasse zum Label hinzufügen
#1
Die Anforderung verlangt, dass bei der Validierung das Label ein zusätzliches Styling bekommen soll. Gerne möchte ich das ohne JS umsetzen und habe mir deshalb den Powermail-ViewHelper zu nutzen machen wollen. Leider wird dieser nicht angezeigt.

• Folgende Versionen nutze ich:
TYPO3 6.2.9
Powermail 2.1.12

• Partials und Templates sind ausgelagert und werden auch geladen.

• In den Static Templates habe ich momentan reingeladen: "Main Template" und "Powermail_Frontend"


Nun füge ich unter Partials/Form/Input.html den ErrorClass ViewHelper hinzu:
PHP-Code:
{namespace vh=In2code\Powermail\ViewHelpers}

<
div id="powermail_fieldwrap_{field.uid}" class="powermail_fieldwrap powermail_fieldwrap_input powermail_fieldwrap_{field.uid} {field.css}">
    <
label for="powermail_field_{field.marker}" class="powermail_label {vh:Validation.ErrorClass(field:field, class:'error')}" title="{field.description}">
        <
vh:string.RawAndRemoveXss>{field.title}</vh:string.RawAndRemoveXss><f:if condition="{field.mandatory}"><span class="mandatory">*</span></f:if>
    </
label>
    <
f:form.textfield
        type
="{vh:Validation.FieldTypeFromValidation(field:field)}"
        
property="{field.marker}"
        
placeholder="{field.placeholder}"
        
value="{vh:Misc.PrefillField(field:field, mail:mail)}"
        
class="powermail_field powermail_input {vh:Validation.ErrorClass(field:field, class:'powermail_field_error')}"
        
additionalAttributes="{vh:Validation.ValidationDataAttribute(field:field)}"
        
id="powermail_field_{field.marker}" />
</
div


Soweit so gut, kein Fehler, allerdings wird die Klasse auch nicht geladen.
Im Input selbst wird die Klasse einwandfrei geladen, was für mich heißt, dass der ViewHelper funktioniert.

Habt ihr noch irgendeine Idee? Fehlt mir eine Konfiguration?
Grüßle, Nicki

NIMIUS | Agentur für Kommunikation
Webdesign und Webentwicklung aus Staufen im Breisgau
Website | Twitter

TYPO3 Education Committee Member
Neu in TYPO3? Kein Problem! Hier geht's zum TYPO3 Mentoren Programm
Zitieren
#2
Hi,

ich habe es gerade noch mal probiert - kann keinen Fehler feststellen.
TYPO3 6.2.6 / Powermail 2.1.12

TypoScript auf einer Seite, auf der sich ein Inputfeld (als Pflichtfeld markiert) befindet:
Code:
plugin.tx_powermail {
    settings {
        setup {
            validation {
                native = 0
                server = 1
                client = 0
            }
        }
    }
    view {
        partialRootPath >
        partialRootPaths {
            10 = EXT:powermail/Resources/Private/Partials/
            20 = fileadmin/powermailTemp/Partials/
        }
    }
}

Mein Partial unter fileadmin/powermailTemp/Partials/Form/Input.html sieht so aus:
Code:
{namespace vh=In2code\Powermail\ViewHelpers}

<div id="powermail_fieldwrap_{field.uid}" class="powermail_fieldwrap powermail_fieldwrap_input powermail_fieldwrap_{field.uid} {field.css}">
    <label for="powermail_field_{field.marker}" class="powermail_label {vh:Validation.ErrorClass(field:field, class:'error')}" title="{field.description}">
        <vh:string.RawAndRemoveXss>{field.title}</vh:string.RawAndRemoveXss><f:if condition="{field.mandatory}"><span class="mandatory">*</span></f:if>
    </label>
    <f:form.textfield
        type="{vh:Validation.FieldTypeFromValidation(field:field)}"
        property="{field.marker}"
        placeholder="{field.placeholder}"
        value="{vh:Misc.PrefillField(field:field, mail:mail)}"
        class="powermail_field powermail_input {vh:Validation.ErrorClass(field:field, class:'powermail_field_error')}"
        additionalAttributes="{vh:Validation.ValidationDataAttribute(field:field)}"
        id="powermail_field_{field.marker}" />test
</div>

Cache leeren nicht vergessen

Ein Screenshot vom Ergebnis habe ich angefügt.

Was ist wenn du mal ein "test" in dem Partial einfügst - wird dein Partial auch benutzt?


Angehängte Dateien Thumbnail(s)
   
Zitieren
#3
(12.01.2015, 17:28)einpraegsam schrieb:
Code:
plugin.tx_powermail {
    settings {
        setup {
            validation {
                native = 0
                server = 1
                client = 0
            }
        }
    }
}

Es funktioniert sobald ich die Validierung serverseitig schalte. Will ich es über den Client laufen lassen, klappt es nämlich nicht.

Vielen Dank Alex!
Grüßle, Nicki

NIMIUS | Agentur für Kommunikation
Webdesign und Webentwicklung aus Staufen im Breisgau
Website | Twitter

TYPO3 Education Committee Member
Neu in TYPO3? Kein Problem! Hier geht's zum TYPO3 Mentoren Programm
Zitieren
#4
"Gerne möchte ich das ohne JS umsetzen"
Habe das so gedeutet, dass du die serverseitige Validierung nutzen willst. Wenn du clientseitig brauchst, muss ich noch mal suchen...
Zitieren
#5
Zitat:Gerne möchte ich das ohne JS umsetzen


Achso, ich meinte damit eigentlich, dass ich keine Klassen mittels JS einbauen möchte, die Validierung selbst darf ruhig mit JS laufen Wink
Grüßle, Nicki

NIMIUS | Agentur für Kommunikation
Webdesign und Webentwicklung aus Staufen im Breisgau
Website | Twitter

TYPO3 Education Committee Member
Neu in TYPO3? Kein Problem! Hier geht's zum TYPO3 Mentoren Programm
Zitieren
#6
Hmm, powermail nutzt das Plugin parsley.js - siehe http://parsleyjs.org/doc/index.html
Vielleicht lässt sich dort auch einstellen, dass Fehlerklassen irgendwo anders ausgegeben werden.
Zitieren
#7
Also wenn ich das richtig sehe hat man mit den data-Attributen einige zusätzliche Funktionen. Wahrscheinlich liegt darin die Lösung. Vielen Dank für den Hinweis!
Grüßle, Nicki

NIMIUS | Agentur für Kommunikation
Webdesign und Webentwicklung aus Staufen im Breisgau
Website | Twitter

TYPO3 Education Committee Member
Neu in TYPO3? Kein Problem! Hier geht's zum TYPO3 Mentoren Programm
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste