Как убрать/скрыть лишние вкладки профиля?

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

Аватар пользователя kirya kirya 9 апреля 2011 в 13:59

При установке дополнительных модулей профили обрастают кучей дополнительных вкладок. Однако все вкладки появляются в одну строчку без переноса до бесконечности.. соответственно многие просто не достать, да и дизайн получается мягко говоря кривенький.

В связи с этим два вопроса.
1. Как сделать хотя бы перенос вкладок по строчкам
2. Как убрать лишние вкладки.

Видела решения для 6 версии, а также модули, однако для семерки что-то ничего не могу найти.

Комментарии

Аватар пользователя matur matur 22 февраля 2012 в 18:17

На счет лишних вкладок: тоже не нашла, как убрать вкладку Галереи со страницы профиля. Есть решение?

Аватар пользователя Mr_Ser_Win Mr_Ser_Win 4 сентября 2012 в 14:35

Tab Tamer почему-то мне не помог.
в настройках могу только для админки скрыть вкладки, остальные (к примеру Юзер табы) задизейблены.
че не так делаю. кто скажет?

Аватар пользователя CASHMAR CASHMAR 4 сентября 2012 в 14:55

Самое простое - скрыть.
В hook_menu_alter() перевешиваешь 'access callback' на свой, в котором проверяешь всё, что нужно (например, возвращаешь TRUE только пользователям с ролью админа).

Аватар пользователя Mr_Ser_Win Mr_Ser_Win 4 сентября 2012 в 15:02

CASHMAR, я новичок в друпале. не могли бы вы подробнее описать. что да как сделать и куда вставить. к примеру мне надо убрать вкладку с названием "ВКонтакте".

Аватар пользователя CASHMAR CASHMAR 5 сентября 2012 в 0:58
1

Конечно.
Всё чертовски просто.

hook_menu_alter

Кстати, пример кода в апишке, именно то, что нужно юзать.

Хуки используются в коде своего кастомного модуля. Часть "hook" заменяем на имя своего модуля. Уроков по написанию модулей - горы-океаны. [=
Стоит накормить Гугл фразой "drupal 7 create custom module" - тутже выпадет пара-тройка знатных вариантов. Как пример того, что нужно сейчас - вот.
В этом уроке разбирается пример с hook_menu. Ничего разительно-отличного от меню-альтера тут не предвидится.

Вот рабочий-на-вскидку код для одноимённого модуля (взят из всё той же апишки):

<?php
 function helloworld_menu_alter(&$items) {
  $items['user/%user/vkontakte-link']['access callback'] = FALSE;
}
?>

vkontakte-link - эту часть заменяем на то, что стоит в урле после www.my-site.gov/user/1/.

Этого должно быть достаточно.

Аватар пользователя iNFerNo iNFerNo 5 сентября 2012 в 12:22

"matur" wrote:
Позволяет скрыть или отключить вкладки не только в профиле пользователя. Drupal 6, 7

скрытие не особо работает. или яне понимаю в чем отличие скрытия и отключения

Аватар пользователя iNFerNo iNFerNo 5 сентября 2012 в 12:24

"CASHMAR" wrote:
<?php function helloworld_menu_alter(&$items) { $items['user/%user/vkontakte-link']['access callback'] = FALSE; } ?>

а сама ссылка будет работать если ее в браузере набрать. по ней выведуться табы из профиля техже...

Аватар пользователя iNFerNo iNFerNo 5 сентября 2012 в 12:37

у меня такой код не работает в своем модуле

function mymodule_menu_alter(&$items) {
  $items['users/%user/contact']['access callback'] = FALSE;
}

ничего не происходит. а должно скрываться видимо...

Аватар пользователя iNFerNo iNFerNo 5 сентября 2012 в 13:14

адрес должен быть системный (первоначальный)

а есть решения для синонимов???

и чтобы скрыть визуально CSS кой.

Хочу скрыть визуально но ссылка рабочая что бы была и при этом табы другие сохранялись на странице.

такое возможно?

Аватар пользователя CASHMAR CASHMAR 6 сентября 2012 в 18:40

"iNFerNo" wrote:
а сама ссылка будет работать если ее в браузере набрать. по ней выведуться табы из профиля техже...

При прямом обращении будет Access Denied (по дефолту коробки).

"iNFerNo" wrote:
у меня такой код не работает в своем модуле

Хук правильно назван?

"iNFerNo" wrote:
а адрес реальный должен быть или переписанный (замененный)???

Системный.

"iNFerNo" wrote:
а есть решения для синонимов???

Зачем?
Изменяешь политику доступа к системному пути - алиас подхватывает (так как ссылается именно на системный путь).

Аватар пользователя Himu Himu 8 апреля 2015 в 21:16

мало ли кому-то пригодится) сам просто столкнулся с подобной задачей. Нужно было сделать ссылку на редактирование профиля (минуя переход к просмотру профиля - стандартная ссылка, которая в коробке идет)

Использовал модуль Tab Tamer отключил поле (вкладку) View в поле "USER/%"

Потом создал правило (модуль Rules)
Ниже текст для импорта правила

{ "rules_edit_profile" : {
    "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" } } ]
  }
}

На супер оригинальность или правильность не претендую, но мало ли пригодится Smile