Bagaimana cara mendefinisikan Meta tag pada Views? [Tutup]

8

Apakah ada modul atau beberapa konfigurasi yang dapat saya tetapkan meta tag untuk tampilan halaman tampilan di drupal 7 menggunakan Views 3.0?

Luiz Guilherme
sumber

Jawaban:

7

The Meta tag cepat modul memungkinkan Anda untuk menentukan Meta tag berdasarkan jalan untuk pandangan Anda. Jika Anda mengaktifkan tag meta berbasis jalur, Anda akan melihat tautan 'Edit tag meta' pada halaman tampilan (penting - tidak di layar edit tampilan!).


sumber
Bagus, saya menggunakan versi 1.9. Fitur ini untuk menandai halaman berdasarkan url hanya pada versi 2.0 beta. Terima kasih.
Luiz Guilherme
Bagi saya itu adalah tab berjudul "Path-Based Metatags" pada halaman itu sendiri (frontend). Juga harus memastikan render($tabs)dicetak page.tpl.php.
leymannx
12

The metatag modul memiliki integrasi dilihat dari kotak karena 7.x-1.0-beta2.

Instal submodule metatags_views dan Anda akan mendapatkan opsi metatag di UI tampilan untuk tampilan halaman tampilan apa pun (komentar Paul Querol di bawah).

milkovsky
sumber
2
Terkejut jawaban ini tidak mendapatkan lebih banyak cinta ... Jika Anda menggunakan modul metatag kemudian instal submodule metatags_views dan Anda akan mendapatkan opsi metatag di UI tampilan untuk tampilan halaman tampilan apa pun.
Paul Querol
Setuju. Tetapi jawaban di atas adalah pada tahun 2011. Tidak ada submodule metatags_views saat itu. Anda dapat menambahkan teks tentang submodule metatags_views ke dalam jawaban saya jika Anda mau.
milkovsky
1

Jika Anda tidak ingin menggunakan "Metatags Berbasis Path" seperti yang disebutkan sebelumnya, Anda bisa membuat bidang metatags_quick default ditambahkan ke istilah itu sendiri berfungsi seperti yang diinginkan dengan pendekatan berikut. Berikut adalah contoh bagaimana saya melakukannya dengan robot dan bantuan drupal_add_html_head():

/**
 * Implements hook_preprocess_HOOK()
 */
function MYMODULE_preprocess_page(&$vars) {
  // if this is a term page and not being edited
  if (arg(1) == 'term' && is_numeric(arg(2)) && is_null(arg(3))) {
    // if this is a Views page
    $view = (array)views_get_page_view();
    if (!empty($view)) {
      // if metatags_quick robots are set
      $term = taxonomy_term_load(arg(2));
      if (isset($term->meta_robots) && !empty($term->meta_robots[LANGUAGE_NONE][0]['metatags_quick']))

      $element = array(
        '#tag' => 'meta',
        '#attributes' => array(
          'name' => $term->meta_robots[LANGUAGE_NONE][0]['meta_name'],
          'content' => $term->meta_robots[LANGUAGE_NONE][0]['metatags_quick']
        ),
      );
      drupal_add_html_head($element, 'MYMODULE');
    }
  }
}
leymannx
sumber
-1

Solusi paling lurus ke depan adalah menambahkan tampilan sebagai blok di dalam node, dan kemudian menggunakan modul seperti Metatag untuk menempatkan metatag pada node.

Menghindari masalah integrasi tampilan. Juga memberikan manfaat remah roti, menu, pathauto, dll. Semua lebih mudah diatur ketika halaman adalah node daripada tampilan.

DougF
sumber
Mengundurkan diri karena saya tidak melihat ini layak dalam banyak kasus, seperti situs yang memiliki beberapa argumen kontekstual pada tampilan, dan meta perlu berbeda untuk argumen tampilan berbeda.
Phizes