ホームページ >バックエンド開発 >PHPチュートリアル >Drupal7はview_PHPチュートリアルのクエリ条件を変更(追加)します

Drupal7はview_PHPチュートリアルのクエリ条件を変更(追加)します

WBOY
WBOYオリジナル
2016-07-13 17:54:271053ブラウズ

Drupal のビューは使いやすいですが、必要に応じてクエリ条件を動的に変更したい場合があります。そこで、ビューのクエリ条件を変更する良い方法を説明します。同時に、ニーズに応じて法的なクエリ条件を追加することもできます


1. モジュール内で次のようなフックを宣言する必要があります


[php]
関数モジュール名_views_api() {
return array(
'api' => 3、
'path' => drupal_get_path('module', 'modulename') '/',
);

2. モジュール ディレクトリの下にファイル (modulename.views.inc) を作成し、フックとカスタム メソッドを使用してビューのクエリ条件を変更します。

[php]

関数モジュール名_views_query_alter(&$view, &$query) {
If ($view->name == 'viewname') {
$data = _get_views_operationinfo_time_key($query->where[1]['条件']); If (count($data) > 0) {
foreach ($data as $d) {
$query->where[1]['条件'][$d]['値'] = strtotime($query->where[1]['条件'][$d]['値']) ;
                                                                                                                                                          }
}

function _get_views_operationinfo_time_key($conditions) {
$data = 配列(); foreach ($conditions as $key => $val) {
If ($val['フィールド'] == 'フィールド名') {
$data[] = $key;                                                                        }

$data を返します。 }

上記の文字の意味:
1. modulename あなたのモジュール名

2. viewname 機械可読なビューの名前
3. fieldname 条件を追加するフィールドの名前 ここではテーブル名.フィールド名
で指定します。

ご質問がございましたら、メッセージを残してください。上記のコードで、大きな配列 $query を出力し、添字が付いている配列要素を見つければ、皆さんの役に立つと思います。


注: 上記の例は、時刻と日付をタイムスタンプに変換するために使用したものです。もちろん、ここで任意の変更を加えることができます。


http://www.bkjia.com/PHPjc/477964.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/477964.html

Drupal のビューは使いやすいですが、必要に応じてクエリ条件を動的に変更したい場合があります。それを修正する良い方法を説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。