1

使用同上我創建了一個產品目錄。我現在希望添加搜索和過濾選項。有誰會知道最好的方法來做到這一點?我似乎無法找到一個好的插件。ModX Evo:搜索資源和電視 - 顯示結果同上

我正在鏌鋣演進1.0.6

+0

AjaxSearch是一個很棒的插件,它包含了所有您請求的選項。 – OptimusCrime

+0

@OptimusCrime是的,我試過,但無法弄清楚如何使用它與它來顯示我的自定義模板塊。我錯過了什麼? – MeltingDog

+0

@MeldingDog:啊,我忽略了那部分。順便說一句,在yuor片段中(如果它在modx內部),使用'$ modx-> runSnippet'會更快,而不是在templatemode中回顯snippet-call。 – OptimusCrime

回答

0

我放棄了,做了我自己,如果任何人的興趣:

全碼更新

請隨時問我澄清什麼或添加更改或改進。

請注意,我必須解決一個問題 - 您無法將電視的搜尋條件結合起來進行非常確定的搜索。我仍然會在此工作

//TV FILTERS 
$sql = 'SELECT DISTINCT `contentid` FROM `modx_site_tmplvar_contentvalues`'; 
$where = array(); 
//ADD THE VARIABLES YOU WANT TO SEARCH TV's WITH BELOW 
if ($searchlocation !== 'Any') $where[] = '`value` LIKE "%'.$searchlocation.'%"'; 
if ($searchmake !== 'Any') $where[] = '`value` LIKE "%'.$searchmake.'%"'; 
if ($searchtype !== 'Any') $where[] = '`value` LIKE "%'.$searchtype.'%"'; 
if (count($where) > 0) { 
    $sql .= ' WHERE '.implode(' OR ', $where); 
} else { 
    // OPTIONAL 
    // Error out; must specify at least one! 
} 

$tvqresult = mysql_query($sql); 
$num_rowstvq = mysql_num_rows($tvqresult); 
while ($rowtvq = mysql_fetch_array($tvqresult)) { 
$contid = $rowtvq['contentid']; 

//MAIN QUERY RETRIEVES RESOURCE - TEMPLATE LIMITS SEARCH TO PARTICULAR TYPE THAT WILL BE USED IN DITTO 
$mainsql = 'SELECT * FROM `modx_site_content` WHERE `id` = ' . $rowtvq['contentid'] . ' AND `template` = 12'; 

$resultmain = mysql_query($mainsql); 
$num_rowsmain = mysql_num_rows($resultmain); 
if (!$resultmain) { 
continue; 
} 
elseif ($num_rowsmain == 0){ 
echo "Sorry - nothing matches your search"; 
} 

else { 
while ($row = mysql_fetch_array($resultmain)) { 
    echo "[[Ditto? &parents=`134` &documents=" . $row['id'] . " &tpl=`usedtempchunk`]]"; 
}//END MAIN LOOP 

}//END MAIN ELSE 

}//END TV WHILE LOOP 
?>