2010-08-02 3 views
1

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

Привет, John Doe

Где «John Doe» является ссылкой на страницу профиля пользователя. Я хотел бы сделать это программно или если это можно сделать через интерфейс, тогда это было бы здорово.

ответ

0

Вы не можете добавлять элементы меню HTML в меню. Элементы меню всегда завертываются в тег привязки и отфильтровывают HTML. Изменение этого поведения технически возможно, но вызовет много неизвестных побочных эффектов.

Что вы хотите, это либо простая тема переопределить, либо пользовательский блок (потенциально без заголовка и с некоторыми другими пулями).

Вы можете создать блок с помощью hook_block или просто набрав HTML, с некоторым PHP в новый блок, используя фильтр ввода PHP. Этот последний вариант является быстрым, но многие люди не поощряются по соображениям эффективности и «хорошей практики»: вы не должны хранить php в своей базе данных.

EDIT: После того, как комментарий о «просто имя»:

Чтобы вставить «только название» вам просто нужно создать модуль с hook_menu.

global $user; 
$items['path/%uid'] = array(
    'title'   => $user->name, 
    'description'  => 'description', 
    'page callback' => 'drupal_get_form', //Fill in the callback here: function that renders the page content. 
    'page arguments' => array(''), 
    'access callback' => '', 
    'access arguments' => array(''), 
    'weight'   => 0, 
    'menu_name'  => 'Navigation', 
    'type'    => MENU_NORMAL_ITEM, 
); 

О том, что вы хотите.

+0

OK, понимает. Мне нужен клиент, чтобы иметь возможность управлять меню. Как насчет только ссылки на имя, например. _Ed Henderson_ –

Смежные вопросы