CMS Drupal

Чаще всего для сайтов (не блогов) форма добавления материала используется не автором(админом), а простыми пользователями. И эта форма может быть совсем не похожа на стандартную форму новой статьи или новости. Если форма будет иметь какие-то свои поля, то типовые элементы уже будут не нужны и будут только отвлекать пользователей. В этой статье хочу свести воедино то, что использовал в своих проектах, чтобы не рыскать каждый раз в поисках того, что уже когда-то где-то делал.

Во-первых, часто в материале нет надобности заставлять пользователя вводить название. Например, при подаче какого-нибудь объявления. Здесь на помощь приходит модуль auto_nodetitle. После его установки в форме настройки типа материала можно задать опцию "Automatically generate the title and hide the title field" (Автоматически генерировать название и прятать это поле). Здесь же можно задать шаблон по которому будет формироваться автоматическое название.

Второй элемент, который мешается в подобного рода материалах - это кнопка "Отделить анонс от основного материала". Я ее прячу обычно в своем модуле с помощью хука hook_form_alter.

function my_module_form_alter(&$form, &$form_state, $form_id) {
  if (substr($form_id, -10) == '_node_form') {
    // Прячем кнопку тизера
    $user_is_admin = $user->uid == 1;
    if (!$user_is_admin) {
      $form['body_field']['#after_build'] = NULL;
      $form['body_field']['teaser_js'] = NULL;
      $form['body_field']['teaser_include'] = NULL;
    }
  }
}

Третий элемент из этой серии - это информационный блок под полем текста материала. Т.е. там где ссылка "Подробнее о форматировании" и то, что над ней. Текст, который находится над этой ссылкой, заключен в ul с классом tips, поэтому его легко можно скрыть в css:

ul.tips{
  display: none;
}

А вот с самой ссылкой немного сложнее. Но и ее можно убрать в файле template.php из вашей темы:

function phptemplate_filter_tips_more_info() { 
  return ''; 
}

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

Комментарии

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Я случайно зашел на этот сайт, но задержался тут надолго. Задержался, потому что все интересно.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <1c7>, <drupal5>, <drupal6>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".