В Views нет возможности добавить поле "Нефильтруемый текст"

Главные вкладки

Аватар пользователя vnik vnik 25 декабря 2020 в 14:39

Здравствуйте, столкнулся с такой проблемой:

В представлениях Drupal 7 в модуле Views при добавлении поля нет варианта "Нефильтруемый текст".

В других местах он есть. Вот например при добавлении в Шапку:

Может кто-то сталкивался?

Комментарии

Аватар пользователя VasyOK VasyOK 26 декабря 2020 в 3:45

Ну так пользовательский текст добавьте. И формат ввода хоть фильтруемый, хоть нефильтруемый под него можете добавить, если существующие не устраивают.

Аватар пользователя vnik vnik 26 декабря 2020 в 9:47

Пользавательский текст не отображает html теги, а мне нужно чтобы их видно было... А как добавить нефильтруемый формат ввода, подскажите пожалуйста?

Аватар пользователя VasyOK VasyOK 26 декабря 2020 в 12:52

Посмотрел. В 7ке нет из коробки возможности указывать там формат ввода.
Там написано "Вы можете использовать HTML, а также подстановочные шаблоны, указанные ниже."

Какой HTML у вас не выводится?

Аватар пользователя vnik vnik 26 декабря 2020 в 16:28

Мне нужно внести правки в rss ленту, я перебираю разные способы, пытаюсь через пользовательский текст добавить тег... Но нужный мне тег съедается в xml:

У меня есть в разметке тег yandex:official-comment внутри него должен быть подтег yandex:comment-text в котором выводится тип поля с текстом "Здесь будет официальный комментарий" (к примеру).

Вот так я пишу:

А выводится это вот так:

То есть пользовательский текст скрывает теги, а выводит только содержание подстановочного шаблона [field_offcomment]...

Пробовал через Глобальный: PHP, там теги отображаются, но содержимое нужного мне поля $row->field_offcomment не выводится... Непонятно почему. Вот я и подумал, что необходим "Нефильтруемый текст".

Если есть другие верные пути решения, буду очень рад подсказке!

Аватар пользователя VasyOK VasyOK 26 декабря 2020 в 18:05

Глобальный: PHP лучше не использовать вообще.
Можете переписать вывод для поля? Выводите поле комментария, далее справа Информация и найдете шаблон поля.
Инструкция:
https://vaden-pro.ru/blog/drupal/temizaciya-poley-views-drupal-7

Аватар пользователя vnik vnik 26 декабря 2020 в 20:00

Честно, с трудом, но я вроде с этим разобрался... Подключил свой шаблон:

Мой фаил views-view-field--yandex-rss--yandex-news--nothing.tpl.php подключился к теме, но как им правильно воспользоваться? Инструкция на этом обрывается)

Я не могу понять в каком формате информацию мне в него вписывать... и не могу понять, как его отобразить в Views... В полях-то у меня ничего не изменилось...

Если не затруднит, пожалуйста, опишите как действовать дальше.

Аватар пользователя VasyOK VasyOK 26 декабря 2020 в 20:08

На скрине видите ссылку "Поле Глобальный:..."
Туда заходите и копируете предлагаемый код в файл views-view-field--yandex-rss--yandex-news--nothing.tpl.php
и уже в своем файле изменяете вывод с любыми тегами.

Аватар пользователя vnik vnik 27 декабря 2020 в 11:59

Но там только закомментированный текст:

<?php

/**
 * @file
 * This template is used to print a single field in a view.
 *
 * It is not actually used in default Views, as this is registered as a theme
 * function which has better performance. For single overrides, the template is
 * perfectly okay.
 *
 * Variables available:
 * - $view: The view object
 * - $field: The field handler object that can process the input
 * - $row: The raw SQL result that can be used
 * - $output: The processed output that will normally be used.
 *
 * When fetching output from the $row, this construct should be used:
 * $data = $row->{$field->field_alias}
 *
 * The above will guarantee that you'll always get the correct data,
 * regardless of any changes in the aliasing that might happen if
 * the view is modified.
 */
 
?>
<?php 
print $output?>

И, чего бы я там не писал, ничего не отображается в ленте...

Аватар пользователя vnik vnik 27 декабря 2020 в 13:00

Спасибо, с этим разобрался, у меня там ещё и во вьюсах не так поля были выбраны. А не подскажете как вывести поле? В я совсем не знаю php...

Вот это мне надо как то вывести:

<yandex:comment-text>
[field_offcomment]
</yandex:comment-text>

То есть вместо [field_offcomment] должно быть его содержимое... Гуглил и методом научного тыка пробовал варианты типа:

<?php  $row->field_offcomment; ?>

Но на этом месте просто пустота..

Аватар пользователя VasyOK VasyOK 27 декабря 2020 в 13:23

так в сам пользовательский текст несколько полей заверните безо всяких php (я его тоже не особо знаю)