1

PHP CMS である Perch を使用しています。一般的なphpの質問のように思えるので、ここでこの質問をしています。

基本的に、検索ページでフィルターを使用しています。

perch_content_custom('Jobs', array(
    'page'=>'/view-job.php',
    'template'=>'_job_list.html',
    'filter' => array(
        array(
            'filter'=>'job_subject',
            'match'=>'eq',
            'value'=> $_GET['subject']
            ),

        array(
            'filter'=>'job_term',
            'match'=>'eq',
            'value'=> $_GET['term']
        ),
    )
));

GET 文字列に値がある場合にのみフィルタリングしたいので、job_subject が指定されている場合はフィルターを適用しますが、IF ステートメントを使用できないことはわかっていて、php の代替手段がわからないのですか?

4

2 に答える 2

0

これはどうですか:

$filters = array();

if(!empty($_GET['subject'])) {
    $filters[] = array(
        'filter'=>'job_subject',
        'match'=>'eq',
        'value'=> $_GET['subject']
    );
}

if(!empty($_GET['term'])) {
    $filters[] = array(
        'filter'=>'job_term',
        'match'=>'eq',
        'value'=> $_GET['term']
    );
}

perch_content_custom('Jobs', array(
    'page'=>'/view-job.php',
    'template'=>'_job_list.html',
    'filter' => $filters
));

しかし、多くのエントリを持つフィルタがある場合、これは良いアプローチではないと思います... CMS がより良いフィルタ調整をサポートしていない場合、それはあまり良い解決策ではないと思います...

于 2013-05-16T14:47:34.197 に答える