Из админки видно меню пользователя и лога, а анониму нет. Я же не могу написать на сайте "Вбивайте в адресной строке /user, это смешно. Есть идеи в чём проблема? Кэш чистил, дело не в браузере, все права проставлены.
Под админом
Без лога
смотрите в page.tpl.php как выводятся эти ссылки и в template.php как они создаются
если же это User menu , то оно анониму и не должно быть видно - для входа есть блок авторизации
Комментарии
В блоках выведи нужный блок авторизации куда надо.
Он и так тем где нужно
Вы не написали название вашей темы.
Своя тема
а в настройках во вкладке Роли галочки стоят/не стоят?
Если бы он был там, где нужно этой бы проблемы с отсутствием формы входа у вас не возникло.
Я потому и написал, что должно всё быть как надо, а не работает.
ну так разбирайся с регионами в своей теме. для проверки выведи в тот-же регион еще какой блок.
так бы сразу сказали, у меня отпали вопросы
смотрите в page.tpl.php как выводятся эти ссылки и в template.php как они создаются
![](http://www.drupal.ru/files/vydelenie_003.png)
если же это User menu , то оно анониму и не должно быть видно - для входа есть блок авторизации
В одном из предыдущих проектов потребовалось похожее решение, код в самом низу.
Вместо Имя_Темы подставите свое значение.
Вместо значения первого аргумента "user-menu" подставите имя вашего меню, внутри Имя_Темы_tree_m0($menu_name = 'user-menu', $type = '')
Сам вывод можно положить в любое место, так как вызывается функция.
<?php Имя_Темы_user_menu_top($logged_in); ?>
Код для template.tpl.php:
global $user;
$output = '';
if (!$logged_in) {
// $output .= '<li>' . l('Регистрация', 'user/register') . '</li>';
$output .= '<li>' . l('Вход', 'user') . '</li>';
}
else {
$output .= '<li>' . l('Мой кабинет', 'user/' . $user->uid) . '</li>';
$output .= '<li>' . l('Выход', 'user/logout') . '</li>';
}
return '<ul class="sf-menu">' . Имя_Темы_tree_m0() . $output . '</ul>';
}
function Имя_Темы_tree_m0($menu_name = 'Имя_Вашего_Меню', $type = '') {
static $menu_output = array();
if (!isset($menu_output[$menu_name])) {
$tree = menu_tree_page_data($menu_name);
$menu_output[$menu_name] = Имя_Темы_tree_output_m0($tree, $type);
}
return $menu_output[$menu_name];
}
function Имя_Темы_tree_output_m0($tree, $type) {
$output = '';
$items = array();
foreach ($tree as $data) {
if (!$data['link']['hidden']) {
$items[] = $data;
}
}
$num_items = count($items);
foreach ($items as $i => $data) {
if ($data['below']) {
$output .= '<li><a href="' . url($data['link']['href']) . '">' . $data['link']['title'] . '</a><ul>' . Имя_Темы_tree_output_m0($data['below'], $type) . "</ul></li>";
}
else {
$output .= '<li><a href="' . url($data['link']['href']) . '">' . $data['link']['title'] . '</a>' . "</li>";
}
}
return $output ? $output : '';
}
upd: добавил обертку с классом sf-menu для наглядности, у меня в проекте еще и разные уровни меню изменяются
в template.php
global $user;
if ($user->uid != 0) {
print '<ul class="links inline"><li class="first"><a href="' .url('user/'.$user->uid). '">' .$user->name. '</a></li><li><a href="' .url('user/logout'). '">' .t('Logout'). '</a></li></ul>';
}
else {
print '<ul class="links inline"><li class="first"><a href="' .url('user'). '" rel="nofollow">' .t('Login'). '</a></li><li><a href="' .url('user/register'). '" rel="nofollow">' .t('Register'). '</a></li></ul>';
}
}
в page.tpl.php
<div id="user_links"><?php print ИМЯТЕМЫ_login() ?></div>
drupby
Выглядит кратко )
А функцию l() умышленно не используете ?
а ты на theme_item_list тоже умышленно подзабил ? и что же такое все таки m0 ?
Спасибо за ответ
Может все таки в браузере? У меня просто была нечто похожее, помогла смена или переустановка старого, уже не помню
можно еще как вариант винду переустановить
и комп поменять