2014-04-03 58 views
0

我正在使用一个joomla模块,我想修改它以自动加载默认的结果列表。当页面加载时自动加载搜索结果

当前,当页面加载没有结果时显示。如果所有搜索栏都为空,并且用户单击搜索按钮,页面将加载所有数据。如果信息放在搜索字段中,结果将被分解以匹配输入的内容。

我希望页面在页面加载时自动加载所有数据,而无需用户单击搜索。 我如何做到这一点?

我相信模块使用Ajax,我相信,这会影响低于信息:

<?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>"; 
    } 

?> 

请帮帮忙!

回答

0

尝试使用这样的事情

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

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

</html> 

,那么你可以很容易地改变myFunction的触发你的点击事件

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