Форма авторизации

Добрый день.
Нам необходимо стилизовать форму авторизации по-своему.
Нам необходимо изменить то, что выводится с помощью функции {$wa->loginForm($error)}.
Где это можно сделать?
Еще желательно изменить и то, что выводится через {$wa->authAdapters()}.
P.S. Фреймворк всем хорош, но мало документации и есть ощущущение, что при разработке некторых его эелементов программисты немного "перемудрили" и можно было сделать некоторые вещи намного проще.

6 ответов

  • 3
    Red Cat 23 января 2014 07:09 #
    ... и естественно после обновления фреймворка все изменения в waViewHelper.class.php будут сброшены.
    ПРОСЬБА К РАЗРАБОТЧИКАМ сделать возможным редактирование содержимого {$wa->loginForm($error)}{$wa->authAdapters()} в теме дизайна.
    • 0
      Михаил Ушенин Михаил Ушенин Webasyst 24 января 2014 05:03 #
      Это приведёт к чрезмерному усложнению логики скриптов и самого шаблона, который вы планируете редактировать. Почему (опишите подробно) вас не устраивает использование CSS и, в крайнем случае — JavaScript?
    • 0
      Зачем?
      Там у каждого поля свой класс.
      Спокойно можно что угодно сделать с помощью css и js.
      • 0
        Игорь Сагиров Игорь Сагиров 31 января 2014 07:46 #
        Подскажите пожалуйста, как добавить в код для кнопки при регистрации, чтоб получить:
        <input type="submit" value="Зарегистрироваться" onclick="_gaq.push(['_trackEvent', 'Login', 'Click_enter', 'Login']);">
        СЕОшники очень хотят засчитывать нажатие кнопки как конверсию. Есть ли варианты кроме редактирования файла waViewHelper.class.php ? Спасибо.
        • 0
          Можно onсlick навесит с помощью js и тогда никакой HTML менять не нужно будет.

          $('СЕЛЕКТОР').click(fubction () {
          _gaq.push(['_trackEvent', 'Login', 'Click_enter', 'Login']);
          });
          • 0
            %username% 1 февраля 2014 15:55 #
            Если я Вас правильно понял, то нужен такой вариант ?
            $('.wa-value .wa-submit input[type=submit]').click(function () {
            _gaq.push(['_trackEvent', 'Login', 'Click_enter', 'Login']);
            });
            И в какой файл его логичней закинуть? Спасибо
  • 2
    Сергей 7 января 2014 17:23 #
    Кстати аналогичный вопрос и по функции {$wa->signupForm($errors)}
    {$wa->setPasswordForm($error)}
    {$wa->forgotPasswordForm($error)}
    • +1

      Как уже писал - решение для Bootstrap 3
      ============

      Мне в голову пришло простое решение использовать функцию Smarty - replace
      {$wa->loginForm($error, empty($without_form))|replace:'type="text"':'type="text" class="form-control"'|replace:'type="password"':'type="password" class="form-control"'|replace:'type="submit"':'type="submit" class="btn btn-primary"'|replace:'wa-field':'form-group wa-field'|replace:'wa-name':'control-label wa-name'}

  • 2

    Мне в голову пришло простое решение использовать функцию Smarty - replace
    {$wa->loginForm($error, empty($without_form))|replace:'type="text"':'type="text" class="form-control"'|replace:'type="password"':'type="password" class="form-control"'|replace:'type="submit"':'type="submit" class="btn btn-primary"'|replace:'wa-field':'form-group wa-field'|replace:'wa-name':'control-label wa-name'}

  • 1
    Раз $wa, то это, скорее всего /wa-system/view/waViewHelper.class.php
    Во всяком случае loginForm там есть
  • 1
    Red Cat 30 января 2014 12:09 #
    Да, пожалуй поторопился со своим комментарием. Просто хотелось стилизовать форму Bootstrap-ом, сделать её адаптивной. Для этого нужно было добавить классы к элементам формы. Но раз это сложно, то, как оказалось, вопрос действительно можно решить средствами CSS.
    Результат получился таким:
    http://www.europlit.ru/signup/
    http://www.europlit.ru/login/
    http://www.europlit.ru/forgotpassword/
    В том же стиле отображается редактирование профиля пользователя в ЛК покупателя и шаги в корзине "Контактная информация", "Доставка".

    Фрагмент CSS на примере такой:

    /* Sign up & Login forms
    ------------------------ */
    .wa-form {
    max-width:460px;
    margin:0 auto;
    padding:5px 15px;
    background:#F5FEEA;
    border-radius:4px;
    border:1px solid #DDD;
    }
    .wa-form input[type="text"], .wa-form input[type="password"], select {
    display:block;
    width:100%;
    max-width:460px;
    height:34px;
    padding:6px 12px;
    font-size:14px;
    line-height:1.428571429;
    color:#555555;
    vertical-align:middle;
    background-color:#ffffff;
    background-image:none;
    border:1px solid #cccccc;
    border-radius:4px;
    box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);
    transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    }
    .wa-form input[type="text"]:focus, .wa-form input[type="password"]:focus, select:focus {
    border-color:#66afe9;
    outline:0;
    box-shadow:inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(102,175,233,0.6);
    }

    .wa-field {padding:5px 0}
    .wa-captcha {padding-top:15px}
    .wa-captcha-input {max-width:286px !important}

    .wa-captcha .wa-captcha-refresh { font-size: 0.8em; text-decoration: underline; color: #aaa; }
    .wa-captcha .wa-captcha-input { display: inline !important; }
    .wa-captcha .errormsg { display: inline-block; margin-left: 10px; }

    input.error, textarea.error { border: 2px solid red; }
    .errormsg {color:red}

    .wa-form input[type="submit"] {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #ffffff;
    background-color: #428bca;
    border-color: #357ebd;
    }
    .wa-form input[type="submit"]:hover, .wa-form input[type="submit"]:focus, .wa-form input[type="submit"]:active {
    color: #ffffff;
    background-color: #3276b1;
    border-color: #285e8e;
    }
    .checkout-step .wa-form {
    margin:0;
    }
  • -1
    по-моему там не проблема наколхозить свою форму. главое чтобы поля и их содержание при сабмите формы соответствовало тому что ожидает увидеть обработчик...

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите