Как создать ссылку к профилю текущего пользователя?

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

Аватар пользователя Ant141 Ant141 23 сентября 2009 в 16:13

Хочу создать пунки меню "профиль <имя пользователя>" - как быдет выглядеть назначаемая ссылка?
(мойсайт.ru/user/<ИД пользователя>)
Интересует еще и способ нахождения подобных ссылок - к примеру ссылку на фотоальбомы текущего пользователя, на новую статью и т.п. - то есть не статичных ссылок. Каким способом я могу это узнавать?

Комментарии

Аватар пользователя Vladimir_VVV Vladimir_VVV 23 сентября 2009 в 17:13

поскольку меню кешируется то на последнюю статью лучше делать типа user/%uid%/last_post вместо user/%uid%/node/345 , а разбирать что по этому адресу выводить уже кодом модуля.

Аватар пользователя Ant141 Ant141 23 сентября 2009 в 17:42

Ничего не понял.
Я имею в виду как именно должен выглядеть синтаксис гиперссылки если я хочу сделать ссылку на профиль текущего пользователя?
Например - создаю на сайте Help, где пишу "а размер шрифта ваших сообщений вы можете задать в настройках профиля"...

Вопрос в том - как внедрять этот самый uid в адрес назначаемой гиперссылки?
---
И еще вопрос, второй - каким способом я могу узнавать сам, что "id пользователя" это именно "uid" а не "usid", скажем? Чем я могу воспользоваться чтобы это найти?

Аватар пользователя wolfXXXL wolfXXXL 23 сентября 2009 в 19:26

Я это делаю так:

<?php 
  
global $user;
  if (
is_null($account)) {
    
$account $user;
  }
?>
<a href ="/user/<?php check_url($account->uid?>">текст</a>?>

Только последний ?> не нужно он тут почему-то сам генерируется при вставке кода

Аватар пользователя Vladimir_VVV Vladimir_VVV 23 сентября 2009 в 20:53

только не

<a href ="/user/<?php check_url($account->uid) ?>">текст</a>

а

<a href ="<?php check_url('user/'.$account->uid) ?>">текст</a>

а лучше уж совсем по-нормальному, с использованием l() для формирования ссылок


<?php 
  
global $user;
  if (
is_null($account)) {
    
$account $user;
  }
  print 
l('текст''user/'.$account->uid);
?>
Аватар пользователя Ant141 Ant141 23 сентября 2009 в 22:38

Спасибо.
Нашел вопрос похожий на мой: http://www.drupal.ru/node/6280
Кроме как php внедрять, по простому - нет способов, получается?

Кстати, wolfXXXL, твой код не работает. То есть он работает, но это чистая случайность, по-моему Smile Там игнорируется код и ссылка получается вида "мойсайт.ru/user/"(безо всякого uid, в смысле). А в друпале эта ссылка преобразуется в "мойсайт.ru/user/id_пользователя", потому она и работает. То есть твой код равносилен простому присвоению гиперссылки "мойсайт.ru/user/" Я не знаю почему у меня так выходит - я в php вообще не разбираюсь[пока что].
---
Мне и второй вопрос по прежнему интересен - как находить эти "динамические переменные", вроде "uid" - вот ты, Вольф, как узнал про то что ID-номер пользователя это именно "uid" ?
---
пока писал два сообщения уже добавились. То пусто, то густо Smile

Аватар пользователя wolfXXXL wolfXXXL 24 сентября 2009 в 11:37

"Vladimir_VVV" wrote:
а лучше уж совсем по-нормальному, с использованием l() для формирования ссылок

<?php
  global $user;
  if (is_null($account)) {
    $account = $user;
  }
  print l('текст', 'user/'.$account->uid);
?>


Век живи век учись спасибо!
"Ant141" wrote:
Вольф, как узнал про то что ID-номер пользователя это именно "uid"

В основном использую Drupal For Firebug ну и сам Firebug в Mozille.
Ну и конечно Devel