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

Нужно создать вид (представление) для Views программно, то есть в своем модуле.

Решение
Чтобы задать вид с помощью кода для Views 2 в Drupal 6 нужно:

  1. Создать вид, используя визуальный интерфейс Viws, как это обычно делается
  2. Сделать экспорт этого вида и получить код
  3. Заменить первую строку ($view = new view;) на $view = views_new_view();
  4. Далее можно показать, выполнить, вставить и всё, чего пожелаете (то есть $view->execute_display('default', array())

Ниже пример, который использует простой Вид, который показывает Заголовки всех опубликованных нод:

//создать новый вид

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

Нужно сделать так, чтобы при смене (переключении) языка сайта ссылка на главную меняла свой якорь (текст). Например, "Главная" для русского, "Home" - для английского.

Решение

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

Если на сайте используется несколько языков (многоязычный сайт), но логотип и/или название сайта должно вести на главную на выбранном языке, а не на основном языке сайта

Решение

  • В папке текущей теме открыть файл page.tpl.php
  • В этом файле найти строку "$logo" - это вывод логотипа. Вывод названия сайта обычно находится где-то рядом.
  • Найти как формируется ссылка. Обычно это
    echo check_url($base_path);
    или
    print $base_path;
  • Заменить на:
    echo url('<front>', array('absolute' => TRUE));
Авторы решений:
Версия Drupal:
Drupal API:
| Добавить комментарий
Опубликовано VladSavitsky
Задача: 

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

Решение

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

  • Открыть нужную ноду для редактирования и указать путь: "home".
    Указать синоним пути в настройках ноды
  • Сделать тоже самое для всех переводов, используя в качестве пути то же самое значение "home"
    Указать синоним пути в настройках ноды
  • Читать дальше...
Опубликовано VladSavitsky

Задача:

Найти на сайте страницы с большим PR.

Решение:

Онлайн-сервисы проверки PR страниц сайта

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

Задача:

Нужно в форме поиска вставить в поле текст "Поиск по сайту", который исчезает при клике мышью, то есть, когда курсор попрадет в это поле и поле получает фокус.

Читать дальше...
Опубликовано 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

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

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

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

Варианты:

  • Использовать стандартные возможности Drupal
  • Использовать модуль Re: Comment subjects
  • Скрыть заголовки средствами CSS
  • Использовать модуль "Comment automatic title"
  • Использовать хук hook_comment()

Использовать хук hook_comment()

См. http://api.drupal.ru/api/function/hook_comment/6
Теория:

  • Нужно перехватить вывод формы комментария и отключить вывод заголовка.
  • Читать дальше...
Опубликовано VladSavitsky
Задача: 

Если в модуле используется хук и он должен обрабатывать данные, которые добавляются или меняются другим модулем с помощью такого же хука, то нужно как-то задать приоритет (очерёдность) выполнения хуков, чтобы ваш хук сработал после хука в других модулях. Нужно установить приоритет выполнения хуков.

Решение:
Приоритет хуков зависит от приоритета модуля, в котором он описан.
По умолчанию этот приоритет равен 0 и, если вы специально не указали другое, то будет использовано именно это значение. Чтобы это изменить есть, как всегда, несколько путей.

Обратите внимание: Вес может быть отрицательным. Отрицательный вес считается более тяжёлым и срабатывает раньше. Положительный срабатывает позже (и после того, как сработает вес по умолчанию - нулевой). Если задан одинаковый вес, то используется сортировка по алфавиту.

Читать дальше...
 
 
 

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

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

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

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