teslim olduğunda özel drupal arama modülünün formu sonrası tüm verilerinizi kaybetme

0 Cevap php

Ben zaten yardım belgelerine ararken, size ürünün hangi ürün ve sürüm için seçerek arama sonuçlarını filtre bazı arama filtreleri (yani sahip belirli bir içerik türü arama işlemek için drupal modülü (Inline Ajax Search) katkıda modifiye ediyorum size ) ile yardım istiyorum.

Ben modülünü değiştirilmiş bazı ne tüm arama filtreleri işlemek için.

Ben de gerçek arama sayfası (değil blok formu) üzerinde arama formu ve arama sonuçlarının önünde sunulması işlemek için standart çekirdek arama modülünün benzer işlevselliği ekledi.

Sorun i formu gönderdiğinizde, i çünkü bir yerde olduğunu teslim benim bütün sonrası verileri kaybederim keşfetti ve ben nerede, drupal o beni neden bana yönlendiriliyor ya da başka bir şey oluyor bilmiyorum ki $ _POST dizi her şeyi kaybedersiniz.

Burada hook_menu () uygulaması bulunuyor:

<?php  
function inline_ajax_search_menu() {
    $items = array();
    $items['search/inline_ajax_search'] = array(  
        'title' => t('Learning Center Search'),
        'description' => t(''),
        'page callback' => 'inline_ajax_search_view',
        'access arguments' => array('search with inline_ajax_search'),
        'type' => MENU_LOCAL_TASK,
        'file' => 'inline_ajax_search.pages.inc',
    );
}
?>

sayfa geri arama (çekirdek arama modülün search_view işlevine çok benzer) gibi tanımlanır:

<?php  
function inline_ajax_search_view() {

    drupal_add_css(drupal_get_path('module', 'inline_ajax_search') . '/css/inline_ajax_search.css', 'module', 'all', FALSE );

    if (isset($_POST['form_id'])) {
        $keys = $_POST['keys'];

        // Only perform search if there is non-whitespace search term:
        $results = '';
        if(trim($keys)) {     
            require_once( drupal_get_path( 'module', 'inline_ajax_search' ) . '/includes/inline_ajax_search.inc' );

            // Collect the search results:
            $results = _inline_ajax_search($keys, inline_ajax_search_get_filters(), "page" );



            if ($results) { 
                $results = theme('box', t('Search results'), $results);
            }
            else {
                $results = theme('box', t('Your search yielded no results'), inline_ajax_search_help('inline_ajax_search#noresults', drupal_help_arg()));
            }
        }
        // Construct the search form.
        $output = drupal_get_form('inline_ajax_search_search_form', inline_ajax_search_build_filters( variable_get( 'inline_ajax_search_filters', array() ) ) );
        $output .= $results;

        return $output;
    }
  return drupal_get_form('inline_ajax_search_search_form', inline_ajax_search_build_filters( variable_get( 'inline_ajax_search_filters', array() ) ) );
}
?>

benim anlayış, işler bu gibi çalışması gerekir: Bir kullanıcı www.mysite.com / arama / inline_ajax_search gider ve drupal benim url verilen yolunu işlemek ve benim arama modülü için temalı formunu tutan bir sayfa beni sağlayacaktır. I olan eylem aynı url (www.mysite.com / arama / inline_ajax_search) olan formu gönderdiğinizde, o zaman aynı işlevi çağrıları aracılığıyla gitmek, ama biz şimdi $ _POST dizi veri var ve bunlardan biri $ gerçekten _POST formu "inline_ajax_search_search_form" adı olan ['form_id']. bu yüzden blok eğer girmek ve arama sonuçlarını ortaya koymak gerekir.

ama ben formu göndermek ve benim sonuçlar ve tema tüm kadar, ben bütün sonrası verileri kaybetmek nasıl ve bazı yönlendirildi olsun olsun ne zaman bir yere ... ne olur değil.

Herkes bana yardımcı olabilir, eğer lol beni çok mutlu ederdi.

0 Cevap