11

Drupal 6サイトにProfile、CCK、およびViews2モジュールをインストールしています。ユーザープロファイルに文字列フィールドを追加しました。ビューGUIビルダーを使用して、プリセット値を簡単にフィルタリングできます。ただし、他の環境変数(つまり)に基づいてフィルター基準を動的に設定したいと思います$_SERVER['SERVER_NAME']

どこかに基本的な「カスタムdrupal-views-filterの書き方」はありますか?私はドキュメントを調べてきましたが、それを行う方法についての私の単純な心には明らかではありません。

4

5 に答える 5

3

次のような独自の関数を作成して、独自のフィルターを追加できます。

<?php custom_views_embed_view($view_name, $display_id) {
$view = views_get_view($view_name);
$view->set_display($display_id);
$id = $view->add_item($display_id, 'filter', 'node', 'created',
                      array( 'value' => array('type' => 'date', 'value' => date('c')), 'operator' => '<='));
return $view->execute_display($display_id);
}
?>
于 2009-05-07T15:55:57.330 に答える
1

私も同様の問題を抱えており、この記事は問題の解決に非常に役立ちました。

http://www.metaltoad.com/blog/drupal-7-tutorial-creating-custom-filters-views

および hook_views_data の公式ドキュメント

http://api.drupal.org/api/views/docs%21docs.php/function/hook_views_data/6

于 2013-01-29T08:04:03.587 に答える
0

viewsphpfilterフィルタビューを許可するモジュールを使用できますがnode id.、これを拡張する必要がある場合はパッチがありますuser views

于 2011-11-22T10:34:53.293 に答える
0

私自身のサイトにインストールされているフィルターの種類を見て、フィルターは何らかのデータベースフィールドに基づいている必要がある可能性があります。その場合、あなたが達成しようとしていることは不可能です。フィルタは、生成されたSQLクエリにWHERE句を提供しているようです。

そうは言っても、それをさらに追求したい場合は、ビューのフィルターを既に提供しているモジュールから始めるのが最善の策です。ノードモジュールのビューで提供されるフィルターがあります。または、いくつかのフィルターも提供するオーディオモジュールを確認することもできます。さらに、Drupalフォーラムまたはサポートリストに投稿すると、試みていることを達成できる別のモジュールが表示される場合があります。

于 2008-11-13T22:18:45.270 に答える