Есть такой сниппет, я уже немного его отредактировал. Он работа в 6-ке
Но насче 7-ки меня терзают сомнения. Правильно ли работает (особенно логаут)
вот собственно код
<?php
global $user;
if (!$user->uid) {
$message .= '<span id="login"> ' . t('<a href="login">Вход</a> | <a href="register">Регистрация</a>', array('login' => url('user/login'), 'register' => url('user/register')));
$message .= t(' | <a href="password">Забыли пароль?</a>', array('password' => url('user/password'))) . '</span>';
}
else {
$message .= '<span id="login"> ' . t('<b>user</b> ', array('user' => $user->name));
$message .= t('<a href="view">Профиль</a> | <a href="/user/logout">Выход</a> ', array('view' => url('user/' . $user->uid), 'edit' => url('user/' . $user->uid . '/edit'), 'logout' => url('logout'))) . '</span>';
}
echo $message;
?>
global $user;
if (!$user->uid) {
$message .= '<span id="login"> ' . t('<a href="login">Вход</a> | <a href="register">Регистрация</a>', array('login' => url('user/login'), 'register' => url('user/register')));
$message .= t(' | <a href="password">Забыли пароль?</a>', array('password' => url('user/password'))) . '</span>';
}
else {
$message .= '<span id="login"> ' . t('<b>user</b> ', array('user' => $user->name));
$message .= t('<a href="view">Профиль</a> | <a href="/user/logout">Выход</a> ', array('view' => url('user/' . $user->uid), 'edit' => url('user/' . $user->uid . '/edit'), 'logout' => url('logout'))) . '</span>';
}
echo $message;
?>
Комментарии
Если честно не совсем понял вопрос, но если бы сам делал такое, то выводил бы не через t(), а через l().
Хм .. А если ссылка постоянная и не меняется - не проще её просто в переменную сунуть? Тут же просто сниппет. Ну и как бы форма не плохо бы, чтобы была
Вопрос в корректности работы данного сниппета.
p.s. В логах друпал ругается на неопределенную переменную $message
$message = '';
$message.= '...';
$message.= '...';
$message.= '...';
$message.= '...';
не понял, зачем три последних повторяются?