web-dev-qa-db-ja.com

カスタムメタタグをビューページに追加するにはどうすればよいですか?

Drupal 8の回答はまだありません。 メタタグモジュール をインストールしました。これは素晴らしいモジュールですが、ビューにまったく対応していないようです。 この投稿 for Drupal 7は、「メタタグビュー」モジュールが付属していると述べていますが、これはDrupal 8には当てはまらないようです。 metatag quick もインストールしようとしましたが、何もできません。だから私は行き詰まっています。 D8でこれをプログラムで行う方法はありますか?どうすればこれを達成できますか?

7
Josh Coast

私のコメントがこの質問への回答を提供すると私は実際に信じています。まだできません...

しかし 問題 を見ると、現時点ではかなり活発で、最初のリリース候補として計画されています。 パッチが利用可能 があり、cgmonroeはモジュールのベータ11バージョンで動作すると主張しました。

したがって、ビューの統合が含まれている可能性が高いRC1がリリースされるまで待つか、パッチの適用を試みることができます。

2
Neograph734

Metatagモジュールの現在のバージョンには、サブモジュール「Metatag:Views」が含まれています。これを有効にすると、ビューエディターで新しいセクションを取得して、使用可能なすべてのメタタグを設定します(特定のタグは、他のサブモジュールでdrupalの方法で)使用できます)。 metatag: views

10
nessunluogo

メタタグモジュールが追いつくのを待つ間、テーマの.themeファイルで次のようなものを使用しています。

<?php

function THEMENAME_preprocess_html(&$variables) {
    // Set up the tag structure that's always the same no matter what page you're on
    $tag = array(
        '#tag' => 'meta',
        '#attributes' => array(
            'name' => 'description',
            'content' => FALSE,
        ),
    );

    // Switch on the current page path. Apparently Drupal 8 paths have leading slashes now
    switch(\Drupal::service('path.current')->getPath()) {
        case '/your/view/path':
            $tag['#attributes']['content'] = 'Your view’s description';
            break;
        case '/another/view/path':
            $tag['#attributes']['content'] = 'Another view’s description';
            break;
    }

    // Only add the tag if an option matched the current path
    if($tag['#attributes']['content']) {
        // 'THEMENAME_meta_description' is my best guess for a good identifier.
        // Maybe there's something better?
        $variables['page']['#attached']['html_head'][] = array($tag, 'THEMENAME_meta_description');
    }
}
1
75th Trombone

私はすべてのビューページをブロックにして、そのブロックを基本ページに追加することになりました。そこから、メタタグを自由に編集して追加できます。理想的なソリューションではありませんが、新しいモジュールがリリースされるまでは問題ないでしょう。この問題に光を当ててくれた@ Neograph734に感謝します。

1
Josh Coast

次の手順を実行してください。
1)インストール metatag モジュール
2)有効にします3)メタタグの子モジュールである "Metatag:Views"モジュールを有効にします
4)キャッシュをクリアします
5)ビューページに移動
6)「言語」の下に「META TAGS」オプションが表示されます
enter image description here 7)「デフォルトの使用」オプションをそのままにするか、それをクリックしてページのメタタイトルを変更します
8)このタイトルは、デフォルトの言語コンテンツに設定されます
9)他の言語のコンテンツの場合、同じビューのページを翻訳する必要があります
10)まず、ビューを翻訳します
11)翻訳されたビューを編集する
12)「ページ表示設定」の下の「ページタイトル」を検索してください
enter image description here 13)それに応じてタイトルを変更します
14)保存する
15)変更される他の言語のページのメタタイトルを確認します
16)反映されていない場合は、キャッシュをクリアしてください

0
user50292