/ / Potwierdź adres e-mail w Magento za pomocą formularzy internetowych - magento

Potwierdzić e-mail w za pomocą formularzy sieci Web - magento Magento

Korzystam z rozszerzenia w Magento o nazwieformularze internetowe do tworzenia wszystkich formularzy na mojej stronie internetowej. Muszę dodać pola weryfikacji e-maila (użytkownik musi wpisać adres e-mail dwa razy. Oba e-maile muszą się zgadzać) Jak to zrobić? Patrzyłem przez rozszerzenie, ale nie widziałem sposobu, aby to zrobić.

Wygląda na to, że formularze internetowe używają prototype.js do sprawdzania poprawności.

Odpowiedzi:

0 dla odpowiedzi № 1

Mam to na wypadek, gdyby ktoś w przyszłości miał ten sam problem, a korzystanie z rozszerzenia formularzy internetowych jest tutaj, jak to zrobić.

  1. Przypisz klasę css przez zapleczemagento-> web-form- (twoja nazwa formularza) -> pole potwierdzenia e-maila (które powinieneś utworzyć, jeśli nie masz tego wszystkiego gotowego) karta projektu-> Klasy CSS dla elementu Input (wpisz tutaj swoją nazwę klasy i pamiętaj, że będziesz go później używać)
  2. Następnie otwórz w katalogu głównym instalacji magento plik validation.js. Który znajduje się w js / prototype /
  3. Otwórz plik i wklej poniższy kod po e-mailu z potwierdzeniem

["[your class name]", "Please make sure your emails match.", function(v)
{
var conf = $$(".[your class name]")[0];
var pass = false;
if ($("email")) {
pass = $("email");
}
var emailElements = $$(".validate-email");
for (var i = 0; i < emailElements.size(); i++) {
var emailElement = emailElements[i];
if (emailElement.up("form").id == conf.up("form").id) {
pass = emailElement;
}
}
if ($$(".[your class name]").size()) {
pass = $$(".validate-email")[0];
}
return (pass.value == conf.value);
}],

  1. zapisz i prześlij

    Mam nadzieję, że to pomoże komuś, kto ma ten sam problem.


0 dla odpowiedzi nr 2

Powyższy kod nie działa poprawnie po utworzeniu problemu przez część

if ($$(".[your class name]").size()) {
pass = $$(".validate-email")[0];
}

na moim końcu działa następujący kod

if ($$(".validate-admin-email").size()) {
pass = $$(".validate-admin-email")[0];
}

więc pełny działający kod może być:

["validate-cemail", "Please make sure your emails match.", function(v) {
var conf = $$(".validate-cemail")[0];
var pass = false;
if ($("email")) {
pass = $("email");
}
var emailElements = $$(".validate-email");
for (var i = 0; i < emailElements.size(); i++) {
var emailElement = emailElements[i];
if (emailElement.up("form").id == conf.up("form").id) {
pass = emailElement;
}
}
if ($$(".validate-admin-email").size()) {
pass = $$(".validate-admin-email")[0];
}
return (pass.value == conf.value);
}],

.validate-cemail to zdefiniowana klasa w szablonie. lubić:

<input type="text" name="email-confirm" id="email-confirm" class="input-text required-entry validate-cemail"/>