1

ditto 사용 제품 카탈로그를 만들었습니다. 이제 검색 및 필터링 옵션을 추가하려고합니다. 누구든지이 일을하는 가장 좋은 방법을 알고 있습니까? 좋은 플러그인을 찾을 수없는 것 같습니다. 전체 코드로 업데이트ModX Evo : 자원 및 TV 검색 - 동등한 결과 표시

아무것도 명확하게 물어 주시기 바랍니다 : 나는 포기하고 사람이 관심 내 자신의 경우 만든 1.0.6

+0

AjaxSearch는 당신이 요청하는 모든 옵션을 제공하는 훌륭한 플러그인입니다. – OptimusCrime

+0

@OptimusCrime 그래,하지만 그 시도는 내 사용자 정의 템플릿 덩어리를 표시하기 위해 동등하게 사용하는 방법을 알아낼 수 없었다. 내가 뭐 놓친 거 없니? – MeltingDog

+0

@MeldingDog : 아, 나는 그 부분을 간과했다. Btw, yuor 스 니펫 (modx 내부에있는 경우)에서는 templatemode에서 snippet-call을 반향하는 대신'$ modx-> runSnippet'을 사용하는 것이 더 빠릅니다. – OptimusCrime

답변

0

나는 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 
?>