Плизз, помогите разобраться с hook_menu() в Drupal 6
Прислано: Xandr Morris@drupal.org
ср, 23/09/2009 - 21:26
Ребяит, вопрос ко всем, кто компетентен в теме.
Я сейчас начал переходить на разработку для Drupal 6 и сразу возникли непонятки с меню.
То что ранее писалось как
тут ясно. теперь делается
$item['mymodule/%arg_name'] = array( ... 'page arguments' => array('arg_name', INT_arg_position), ... )
А вот если у меня несколько аргументов в адресе, как этот массив формируется?
то есть, напишите, как будет выглядеть запрос к аргументам при подобном адресе:
$item['mymodule/%arg_1/%arg_2']
в общем, если аргументов несколько....
Заранее спасибо.
Срочно! Не происходит переадресация на нужную страницу. Почему?
Прислано: Xandr Morris@drupal.org
пн, 24/08/2009 - 15: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').
Что мне делать в этой ситуации? Нужно срочно, т.к. необходимо сдавать проект....
Очень надеюсь на Вашу помощь.
Заранее признателен.
Плюшки маграмерам любимого Дрю
Прислано: Xandr Morris@drupal.org
пт, 31/07/2009 - 11:31
Маленькая плюшка, написанная в ходе разработки какого-то модуля.
Не получалось отследить значение переменной, вернее - надо было понять, где оно теряется, вот и написал маленькую добавочку, которая впоследствии пригодилась неоднократно, значительно упростив разработку (а) и к тому же помогла более точно разобраться с движком (б).
Итак, что я сделал.
1) добавил строку в index.php (хардкод, конечно, но так удобнее).
<?phprequire_once './debug.php';?>
т.е. теперь index.php стал выглядеть так (привожу измененный кусочек):
<?php
require_once './includes/bootstrap.inc';
require_once './debug.php';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>2) в корне, естественно, создал маленький файлик debug.php с двумя функциями. Одна из них сохраняет результат дебага в файл "___dbg.txt" в корне движка, а вторая просто отпечатывает результат в красивой форме прям на странице, куда передаются данные.
Итак, код:
<?php
/**
* Save any output to file
*
* @param any_type $variable
* @param string $comment
*/
function ___save_debug($variable, $comment = NULL) {
$fp = @fopen('__dbg.txt', 'a');
if( is_array($variable) || is_object($variable) ) {
$variable = print_r($variable, true);
}
$tmp = $comment." : ".$variable."\n\n===========================\n";
fwrite($fp, $tmp);
fclose($fp);
}
/**
* Returns print version of variable.
* Put result on the top of the page.
*
* @param any_type $variable
* @param string $comment
*/
function ___print_debug($variable, $comment = NULL) {?>Не срабатывает пейджер
Прислано: Xandr Morris@drupal.org
вт, 07/07/2009 - 13: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. Где фиксить?
Прислано: Xandr Morris@drupal.org
ср, 01/07/2009 - 02:54
Здравствуйте, уважаемые соратники друпалеры!
Есть такой вопрос. Прикручивал к сайту модуль i18n для перевода сайта на русский и украинский языки. Да вот ведь беда случилась. При добавлении любого контента весь текст из части BODY пропадает, а друпал пишет, что не заполнено обязательное поле. Как быть? В чем глюк?
Из-за i18n или (что тоже наводит на подозрение) может подглючивать установленный FCKeditor (к слову, даже после настройки он не появляется, хотя на домашней машинке работало прекрасно)?
Без BODY тяжко контент размещать блин (((( подскажите, плизз...
P.S. К сожалению, нет возможности сейчас ковырять движок, т.к. работа не дома.
Тупеж с MySQL в hook_install()
Прислано: Xandr Morris@drupal.org
чт, 22/01/2009 - 08:11
Не могу понять одну фишку. Начал писать hook_install() и запутался с друпаловскими типами MySQL-полей.
Помню, что где-то в сети находил, а вот где - хз.
То что int и auto_increment - тут все ясно, как говорится ))))
А вот с остальными полями че-т запутался.
Короче, нужно что-то типа этого: http://drupal.org/node/159605
но не под 6-й, а под 5-й Drupal.
Помогите, плиз, ссылочкой, если кто знает )))
Самый частый модуль
Прислано: Xandr Morris@drupal.org
сб, 06/12/2008 - 16:29
Так подумал, что этот лента новостей используется на большинстве сайтов.
Чтоб не настраивать друпал, не ковырять код, можете просто поставить этот модуль. Написание и тестирование проходило в Drupal 5.7. Сейчас у меня установлен Drupal 5.12, глюков в работе модуля я не заметил.
Основные возможности:
- Страница с полным списком новостей
- Отдельная страница для каждой новости
- Блок с новостями (краткий текст, ссылки "подробнее" и "все новости")
- Администрирование новостей
- Таблица с новостями (заголовок, дата создания/изменения, краткий текст, опции "изменить" и "просмотр")
- Настройки (количество на странице, количество в блоке, количество на панели администрирования)
- Свой тип данных "Новость"
Пока что модуль написан только в русском варианте (хардкод типа t("тут русский текст") в новой версии будет заменен на файлы .po).
Также, когда-нибудь я допишу его для версии Drupal 6.
Помогите оценить ТЗ
Прислано: Xandr Morris@drupal.org
пт, 05/12/2008 - 09:02
Здравствуйте. У меня возник вопрос следующего плана. Есть ТЗ, из которого был составлен список модулей. Их вышло ажно 25 штук. Планируется крупный портал строительных фирм.
Всё должно быть максимально юзер-френдли, аяксно и юзабельно.
Подробно - в прилагаемом PDF'е.
Вот, отсюда и вопросы.
- Сколько РЕАЛЬНО можно взять за такой проект? (не для друзей, но чтоб и цену не ломить - это не импортный заказчик, платить не любит много)
- Сколько по времени должно уходить на такую разработку?
P.S. состав разработчиков: 2 человека программеров, 1 дизайнер и 1 SEO-копирайтер.
