Переопределение вывода блока авторизации в Drupal 6

Прислано: deeper4k

чт, 28/08/2008 - 16:37

Переопределяю вывод формы поиска и блока авторизации. Для формы поиска создал файл search-theme-form.tpl.php в который вставил код:

<?php
// $Id: search-theme-form.tpl.php,v 1.1.1.1 2008-04-01 08:38:36 dm Exp $
?>
<div id="search">
  <input class="search-txt" type="text" value="строка поиска" maxlength="30" name="search_theme_form" id="edit-search-theme-form-1" size="15" value="" title="<?php print t('Enter the terms you wish to search for.'); ?>" class="form-text" />
 <input class="search-b" type="submit" name="op" value=""  />
  <input type="hidden" name="form_token" id="edit-search-theme-form-form-token" value="<?php print drupal_get_token('search_theme_form'); ?>"  />
  <input type="hidden" name="form_id" id="edit-search-theme-form" value="search_theme_form"  />
</div>

В файле page.tpl.php вставил <?php print $search_box ?>. Всё отлично работает сделал, что хотел. Но вот с переопределением блока входа что-то не выходит. Пробывал создавать файл user_login.tpl.php , user_login-theme-form.tpl.php и вставлять в них код:
<?php
// $Id: user_login.tpl.php,v 1.1.1.1 2008-04-01 08:38:36 dm Exp $
?>
<div class="form-item">
<label for="edit-name">Username: <span class="form-required" title="This field is required.">*</span></label>
<input type="text" maxlength="60" name="name" id="edit-name"  size="30" value="" tabindex="1" class="form-text required" />
<div class="description">enter your username</div>
</div>
<div class="form-item">
<label for="edit-pass">Password: <span class="form-required" title="This field is required.">*</span></label>
<input type="password" name="pass" id="edit-pass"  size="40"  tabindex="2" class="form-text required" />
<div class="description">enter your password</div>
</div>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
<input type="submit" name="op" id="edit-submit" value="Log in"  tabindex="3" class="form-submit" />
<p><a class="textlink" href="?q=user/password">Forgotten your Password?</a></p>

Ничего не выходит, блок каким был таким и остаётся. Должен получиться блок входа похожий на блок входа на этом сайте, т.е. замена кнопки вход на картинку и ещё мелкие изменения.Помогите разобраться, может кто делал нечто подобное. Или киньте ссылку на тему где организован нестандартный блок входа.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Irbis в пт, 29/08/2008 - 06:38.

Делал по другому.

1. Создал пустую статью с заголовком
2. Создал Views для неё в виде блока (Фильтр - Материал: Заголовок (и задал свой заголовок статьи), Тема оформления - Row style output)

Код темы оформления:

<div id="auth">
  <div id="auth2">
 
    <?php  global $user; ?>
 
	<?php if ($user->uid) : ?>
	  <table cellpadding="0" cellspacing="0">
	    <tr>
          <td>
	        Вы зашли под Ником:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php print l($user->name,'user/'.$user->uid); ?> 
		  </td>
		  <td>
		    <div id="anounder">
			  <a href="/user/">[Настройки профиля]</a>
			  <?php print l("[Выход]","logout"); ?>
			</div>
		  </td>
	    </tr>
	  </table>
 
	<?php else : ?>
 
	  <form name="auth" action="/user" method="post" id="user-login">
      <table cellpadding="0" cellspacing="0">
	    <tr>
          <td>
		    <div id="anoder">Авторизация</div> 
		  </td>
          <td>
			Логин: <input type="text" name="name" class="form-text required" />
		  </td>
		  <td class="menuSeparator">
		    <div id="px"></div>
		  </td>
		  <td>
		    Пароль: <input type="password" name="pass" class="form-text required" />
		  </td>
		  <td>
            <input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
            <input type="image" src="<?php print base_path(). path_to_theme(); ?>/images/auth_enter.jpg" name="op" class="form-submit" width="62" />
		  </td>
		  <td class="menuSeparator">
		    <div id="px"></div>
		  </td>
		  <td><div id="anounder"><a href="/user/password">Восстановление пароля</a></div></td>
          <td><div id="anounder"><a href="/user/register">Регистрация</a></div></td>
		</tr>
      </table>
    </form>
 
	<?php endif; ?> 
 
  </div>
</div>

div - для красоты их можешь выкинуть


Опубликовано deeper4k в пт, 29/08/2008 - 11:02.

Вот что значит бессонница :), оказалось проше некуда. Нужно было создать файл block-user-0.tpl.php в который вставить код:

<div class="form-item">
<label for="edit-name">Username: <span class="form-required" title="This field is required.">*</span></label>
<input type="text" maxlength="60" name="name" id="edit-name"  size="30" value="" tabindex="1" class="form-text required" />
<div class="description">enter your username</div>
</div>
<div class="form-item">
<label for="edit-pass">Password: <span class="form-required" title="This field is required.">*</span></label>
<input type="password" name="pass" id="edit-pass"  size="40"  tabindex="2" class="form-text required" />
<div class="description">enter your password</div>
</div>
<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
<input type="submit" name="op" id="edit-submit" value="Log in"  tabindex="3" class="form-submit" />
<p><a class="textlink" href="?q=user/password">Forgotten your Password?</a></p>


Опубликовано mario8 в вт, 02/09/2008 - 07:50.

deeper4k
что значит "Вот что значит бессонница "


Опубликовано deeper4k в ср, 10/09/2008 - 15:41.

mario8 написал(а):

deeper4k
что значит "Вот что значит бессонница "

Это значит, что я не выспался :)


Опубликовано tranquility в чт, 09/10/2008 - 11:58.

"deeper4k" написал(а):

Нужно было создать файл block-user-0.tpl.php в который вставить код

Спасибо за пост. Очень помогло.


Опубликовано evl-ntnt в вт, 28/10/2008 - 18:09.

и от меня спасибо большое тоже


Опубликовано evl-ntnt в чт, 30/10/2008 - 19:12.

А как еще вывести форму в определенное место в шаблоне?
что бы не блоком ч определенныю область через алминку
а прямло в шаблоне напистаь функцию и ей передать как параметр ид формы авторизации
раньше так делал
то потерял название функции


Опубликовано LionSX в сб, 13/12/2008 - 02:20.

Может пожскажете как сделать тоже самое для Drupal 5.
Надо темезировать форму поиска. Пробовал уже не одним способом указанным, ничего не помогает.
Надо темезировать форму поиска и выводить ее в том месте котором я захочу. Если я вставляю в page.tpl.php <?php print $search_box ?>, то чтобы я не делал эта форма имеет стандартный вид. Помогите пожалуйста!!!


Опубликовано LiC в вт, 03/03/2009 - 22:44.

и от меня большое и с кисточкой.

вот только одна трабла теперь:
после логина пользователя теперь кидает на его профиль. в чём проблема - никак не пойму. но точно что-то изза блока.
пробовал убирать шаблон. при стандартном блоке - всё работает нормально.
кто скажет: в чём может быть проблема?

на всякий пожарный - мой файлик (может, я ошибку просто не вижу?):

<div class="block">
	<form name="auth" action="<?php print base_path(); ?>user" method="post" id="user-login">
	<table cellpadding="2" cellspacing="0" border="0" width="100%">
		<tr>
			<td class="login-form-label">Логин:</td>
			<td><input type="text" maxlength="60" name="name" id="edit-name"  size="30" value="" tabindex="1" class="login-form-field required" /></td>
		</tr>
		<tr>
			<td class="login-form-label">Пороль:</td>
			<td><input type="password" name="pass" id="edit-pass"  size="40"  tabindex="2" class="login-form-field required" /></td>
		</tr>
		<tr>
			<td colspan="2" align="right">
				<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
				<input type="submit" name="op" id="edit-submit" value="Войти"  tabindex="3" class="form-submit" />
			</td>
		</tr>
	</table>
	</form>
 
	<div align="center">
		<a class="textlink" href="<?php print base_path(); ?>user/register">Регистрация</a>
		|
		<a class="textlink" href="<?php print base_path(); ?>user/password">Забыли пароль?</a>
	</div>
</div>


Опубликовано guedda в вт, 09/03/2010 - 12:28.

Я думаю, что ошибка в этой строке:
<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
Но я не знаю, на что изменить. Короче, проблема та же.
Может кто знает, как после логина переходить автоматически не на свой профиль, а на главную страницу?


Опубликовано Slava2010 в сб, 03/04/2010 - 19:34.

Сделал форму поиска как описано выше. Но она отображается внизу сраницы слева. Как ее поместить в head?


Опубликовано boriskaaa в чт, 29/04/2010 - 07:03.

Рабочая форма для вывода на главной странице.

<div class="clear-block">
 <form action="/sdb/?q=user" accept-charset="UTF-8" method="post" id="user-login">
<div><div class="form-item" id="edit-name-wrapper">
 <label for="edit-name">Username: <span class="form-required">*</span></label>
 <input maxlength="60" name="name" id="edit-name" size="20" value="" class="form-text required" type="text">
 <div class="description">Enter your username.</div>
</div>
<div class="form-item" id="edit-pass-wrapper">
 <label for="edit-pass">Password: <span class="form-required" title="Обязательное поле">*</span></label>
 <input name="pass" id="edit-pass" maxlength="128" size="20" class="form-text required" type="password">
 <div class="description">Enter the password.</div>
</div>
<input name="form_build_id" id="form-6bd69f8ab494e1c3573345d53203cbba" value="" type="hidden">
<input name="form_id" id="edit-user-login" value="user_login" type="hidden">
<input name="op" id="edit-submit" value="Log in" class="form-submit" type="submit">
 
</div></form>
 
          </div>


Опубликовано boriskaaa в чт, 29/04/2010 - 07:15.

Slava2010 написал(а):

Сделал форму поиска как описано выше. Но она отображается внизу сраницы слева. Как ее поместить в head?

Тебе нужно, чтобы слева вверху или справа? Вообщем в админке, в блоках есть крестик такой (слева от названия блока). Тянешь за него вверх и выставляешь куда нужно. В данном случае тебе нужно в самый вверх.


Опубликовано webfeya в чт, 29/04/2010 - 11:40.

Спасибо, как раз нужна была эта информация.

Подскажите, а для webform-client-form-44 можно такое проделать?