Drupal 8を使用しています。ティーザーディスプレイからフルディスプレイにリンクする、ユーザープロファイルに "続きを読む"リンクを設定したいのですが、どうすればよいですか?
ノードのコンテンツタイプは、「リンク」フィールドをティーザーディスプレイのボックスから取り出します。
これを行うには、ビューを使用して、ユーザーページのリンクのコードを提供し、次の手順に従います。
1。デフォルトで完全なユーザープロファイルを作成するDrupalアカウントページ:
1.1 fullDisplay(Admin/Configuration/Account setting/Manage field)で必要なものをデフォルトのユーザープロファイルのすべてのフィールドに追加します。したがって、どのユーザーもアカウントを作成するときに、すべてのセクションに入力する必要があります。たとえば、My Fullユーザープロファイルには次のフィールドがあります。
2。ティーザーディスプレイを作成します
2.1 teaserDisplayで不要なフィールドを非表示にします。そこで、ユーザープロファイル設定ページ(管理者/構成/アカウント設定/ディスプレイの管理)で、ティーザーディスプレイに表示したくないものを非表示にします。私の設定では、バイオを隠したいと思います。したがって、このフィールドはManage Displayで非表示にします。
したがって、現在のユーザープロファイルフィールド設定は次のとおりです。
今、この段階まで、DrupalのデフォルトのアカウントページをteaserDisplayに設定しましたが、fullDisplayに必要なフィールドを同時に作成したため、非表示のままにしましたが、ビューを使用してこれらの非表示フィールドをすべて表示します
3。ビューを作成します-fullDisplay
3.1新しいビューページを作成し、[ビュー]設定で[ユーザー]を選択します。ページャーの下で、1つのアイテムを選択します。 3.2設定ページで、次の画像に示すように、以下のすべての設定を追加します。したがって、ここでは、ユーザープロファイルページで非表示にしているBioフィールドにアクセスしています。
コンテキストフィルター設定:コンテキスト設定の下でUser: User ID
を選択し、その下でDisplay all results for the specified field
を選択します。
パス:ビューに表示されているように、パス/user/%/view-page
を設定します。私はここで最後の部分、/view-page
をここに残しました。以前試していたとおり、full-profile
に変更できますが、すべての場所で変更する必要があります。
4。teaserDisplayページでリンクを設定する(fullDisplayにリダイレクトできるようにするため)
リンクを提供するには、リンクはURLからユーザーIDを取得し、ビューのURLでそのユーザーIDを渡すことができる必要があります。これにより、ビューのコンテキストフィルターは、リダイレクトされた場所からそのユーザーの結果を提供できます。したがって、これを解決するために別の質問をし、以下に示すように答えに従うことができます。そこからコピーする必要があるため、私は回答を提供していません。
@ ShawnConn は、ユーザーページにリンクを追加する方法についての回答を提供しています。フルクレジットは、この回答の @ ShawnConn に送られます。
5。出力画像:
teaserDisplay-デフォルトユーザーページ
フルディスプレイ-bioフィールドのあるビュー
これで、必要な数のフィールドを追加できるようになりました。ティーザーディスプレイに表示されないようにフィールドを非表示にし、fullDisplayページに表示されるようにビューに表示します。
あなたができることはあなた自身のカスタムティーザーを作成することです。
フィールド、タイトル、写真の使用、ユーザーの略歴(フォーマッターの場合は Summary or trimmed を使用できます)、および必要なその他のフィールドを追加します。
User IDまたはUser Nameをフィールドとして追加します。 (完全なプロファイルビューのURLが/ fullprofile/[name]?または/ fullprofile/[uid]かどうかによって異なります)
<a href="/fullprofile/{{ uid }}">Read more</a>
OR with {{ name }}
プロフィールページビューの完全なURLは次のようになりますfullprofile/%
パラメータとして2番目のURLを取得するユーザーIDまたはユーザー名のコンテキストフィルターを使用します。