web-dev-qa-db-ja.com

drupal_add_html_head()を使用して同じメタタグを複数回追加する方法は?

複数の画像が添付されているノードがあります。また、各画像も_<meta property="og:image" content="image_url" />_メタタグで印刷する必要があります。 drupal_add_html_head()の各画像にtemplate_preprocess_page()を使用しようとしましたが、最後の画像のみがメタタグとして印刷されます。

_function mytheme_preprocess_page(&$variables) {
...
    // add multiple og:image tags
    foreach ($images as $image) {
        $element = array(
            '#tag' => 'meta',
            '#attributes' => array(
                "property" => "og:image",
                "content" => $image,
            ),
        );
        drupal_add_html_head($element,'facebook_share_image');
    }
}
_
2
Oana Hulpoi

タグはキーごとに保存されるため、それぞれに異なるキーを使用するとうまくいきます。

$delta = 0;
foreach ($images as $image) {
    $element = array(
        '#tag' => 'meta',
        '#attributes' => array(
            "property" => "og:image",
            "content" => $image,
        ),
    );
    drupal_add_html_head($element,'facebook_share_image:' . $delta++);
}
7
Clive