Таск: Есть views, у него есть три страницы, у которых свойство menu выставленно в default menu ну и соответственно выведены они в пользовательское меню (www.sitename.com/user) Необходимо чтобы заголовки (наименования) этих меню могли менять сами пользователя. И для каждого пользователя был свой заголовок меню. В какую сторону копать?
Комментарии
Если делать только через вьюс, то копать в сторону хендлеров. Я думаю будет проще сделать через темизацию, переопределить заголовок страницы в hook_preprocess_page.
а заголовки меню, хранить в отдельной таблице, и подтягивать их в меню через hook_preprocess_page?
hook_menu, задай свой 'title callback' - это будет ф-ция, проставляющая название пункта.
спасибо.
ни так
<?php
$items['user/%user/bookmarks/folder1'] = array(
function name_menu() {
$items = array();
'title' => 'Custom_title',
'description' => 'test',
'page callback' => 'drupal_get_form',
'access callback' => 'user_is_logged_in',
'type' => MENU_LOCAL_TASK,
);
return
$items;} ?>
ни так
<?php
$items['user/%user/bookmarks/folder1']['title'] = 'Custom_title';
function name_menu_alter() {
$items = array();
return
$items;} ?>
И где тут 'title callback'?
<?php
function name_menu() {
$items = array();
$items['user/%user/bookmarks/folder1'] = array(
'title' => 'Custom_title',
'title callback' => 'name_title_gen',
'description' => 'test',
'page callback' => 'drupal_get_form',
'access callback' => 'user_is_logged_in',
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function name_title_gen(){
return rand(0,1000);
}
?>
hook_menu как и hook_menu_alter вызывает только при обновлении кэша, поэтому заголовок с помощью них динамично поменять не получиться.