0

用語集ビューのコンテキストフィルターに0〜9のリンクを追加する必要がある状況があります

where句の部分を変更するにはどうすればよいですか?変更する必要があります

SUBSTRING(node.title, 1, :node_title) = :node_title1

SUBSTRING(node.title, 1, 1) =REGEXP ('[0-9]')

特定の値=='0-9'の場合、hook_views_query_alterを実装しようとしましたが、機能していません

function  custom_views_query_alter(&$view, &$query){

  $current_view=&$view;

  switch($current_view->name){

    case  'glossary':

  if($query->where[0]['conditions'][0]['value'][':node_title1']=='0-9'){
    $query->where[0]['conditions'][0]['field']= "SUBSTRING(node.title, 1, 1) =REGEXP ('[0-9]')";
    echo "YES";

    dpm($query->where);
        }  } }
4

1 に答える 1

0

私はそれを機能させることができました ここにコードがあります

function  custom_views_query_alter(&$view, &$query){

$current_view=&$view;
switch($current_view->name){

case  'glossary':
  if($query->where){

  if($query->where[0]['conditions'][0]['value'][':node_title1']=="0-9"){
       $query->where[0]['conditions'][0]['field'] = "SUBSTRING(node.title, 1, 1) REGEXP ('[0-9]')";
    dpm($query->where);
 }

}
}
}
于 2012-09-24T19:40:43.417 に答える