Вы упускаете page callback
свойство:
function tpzclassified_menu() {
$items['user/%user/kleinanzeigen'] = array(
'title' => t('Meine Kleinanzeigen'),
'page callback' => 'tpzclassified_kleinanzeigen',
'page arguments' => array(1),
'access callback' => 'user_view_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function tpzclassified_kleinanzeigen($account) {
return 'This is the Meine Kleinanzeigen page';
}
Заменить tpzclassified_kleinanzeigen
с именем функции, который генерирует страницу.
Кроме того, никогда не используйте 'access callback' => TRUE
: это огромная дыра в безопасности. Я изменил это, чтобы использовать user_view_access()
, который проверяет, разрешено ли пользователю просматривать профиль %user
. Вы можете использовать user_edit_access()
, если вы хотите проверить, разрешено ли пользователю редактировать профиль %user
.
Для доступа достаточно использовать '' access arguments '=> array (' access user profiles ') 'и не определять'' callback'' доступа '; в этом случае 'user_access()' будет использоваться как обратный вызов доступа. О обратном вызове страницы [documentation]() описывает его как «Функция вызова для отображения веб-страницы при посещении пользователем пути. Если этот параметр опущен, вместо него будет использоваться обратный вызов элемента родительского меню».; родительское меню ('user /% user') использует' user_page() 'в качестве обратного вызова страницы, и именно по этой причине новое меню ничего не отображает. – kiamlaluno