Недавно открыл для себя drupal... Так что пока мало что понимаю, так что прошу отнестись с пониманием...
Так как стандартный вариант просмотра профиля пользователя не очень то уж красив решил сделать его более изящным. Перерыв кучу мануалов со многих ресурсов и методом проб и ошибок пришёл к выводу, что проще сделать страницу через Panels.
Итак, я решил отредактировать уже встроенную панель User profile template
Всё было по стандарту... ничего не менял, кроме как поставил 1 колонку и создал пользовательский вариант содержимого.
вот:
<?php<table width="100%">
<tr><td width="150" valign="top">
<div class="tabstable"><div class="tabs">
<!-- Это сами вкладки -->
<ul class="tabNavigation">
<li><a class="" href="#first"><IMG SRC="/images/profile.png" alt="Личная информация"></a></li>
<li><a class="" href="#second"><IMG SRC="/images/contact.png" alt="Контакты"></a></li>
<li><a class="" href="#third"><IMG SRC="/images/info.png" alt="Увлечения"></a>
</ul></div>
<?php
global $user;
$account = user_load(array('uid' => $user->uid));
print theme('user_picture', $account);
?>
</div>
</td>
<td valign="top"><div class="tabs">
<!-- Это контейнеры содержимого -->
<div id="first"><h3>Личная информация:</h3>
<p><b>Псевдоним автора: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_ps;?><br>
<b>День рождения: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_rozhd;?><br>
<b>Город: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_town;?><br>
<b>Пол: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_sex;?><br>
<b>Профессия: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_prof;?></p></div>
<div id="second"><h3>Контактная информация</h3>
<p><img src="/images/icq.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_icq;?><br>
<img src="/images/skype.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_skype;?><br>
<img src="/images/www.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_site;?><br>
<img src="/images/mail.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_mail;?></p></div>
<div id="third"><h3>Увлечения</h3>
<p><b>Любимая музыка: </b><?php
global $user;
profile_load_profile(&$user);
print $user->profile_music;?><br>
<b>Любимые фильмы:</b> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_films;?><br>
<b>Любимые писатели:</b> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_autors;?><br>
<b>О себе:</b> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_myself;?></div>
</div>
</td></tr></table>?>
Предварительно создав нужные поля в Полях пользователя
Далее скрипт табов прописал в page.tpl.php и добавил стили... Впринципе добился желаемого результата, только у меня почему при переходе на страницы других профилей отображаются данные моего профиля. Может я что делаю не так? Хочу сказать в PHP я "0" разве что по мануалам... Так что если не трудно подскажите как сделать чтоб на страницах других пользователей отражались их данные а не мои...
З.Ы. И ещё..
- При запросе к БД в поле День рождения у меня выдаётся Array (тип поля делал "дата")как сделать, чтоб нармальные числа выдавало?
- И в поле "пол" результат выдаётся не на той же строчке, а ниже (тип поля "Выбор из списка") И если можно, как приписать функцию, чтоб вместо "мужской/женский" вставляло бы картинки
Зарание очень благодарен
Комментарии
Тут:
<?php
global $user;
profile_load_profile(&$user);
print $user->profile_name;?>
Ты выводишь свои данные.
Тебе данные нужно выводить конкретного пользователя, т.е взять юид
запрашиваемого пользователя и вывести его данные.
<?php...<?php
global $user;
profile_load_profile(&$user);
print $user->profile_icq;?><br>
<img src="/images/skype.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_skype;?><br>
<img src="/images/www.png"> <?php
global $user;
profile_load_profile(&$user);
print $user->profile_site;?>...?>
Зачем столько кода?
Достаточно один разз сделать:
<?php
global $user;
profile_load_profile(&$user);?>
Ну а потом выводить:
<?php
print $user->profile_icq;
print $user->profile_skype;
print $user->profile_site;
?>