ユーザーが最近作成したノードをプロファイル ページに表示する方法を知りたいです。/user/%user にユーザー用の新しいページを作成しました。そのユーザーが作成した最新のノードを表示できるようにしたいと考えています。
3 に答える
わかりました。答えにはDrupalビューの作成が含まれるため、ビューモジュールが必要になります。単純ですが、答えは長くなります。これを通して私に耐えてください...:)(私が指示を書いている間、私は実際にテストサイトでこれを行っています、私が何かを見逃さないことを確認するために...)
私はあなたがviewsモジュールをダウンロードしてインストールする方法を知っていると思います。views-uiモジュールも有効にしていることを確認してください。
- サイト構築->ビュー->追加に移動します。
- ビュー名には「recent_posts_by_user」、説明には「ユーザーによる最近の投稿」、ビュータイプには「node」を入力します。次にヒットします。
- 「デフォルト」ビュータイプの下の「フィールド」ブロックで、「+」記号を押します。
- [グループ]でノードを選択し、[ノードタイプ]、[ノードタイトル]、[ノード更新日]の各フィールドを確認します。リストの下にある「追加」ボタンを押します。
- 基本設定ブロック(左側)の下で、「表示するアイテム」の「10」をクリックし、「5」またはページごとに必要な数のアイテムに変更して、「更新」をクリックします。
- [ポケットベルを使用]で、[いいえ]と[フルポケットベル]または[ミニポケットベル]をクリックして、もう一度[更新]をクリックします。
- スタイルの下で、「フォーマットされていない」を押して「テーブル」に変更し、すべてのフィールドをソート可能に設定してから、「更新日」を「デフォルトのソート」として選択し、「デフォルトのソート順」で「降順」を選択します。更新を押します。
- 「保存」をクリックして、これまでの進捗状況を保存します。
デフォルトの表示が行われます。わーい!ブロックを追加しましょう
- 「ページ」というドロップダウンで、「ブロック」を選択し、「表示の追加」をクリックします。
- 「引数」(画面中央のブロックタイトル)を押す
- 「オーバーライド」と「更新」を押します
- 「引数」の右側にある「+」記号を押します
- [グループ]ドロップダウンで、[ユーザー]を選択し、[ユーザーID]を選択します。「追加」を押す
- [引数が存在しない場合に実行するアクション]で、最後のオプション[デフォルトの引数を指定する]を選択し、[URLからのユーザーID]を選択して、[ノードを検索し、ノードの作成者を使用する]をオンにします。
- 「バリデーター」の下で、「ユーザー」と「数値UIDと文字列ユーザー名の両方を許可する」を選択します
- [引数が検証されない場合に実行するアクション]で、[ビュー/ページが見つかりません(404)を非表示にする]を選択します
- 「更新」を押してから「保存」を押します
ビューが作成されました。正しいページに表示されることを確認してください。
- サイト構築->ブロックに移動し、「ユーザーによる最近の投稿」ブロックを検索して、「構成」をクリックします
- 一番下までスクロールして、[リストされたページにのみ表示する]を選択します。「ページ」テキスト領域の下に「users/*」を入力します
- 「ブロックを保存」を押す
- ここで、「ユーザーによる最近の投稿」ブロックを再度見つけて、「コンテンツ下部」リージョン(またはテーマで使用可能な他のリージョン)に設定します。
- 「ブロックを保存」を押す
終わり!ロケット科学ではありませんが、長いプロセスです... drupal 6ビューは、drupal 5よりもはるかに優れています!:)
次に、ユーザーページhttp:// site / users / usernameにアクセスして、テーブルが表示されるのを確認してください。
それでもビューについて質問がある場合は、私に連絡してください。
楽しい
URL 引数からのユーザー ID を使用する Views 引数を入れます。arg(1) になります。見ているプロファイルによって作成されたコンテンツをフィルタリングする必要があります。これは、ブロックまたはコンテンツ ペインで機能します。
[ビュー]->[並べ替え基準]に移動し、Node:Updated Dateを追加して、時間の経過に伴う粒度が表示されるので、降順としてマークすることをお勧めします。
さらに、テーブルスタイルだけでなく、すべての最新ノードを取得することもできます。