Xandr Morris@drupal.org: Блог

Главные вкладки

Плизз, помогите разобраться с hook_menu() в Drupal 6

24 сентября 2009 в 1:26

Ребяит, вопрос ко всем, кто компетентен в теме.
Я сейчас начал переходить на разработку для Drupal 6 и сразу возникли непонятки с меню.

То что ранее писалось как

Срочно! Не происходит переадресация на нужную страницу. Почему?

24 августа 2009 в 19:29

Встала такая проблема.
В hook_submit() происходит некая обработка данных. Всё, вроде, замечательно.
Последней строкой идет
drupal_goto('some/next/page')

Эта самая (абстрактно) "some/next/page" прописана в hook_menu с аргументом, причем не в кешах.
'type' => MENU_CALLBACK

Редитрект происходит на страницу, с которой отправлялся запрос, а не туда, куда указано в сабмите.

P.S. Форма,которая обрабатывается прикреплена к странице при помощи drupal_get_form('my_form_function_name').

Не срабатывает пейджер

7 июля 2009 в 17:59

Доброго дня.
В ходе разработки модуля столкнулся с проблемой, что при выводе нескольких сообщений почему-то не срабатывает постраничное отображение (пейджер). Решал старым проверенным способом, а сейчас чего-то затупил.
Если кто знает, подскажите, в чем ошибка. Где я натупил?

Вот код функции:

function pm_messages_overview() {
  global $user;
  $output = '';
  $form = pm_add_comment_form();
  $header = array(
    array('data' => t('Private messages:'))
  );
  $rows = array();
  $sortby = variable_get('pm_ribbons_messages_sequence', 1);
  if ($sortby == 0) {
    $postfix = ' ASC';
  } elseif ($sequence == 1) {
    $postfix = ' DESC';
  } else {
    $postfix = '';
  }
  $messages = db_query("SELECT * FROM {pm_messages} WHERE rid=%d ORDER BY date_added".$postfix, arg(2));
  $output .= t('Total messages:').' '.db_num_rows($messages);
  $messages_per_user_page = variable_get('pm_messages_per_page', 15);
  while ($message = db_fetch_object($messages)) {
    db_query("UPDATE {pm_view_history} SET is_viewed=1 WHERE mid=%d AND uid=%d", $message->mid, $user->uid);
    $rows[] = array(
      pm_message_view($message->mid, $message->rid, $message->message, $message->date_added, $message->uid)
    );
  }
  $output .= theme('table', $header, $rows);
  $output .= theme('pager', NULL, $messages_per_user_page, 0);
  $output .= drupal_get_form('pm_add_comment_form', array());
  return $output;
}

Глюк с body в node'ах после установки i18n. Где фиксить?

1 июля 2009 в 6:54

Здравствуйте, уважаемые соратники друпалеры!
Есть такой вопрос. Прикручивал к сайту модуль i18n для перевода сайта на русский и украинский языки. Да вот ведь беда случилась. При добавлении любого контента весь текст из части BODY пропадает, а друпал пишет, что не заполнено обязательное поле. Как быть? В чем глюк?
Из-за i18n или (что тоже наводит на подозрение) может подглючивать установленный FCKeditor (к слову, даже после настройки он не появляется, хотя на домашней машинке работало прекрасно)?

Без BODY тяжко контент размещать блин (((( подскажите, плизз...

Самый частый модуль

6 декабря 2008 в 19:29

Так подумал, что этот лента новостей используется на большинстве сайтов.
Чтоб не настраивать друпал, не ковырять код, можете просто поставить этот модуль. Написание и тестирование проходило в Drupal 5.7. Сейчас у меня установлен Drupal 5.12, глюков в работе модуля я не заметил.

Основные возможности:

  1. Страница с полным списком новостей
  2. Отдельная страница для каждой новости
  3. Блок с новостями (краткий текст, ссылки "подробнее" и "все новости")
  4. Администрирование новостей
  • Таблица с новостями (заголовок, дата создания/изменения, краткий текст, опции "изменить" и "просмотр")
  • Настройки (количество на странице, количество в блоке, количество на панели администрирования)
  • Свой тип данных "Новость"
  • Пока что модуль написан только в русском варианте (хардкод типа t("тут русский текст") в новой версии будет заменен на файлы .po).
    Также, когда-нибудь я допишу его для версии Drupal 6.