нода

Опубликовано VladSavitsky

Задача
Табы и вкладкиНужно на страницу ноды, где по умолчанию есть табы "Смотреть" ("View") и "Редактировать" ("Edit") добавить произвольный таб.

Решение

Добавление таба в Drupal 6

Таб для всех нод и без ограничения доступа:
$items['node/%node/new_tab'] = array(
    'title' => 'New Tab',
    'page callback' => 'mycallback',
    'page arguments' => array(1),
    'access callback'   => TRUE,

Читать дальше...
Авторы решений:
Версия Drupal:
| 3 комментария
Опубликовано VladSavitsky

Задача:
Нужно определить тип ноды, которая отображается. В форме редактирования нет об этом информации.

Читать дальше...
Опубликовано Гость
Задача: 

Нужно вывести (внедрить) форму создания ноды на странице, которая не совпадает со стандартным URL для создания нод (node/add/[тип нод]). То есть на произвольной странице показать ноду создания контента одного из типов. При этом нужно сохранить весь функционал этой формы - AHAH, валидацию и корректное сохранение.

Иногда бывает нужно встроить (embed) форму редактирования ноды.

Drupal 5

Для 5й версии можно использовать модуль subform element (http://drupal.org/project/subform_element), который позволяет это легко сделать.

Drupal 6

В 6й версии Drupal формы стали сложнее (активно используется AHAH), поэтому при при неаккуратном использовании формы могут перестать работать. Создадим модуль, который будет показывать внедрённую форму на произвольной странице.
Чтобы не нарушить работу AHAH нужно просто не менять структуру массива $form.

Опубликовано VladSavitsky
Задача: 

После сохранения ноды пользователь переходит на страницу просмотра только что сохранённой ноды (вкладка 'View'). Нужно сделать редирект на произвольный URL.

Нужно создать (если нужно) модуль и в файл MODULENAME.module добавить:
function MODULENAME_form_alter(&$form, &$form_state, $form_id) {
    if ('page' == $form['#node']->type){
      $form['#redirect']  = 'thanks_page';
    }  
}

Данный код сработает перед выводом формы редактирования в браузер пользователя и в этой форме будет изменён стандартный редирект. Это делается для нод определённого типа - page. Можно использовать любые другие условия.

Если нужно в пути использовать спец. символы, то нужно использовать конструкцию подобную этой:

Читать дальше...
Авторы решений:
Версия Drupal:
Drupal API:
| 1 комментарий
Опубликовано VladSavitsky

Управление доступом к статьям на сайтеНужно ограничить или запретить доступ к определенным нодам или типам материалов.

Читать дальше...
Опубликовано VladSavitsky

Скрыть часть текста статьиНужно скрыть часть текста ноды от анонимных посетителей и показывать этот текст только зарегистрированным.

Читать дальше...
Опубликовано VladSavitsky

Проверить работоспособность сниппетаЕсли PHP-сниппет содержит ошибку, то весь сайт может стать недоступен после сохранения блока/страницы. Поэтому нужно убедиться, что сниппет работает корректно перед сохранением.

Читать дальше...
Опубликовано VladSavitsky

Понять какие переменные можно использовать для настройки внешнего вида документа.

Читать дальше...
Опубликовано VladSavitsky

Нужно програмно пересохранить документы. Это может быть нужно в таких случаях:

  • После изменения количества символов в анонсе нужно пересоздать анонс (teaser), который формируется автоматически при сохранении документа (node).
  • После установки модуля CCK Computed Field заново сгенерировать все значения вычисляемых полей CCK для всех документов.
  • После операций с URL в модуле Pathauto или Path модуль XML Sitemap некорректно показывает пути - показываются системные (типа 'node/123') вместо ЧПУ (типа '/sohranit-statiu'). При пересохранении модуль XML Sitemap использует ЧПУ вместо системных.
Читать дальше...

Контент

29 Мар 2008
Опубликовано VladSavitsky

Всё, что относится к выводу, созданию, редактированию и удалению документов на сайте.

 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>