나는 ModX 진화를 실행하고 변경 또는 개선 사항을 추가 할 수 있습니다.
참고해야 할 한 가지 문제가 있습니다. TV의 검색 용어를 결합하여 매우 정확한 검색을 할 수 없다는 점입니다. 나는 여전히이 문제를 해결할 것입니다.
//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
?>
AjaxSearch는 당신이 요청하는 모든 옵션을 제공하는 훌륭한 플러그인입니다. – OptimusCrime
@OptimusCrime 그래,하지만 그 시도는 내 사용자 정의 템플릿 덩어리를 표시하기 위해 동등하게 사용하는 방법을 알아낼 수 없었다. 내가 뭐 놓친 거 없니? – MeltingDog
@MeldingDog : 아, 나는 그 부분을 간과했다. Btw, yuor 스 니펫 (modx 내부에있는 경우)에서는 templatemode에서 snippet-call을 반향하는 대신'$ modx-> runSnippet'을 사용하는 것이 더 빠릅니다. – OptimusCrime