ВопросПроблема с поиском и чистыми ссылками в моем модуле на сервере Debian.
Привет!
Написал небольшой модуль (Drupal 7) для вывода структурированной информации и поиск по ней. Писал модуль используя в качестве сервера XAMMP под Windows. Поиск работал без проблем. После переноса на сервер Debain c Apache+PHP+Mysql перестал нормально работать поиск. Поиск стал работать только с главной страницы и страницы поиска, со страниц структурированной информации после отправки запроса на поиск, страница перезагружается, но остается на той же странице. Если же отключить в Друпале "чистые ссылки", то все работает как надо. В чем может быть причина?
Так как это мои первые шаги в программировании для Друпал, возможно я мог что-то не учесть, просто в Windows все работает нормально, проверял на другой верcии XAMPP.
Привожу часть кода касаемый поиска
function postindex_menu() { $items['postindex'] = array( 'page callback' => 'postindex_page', 'page arguments' => array(1, 2), 'access callback' => TRUE, '#type' => MENU_CALLBACK, ); $items['postindex-search'] = array( 'page callback' => 'postindexsearch_arguments', 'page arguments' => array(1, 2), 'access arguments' => array('access search arguments page'), 'access callback' => TRUE, 'type' => MENU_CALLBACK, ); return $items; } <?php /** * Объявляем блок поиска */ function postindex_block_info() { $blocks['postindexsearch'] = array( 'info' => t('Поиск по почтовым индексам'), // Имя, которое будет показано в списке блоков. 'cache' => DRUPAL_CACHE_PER_ROLE, // Настройки кэширования блока ); return $blocks; } /** * Подготовка содержимого для блока. */ function postindex_block_view($delta = '') { $block=array(); switch($delta){ case 'postindexsearch': $block['subject'] = t('Поиск по почтовым индексам'); // Заголовок блока $block['content'] = drupal_get_form('postindexsearch_block_form'); // Генерируемая форма блока } return $block; } /** * Описание формы блока */ function postindexsearch_block_form($form_id) { // Контейнер нужен, чтобы поле ввода и кнопка были в ряд $form['container'] = array( '#prefix' => '<div class="container-inline">', '#suffix' => '</div>', ); $form['container']['search'] = array( '#type' => 'textfield', '#size' => 25, '#maxlength' => 128, '#required' => true, ); $form['container']['submit'] = array( '#type' => 'submit', '#value' => t('Search'), ); return $form; } function postindexsearch_block_form_submit($form, &$form_state) { $sResult=array( //post data 'mysearch'=>$form_state['values']['search'], ); // Формируем строку запроса и переходим на нее $form_state['redirect'] = 'postindex-search/' . $sResult['mysearch']; }
- pr0g
- 11.12.2012
- 2003
Комментарии
Попробуйте вместо $form_state['redirect'] воспользоваться drupal_goto().
Комментировать