1

同上を使用して、製品カタログを作成しました。ここで、検索とフィルタリングのオプションを追加したいと思います。誰かがこれを行うための最良の方法を知っていますか?良いプラグインが見つからないようです。

ModXEvolution1.0.6を実行しています

4

1 に答える 1

0

誰かが興味を持ったら、私はあきらめて自分で作りました:

完全なコードで更新

何かを明確にしたり、変更や改善を追加したりするために、遠慮なく私に尋ねてください。

私が修正しなければならない問題が1つあることに注意してください。それは、テレビの検索用語を組み合わせて非常に明確な検索を行うことができないということです。私はまだこれに取り組みます

//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
?>
于 2012-09-13T02:31:20.590 に答える