Горизонтальное расположение элементов формы Login

Главные вкладки

Аватар пользователя romandor romandor 27 сентября 2006 в 10:57

Искал способы реализации и, помоему, наиболее простое и гибкое решение:

<div id="login">
<?php  global $user; ?>
<?php if ($user->uid) : ?>
Здравствуйте: <?php print l($user->name,'user/'.$user->uid); ?> | <?php print l("Выход","logout"); ?>
<?php else : ?>
<form action="?q=user&amp;<?php print drupal_get_destination() ?>" method="post" id="user-login">
<a href="?q=user/register" title="Создать нового пользователя">Регистрация</a> |
<a href="?q=user/password" title="Затребовать новый пароль">?</a>
<input type="text" maxlength="60" name="edit[name]" id="edit-name" size="12" value="" class="form-text required" />
<input type="password" maxlength="" name="edit[pass]" id="edit-pass" size="12" class="form-text required" />
<input type="submit" name="op" value="Вход" class="form-submit" />
<input type="hidden" name="edit[form_id]" id="edit-user-login" value="user_login" />
</form>
<?php endif; ?>
</div>

Вставлять в нужном месте page.tpl.php
позицию можна задать свойсвами css:

#login {
 position: absolute;
 right:0.3em;
 top:3.9em;
}

(проверялось на версии 4.7.3)

Комментарии

Аватар пользователя smile smile 27 сентября 2006 в 11:53

или я одаренный, или эта форм экшн глючит:

он пытается перекинуть вот так:
http://site.ru/drupal/%3Ftime%3D1159343430?time=1159343430

и соотвественно 404

в то время как оригинальная форма перекидывает на:
http://site.ru/drupal/?time=1159343430

Аватар пользователя webdev webdev 27 сентября 2006 в 12:08

Тоже экспериментировал с горизонтальным представлением, пытался так как romand@drupal.org, но почему-то не получилось - после авторизации приходилось обновлять страницу чтобы в админку попасть.
Решил проблему следующим образом: у элементов формы есть префикс и суфикс - вот туда и закинул код, который находится до и после элементов форм. вроде получилось нормально.

Аватар пользователя smile smile 27 сентября 2006 в 14:24

Фидбэк такой: если вставлять представленный код как новый блок - не работает. Баг я описал выше.

Если наглухо вбивать в код страницы - то работает, но естественно текст весь нужно переводить в utf.

Аватар пользователя antazy antazy 29 сентября 2006 в 23:18

"наиболее простое и гибкое решение"
Я сам недавно научился работать с формами, так что phptamplate_($form) это просто супер!