2011-01-19 10 views

答えて

0

奇妙なことに、今これについて考えてみるとちょっと難しいかもしれません。私の頭の上から2つの解決策があります。

1 - アイテムタイプノードの新しいビューを作成します。行のスタイルは、明らかにフィールド、に設定されます。 フィールドを選択してユーザーグループを選択し、ユーザー:名前チェックボックスをオンにします。 を設定する項目をに設定すると、無制限の結果が得られます。

名:ジョン・ドウ

名:メアリー・ジェーン

名:ジョン・ドウ

あなたのような何かを探していた結果のトンを取得する必要がありますプレビューの下

名前:匿名

あなたが見ているのは、の投稿者です。すべてあなたのシステムに投稿されたノードです。システム内のユーザーが複数のノードの作成者になる可能性があるため、重複が発生します。残念ながら、Distinct:Yesオプションは、ノードではなくユーザーにのみ適用されるため、オフにすることはできません。

どのように重複するユーザー名の結果を処理するには? の下にカスタムテンプレートを作成して、カスタムテーマを表示します。テーマ:情報。テンプレートの中には、レンダリングする前にViewクエリから行結果を傍受し、結果から個別のユーザー名のみをレンダリングするPHPコードを記述します。ユーザー名が既に追加されているかどうかを判断するには、ロジックを記述する必要があります。

新しいカスタム配列を作成するのと同じくらい簡単ですが、各行の結果(ユーザー名)を配列に追加しますが、最初にカスタム配列に存在するかどうかを確認します - それを投げて次のユーザーに移動する名。最後に、サイトに投稿した別のユーザー名で配列が配列されます。

voila!できます。それはエレガントではありませんが、このように構築すれば間違いなく機能します。

2 - または、このモジュールをあまり複雑ではない方法で実現することができます:http://drupal.org/project/views_customfieldしかし、私はそれを使用したことがないので、コメントできません。

幸運。希望が役立ちます。

+0

こんにちは、ありがとう、しかし、私は別のモジュールを使用して解決しました..ビューフィールドはviews_custom_field ..と呼ばれていましたが、私は必要な4つの重量のクエリを書きました..それは..newys thnxたくさん.. –

0

私のソリューションは、することでした:

  • UIDフィールド(および必要なその他のフィールド)を追加し、人々
  • のビューを作成する行スタイル用theme.tpl.phpファイルを作成します。
  • 与えられたUIDによって作成されたノードを検索するために、行を介して各ループでDB呼び出しを行います。ここで

は私に持っているものであるsemanticviewsビューフィールド-VIEWNAME.tpl.php

<?php 
    //Query the Drupal DB for nodes associated to the supplied UID 
    $existing_nid = db_query("SELECT nid FROM {node} WHERE (type = :ctype) AND uid = :uid", array("ctype" => "CONTENT_TYPE", "uid" => $fields['uid']->content))->fetchField(); 

    //If the supplied UID created content of the supplied type, then show their name 
    if ($existing_nid != FALSE) { 
    echo "Name:" . $fields['name']->content; 
    } 
?> 

この方法でのみUIDのDBで、それに関連したコンテンツが印刷されますしていること、そうでない人はそうしないでしょう。

希望に役立ちます!

関連する問題