Как в поле views вывести Тайтл от модуля metatag?

Аватар пользователя Alex1989_drupal Alex1989_drupal 7 марта в 13:59

Всем привет.

По умолчанию views позволяет вывести заголовок для представления. И это H1 ноды на странице (он же Элемент модуля Node).

Можно ли вывести не Заголовок, а именно тайтл (<title></title>), который формируется модулем metatag?

Комментарии

Аватар пользователя Alex1989_drupal Alex1989_drupal 7 марта в 14:00

Формально какими будут тэги во вьюшке не важно. Важно чтобы информация бралась из (<title></title>), а не из Node titile

Аватар пользователя voviko voviko 8 марта в 10:48
1

те вы ноду через views выводите? или блок ?
Можно получить значение тайтла

<?php
$node
->metatags[LANGUAGE_NONE]['title']['value']
?>

поставить тайтл в views

<?php
function MYMODULE_views_pre_render(&$view) {
  if (
$view->name == 'menu') {
    
$view->build_info['title'] = $node->metatags[LANGUAGE_NONE]['title']['value'];
  }
}
?>
Аватар пользователя charOFF charOFF 17 марта в 16:27

Если я правильно понял и нужно вывести список тайтлов материалов сайта, то можно в настройках вьюса добавить поле nid, а в кастоме менять на title

<?php

function custom_main_views_pre_render(&$view) {
  if (
$view->name == 'all') {
    foreach (
$view->result as &$row) {
      
$node node_load($row->nid);
      
$row->nid = isset($node->metatags[LANGUAGE_NONE]['title']['value']) ? $node->metatags[LANGUAGE_NONE]['title']['value'] : '[Тайтл не задан]';
    }
  }
}

?>
Аватар пользователя Alex1989_drupal Alex1989_drupal 17 марта в 15:07
<?php
function custom_main_views_pre_render(&$view) {
  if (
$view->name == 'all') {
    
$view->build_info['title'] = $node->metatags[LANGUAGE_NONE]['title']['value'];
  }
}
?>

Не выводит блок с тайтлами нод. Что здесь неправильно? имя моего кастомного модуля- custom_main и он включен. Машинное имя views - "all"

Аватар пользователя VasyOK VasyOK 8 марта в 11:55

Можно сделать дополнительное текстовое поле из которого будет формироваться тайтл. Из этого же поля создать блок заголовок через views.