При установке дополнительных модулей профили обрастают кучей дополнительных вкладок. Однако все вкладки появляются в одну строчку без переноса до бесконечности.. соответственно многие просто не достать, да и дизайн получается мягко говоря кривенький.
В связи с этим два вопроса.
1. Как сделать хотя бы перенос вкладок по строчкам
2. Как убрать лишние вкладки.
Видела решения для 6 версии, а также модули, однако для семерки что-то ничего не могу найти.
Комментарии
тоже интересно.
На счет лишних вкладок: тоже не нашла, как убрать вкладку Галереи со страницы профиля. Есть решение?
Решение: есть модуль Tab Tamer
Позволяет скрыть или отключить вкладки не только в профиле пользователя. Drupal 6, 7
спс.
Tab Tamer почему-то мне не помог.
в настройках могу только для админки скрыть вкладки, остальные (к примеру Юзер табы) задизейблены.
че не так делаю. кто скажет?
Самое простое - скрыть.
В hook_menu_alter() перевешиваешь 'access callback' на свой, в котором проверяешь всё, что нужно (например, возвращаешь TRUE только пользователям с ролью админа).
CASHMAR, я новичок в друпале. не могли бы вы подробнее описать. что да как сделать и куда вставить. к примеру мне надо убрать вкладку с названием "ВКонтакте".
Конечно.
Всё чертовски просто.
hook_menu_alter
Кстати, пример кода в апишке, именно то, что нужно юзать.
Хуки используются в коде своего кастомного модуля. Часть "hook" заменяем на имя своего модуля. Уроков по написанию модулей - горы-океаны. [=
Стоит накормить Гугл фразой "drupal 7 create custom module" - тутже выпадет пара-тройка знатных вариантов. Как пример того, что нужно сейчас - вот.
В этом уроке разбирается пример с hook_menu. Ничего разительно-отличного от меню-альтера тут не предвидится.
Вот рабочий-на-вскидку код для одноимённого модуля (взят из всё той же апишки):
function helloworld_menu_alter(&$items) {
$items['user/%user/vkontakte-link']['access callback'] = FALSE;
}
?>
vkontakte-link - эту часть заменяем на то, что стоит в урле после www.my-site.gov/user/1/.
Этого должно быть достаточно.
CASHMAR, спасибо большое. получилось вроде. ща попробую везде такое провернуть ))
скрытие не особо работает. или яне понимаю в чем отличие скрытия и отключения
а сама ссылка будет работать если ее в браузере набрать. по ней выведуться табы из профиля техже...
у меня такой код не работает в своем модуле
$items['users/%user/contact']['access callback'] = FALSE;
}
ничего не происходит. а должно скрываться видимо...
а адрес реальный должен быть или переписанный (замененный)???
адрес должен быть системный (первоначальный)
а есть решения для синонимов???
и чтобы скрыть визуально CSS кой.
Хочу скрыть визуально но ссылка рабочая что бы была и при этом табы другие сохранялись на странице.
такое возможно?
При прямом обращении будет Access Denied (по дефолту коробки).
Хук правильно назван?
Системный.
Зачем?
Изменяешь политику доступа к системному пути - алиас подхватывает (так как ссылается именно на системный путь).
Пожалуйста. [=
CASHMAR, разве что не получается убрать в нодах.
/node/%node/kwresearch
/node/%node/outline
сомневаюсь что верно %node.
да вроде путем все. а что дописать что бы... скрыть css.
мало ли кому-то пригодится) сам просто столкнулся с подобной задачей. Нужно было сделать ссылку на редактирование профиля (минуя переход к просмотру профиля - стандартная ссылка, которая в коробке идет)
Использовал модуль Tab Tamer отключил поле (вкладку) View в поле "USER/%"
Потом создал правило (модуль Rules)
Ниже текст для импорта правила
"LABEL" : "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044f",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"TAGS" : [ "Edit profile" ],
"REQUIRES" : [ "rules" ],
"ON" : { "user_view" : [] },
"DO" : [ { "redirect" : { "url" : "[account:url]\/edit" } } ]
}
}
На супер оригинальность или правильность не претендую, но мало ли пригодится