Вкладка Добавить в типах материалов

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

Люблю простые решения:

/**
 * Implementation of hook_menu().
 */

function mymodule_menu() {
// Вкладки Добавить в типах материалов.
// Получаем список типов
  $types = node_get_types();
// Перебираем его
  foreach($types as $type) {
// Формируем адрес страницы рядом с вкладками Управления и Отображения полей
    $items['admin/content/node-type/'. str_replace('_', '-', $type->type) .'/add'] = array(
// Заголовок с плейсхолдером для функции t()
      'title' => 'Add new @name',
// В параметры для t() добавляем имя типа
      'title arguments' => array('@name' => $type->name),
// Собственно, вкладка меню
      'type' => MENU_LOCAL_TASK,
// Вызываем системную функцию перенаправления на страницу
      'page callback' => 'drupal_goto',
// Формируем для drupal_goto() адрес страницы добавления материала
      'page arguments' => array('node/add/'. str_replace('_', '-', $type->type)),
// Права доступа на добавление контента этого типа
      'access arguments' => array('create '. $type->type .' content'),
// Размещаем вкладку после всех имеющихся
      'weight' => 20,
    );
  }
// PROFIT
  return $items;
}

Добавить комментарий

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
А не робот ли вы случайно?
1 + 5 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.