Список книг в виде таблицы

Аватар пользователя Godwin Godwin 23 сентября в 11:53

Хотел бы сделать список книг в виде таблицы (многоязычный сайт), куда может быть позже будут включены просто статьи, и иметь возможность сортировки. По мере создания таблицы будут другие вопросы, а сейчас основной вопрос в том, как вывести только названия книг. Через Views выводятся сразу все страницы, а мне нужно только список публикаций. Отфильтровать по весу не получается, т.к. первая страница 0, а другие начинаются от минус 14.

Views Page создавал как: Show: Content, of type: Book page, sorted by: Title.
Как вывести только названия книг?

Комментарии

Аватар пользователя vlucas vlucas 23 сентября в 12:44

Ты выводишь анонсы сущности. Просто выводи поля - название. В настройке вьюса меняется

Аватар пользователя Godwin Godwin 24 сентября в 10:56

Так я и вывожу поля: Fields: Content: Title
Других названий из списка Fields нет. Вопрос в том, как отфильтровать эти названия кроме первого.

В таблице выводятся все названия глав. Есть другой способ вывести эти заголовки??

Аватар пользователя vladtulku vladtulku 24 сентября в 11:53

В настройках Views должно быть в разделе Формат -Показать: Поля|Настройки
Смотреть, то Вы выводите на заглавной странице. Конфигурация-Система-Основные настройки сайта-Главная страница-адрес вьюхи которую хотите вдеть(указывается в настройках вьюхи) Вьюха может состоять из нескольких отображений блок/страница... смотрим адреса

Аватар пользователя Godwin Godwin 24 сентября в 21:47

Хорошо, давайте по порядку, а то я эти обрывочные ответы не понимаю, и сам толком не объясняю.
Хочу сделать вот такую таблицу публикаций, где будут книги и статьи. Первое, что хотел сделать, это вывести список книг, какой мы видим обычно в админ панели - Books (фото).

Что я делал: Создание Views Page:
Show: Content, of type: Book page, sorted by: Title.

Page display settings: Display format: Table of fields

Вот скриншот настроек вьюса

Query (для справки)
SELECT node_field_data.langcode AS node_field_data_langcode, node_field_data.title AS node_field_data_title, node_field_data.nid AS nid
FROM
{node_field_data} node_field_data
WHERE (node_field_data.status = '1') AND (node_field_data.type IN ('book'))
ORDER BY node_field_data_title ASC
LIMIT 11 OFFSET 0

Получается такой вывод вьюса (на фото), где нужно отфильтровать только список книг. Первый вопрос относиться только к тому, КАК отфильтровать ??
Копаюсь в интернете, решения пока не нашел.
=======================
Остальные поля предполагаю сделать через таксономию. Лет 7 назад делал такую таблицу на 7-ке, думаю справлюсь. Буду рад другим идеям. Поле Intriduction - это не поле тизера, его заполнять буду отдельно, как поле для таблицы.
Пока нужна такая простенькая таблица для набивки материала, которого много. Затем буду делать таблицу на Bootstrap 4, как в этом примере (Data Table with Bootstrap 4 (Full Featured)).
===============

Аватар пользователя DivaDii DivaDii 29 сентября в 22:44

Рекомендую уйти от модуля Book. У меня были с ним проблемы, которые так и не удалось решить. Мне посоветовали перейти на модуль Entity Reference.
Это универсальное решение.
Теперь я передаю этот совет Вам.
И этот модуль может пригодиться в разных других случаях.

При этом тип материала может быть один. Пусть это будет тип Item

В типе материала сделать поле Reference - со ссылкой на тип материала Item.

Создать материал "Прекрасная Книга". В нём поставить "Публиковать на Главной" (например). Или сделать отдельный чекбокс в типе материала Item.

Потом создать следующие материалы типа Item - главы книги. В них - выбирать в поле Reference "Прекрасную Книгу" (то есть ранее созданный материал).

А потом во вьюсе фильтровать либо по "продвинуто на Главную" (перевод может быть разным) или по чекбоксу.

Аватар пользователя vladtulku vladtulku 30 сентября в 13:12

В настройках книги по умолчанию настройка пункта Тип материала для дочерних страниц стоит Страница книги как и в пункте Типы материалов, разрешённые в оглавлении книги. Создать свой тип материала для дочерних страниц или выбрать из имеющихся. Далее во вьюсе откинуть эти страницы фильтром.