2014-04-03 2 views
0

joomla 모듈을 사용하고 있습니다. 기본 결과 목록을 자동로드하도록 수정하고 싶습니다.페이지가로드 될 때 자동로드 검색 결과

현재 페이지가로드 될 때 결과가 표시되지 않습니다. 모든 검색 필드가 비어 있고 사용자가 검색 버튼을 클릭하면 페이지가 모든 데이터를로드합니다. 검색 필드에 정보가 입력되면 입력 한 내용과 일치하도록 결과가 세분화됩니다.

사용자가 검색하지 않고 페이지가로드 될 때 모든 데이터를 자동으로로드하려고합니다. 어떻게해야합니까?

나는 모듈이 아약스를 사용하여 믿고 난이 아래 인 영향을 미치는 정보 믿는다

<?php 

    header('Access-Control-Allow-Origin: *'); 
    header('Content-Type: text/html'); 

    define('_JEXEC', 1); 
    define('DS', DIRECTORY_SEPARATOR); 

    ini_set("display_errors", "On"); 
    error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING); 

    $my_path = dirname(__FILE__); 
    $my_path = explode(DS.'modules',$my_path); 
    $my_path = $my_path[0];   

    if (file_exists($my_path . '/defines.php')) { 
     include_once $my_path . '/defines.php'; 
    } 

    if (!defined('_JDEFINES')) { 
     define('JPATH_BASE', $my_path); 
     require_once JPATH_BASE.'/includes/defines.php'; 
    } 

    require_once JPATH_BASE.'/includes/framework.php'; 
    $app = JFactory::getApplication('site'); 
    $app->initialise(); 

    /////////////////////////////////////////////////////////////////////////////////////////////// 

    $name = $_GET['name']; 
    $value = mb_strtolower($_GET['value']); 
    $next = mb_strtolower($_GET['next']); 

    $db = JFactory::getDBO(); 
    $query = "SELECT * FROM #__k2_extra_fields WHERE published = 1"; 

    $db->setQuery($query); 
    $results = $db->loadObjectList(); 

    $extra_val = ''; 
    $extra_id = 0; 
    foreach($results as $result) { 
     if(trim(mb_strtolower($result->name)) == trim($value) . " " . trim($next) || trim(mb_strtolower($result->name)) == trim($next) . " " . trim($value)) { 
      $extra_val = $result->value; 
      $extra_id = $result->id; 
      break; 
     } 
    } 

    require_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'lib'.DS.'JSON.php'); 
    $json = new Services_JSON; 
    $extra_val = $json->decode($extra_val); 

    if($extra_val != '') { 
     foreach($extra_val as $val) { 
      echo "<option>" . $val->name . "</option>"; 
     } 
     echo "<option>".$extra_id."</option>"; 
    } 

?> 

도와주세요!

답변

1

에 대한 검색을 트리거 한 후 쉽게하여 myFunction을 변경할 수 있습니다이

<html> 
<head> 
<script> 
function myFunction() 
{ 
alert("Page is loaded"); 
} 
</script> 
</head> 

<body onload="myFunction()"> 
<h1>Hello World!</h1> 
</body> 

</html> 

같은 것을 사용하려고 우리에 검색 쿼리를 저장해야한다 세션 변수,

http://docs.joomla.org/How_to_use_user_state_variables

http://docs.joomla.org/API15:JApplication/getUserStateFromRequest

세션에서 요청 변수를 관리하는 방법을 잘 설명하는 링크이므로 요청시 변수가 없으므로 세션에서 가치를 얻을 수 있습니다.

0

자동로드 검색 결과에 클릭 이벤트

<script> 
function myFunction() 
{ 
    document.getElementById('YOUR-BUTTON-ID').onclick(); 
} 
</script> 
관련 문제