Настройки отображения полей в Drupal 7

В этом уроке мы рассмотрим настройки отображения полей на примере созданного ранее типа материалов Товар.

Для начала перейдем к форме настроек выбрав пункт Управление отображением как показано на картинке ниже.

Ссылка управление отображением

Рассмотрим из чего состоит форма настроек отображения полей.

Форма настроек отображение в Drupal 7

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

Во второй колонке содержатся настройки метки для каждого поля. Эта настройка может принимать три значения:

  • Скрыто - в данном случае метка не отображается при выводе
  • В линию - метка отображается в одну линию с содержимым поля
  • Сверху - метка отображается над полем (это значение стоит по умолчанию для большинства полей)

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

Для некоторых форматов отображения могут быть доступны дополнительных настройки, в этом случае на против поля появляется иконка с шестеренкой при нажатии на которую отрывается форма дополнительных настроек отображения как показано на картинке ниже:

Ссылка на дополнительные настройки

При нажатии на шестеренку для поля Изображение открывается форма дополнительных настроек:

Форма дополнительных настроек отображения

Раздел Расширенные параметры отображения определяет какие типы отображение доступны для настройки.

Расширенные параметры настроек отображения

По умолчанию включен только Анонс. Отображение Содержимое полностью отключено, но именно его мы сейчас и редактируем так как оно и является пунктом по умолчанию.

Режим отображения

В верхнем правом углу можно переключится на настройку отображения анонса.

настройки отображения анонса в Drupal 7

Как видно из картинки выше для анонса скрыты все поля кроме Body обрезанного после 600 символов.

Теперь вернемся обратно и настроим отображение как показано на картинке ниже:

форма настроек отображения полей

С этими настройками наш товар стал выглядеть компактнее и читабельнее:

отображение товара

Таким образом можно настраивать отображение материала из административного интерфейса.

Поделись с друзьями:

Комментарии

подскажите можно как то скрыть отображение метки в управлении полями. Что бы на сайте не отображалось Название поля "image"и изображение внизу, а отображалось просто изображение.

В уроке ведь именно это и показано. Метка для поля Image скрыта в настройках отображения поля.

Спасибо разобрался.
А подскажите еще пожалуйста, а как можно добавить поле "загрузка видео". Это модуль специальный нужен? или например добавить ссылку на источник в интернете с возможностью воспроизведение на странице моего сайта?

Да, есть куча модулей для этого. Вот пара примеров: Video Embed Field, Insert Video. Ищите на drupal.org.

спасибо!

Денис спасибо Вам за очень необходимые и полезные Уроки.
не подскажите с чего начать решение моей задачи...

Имеется производство технически сложных изделий ( типа автомобиль, корабль или самолет )
Конструкционно изделия имеют повторяющуюся от изделия к изделию однотипную структуру "конструктивных элементов".( колеса, двигатель, салон и тд...)
Имеется коллектив "разработчиков",которые условно разрабатывают каждый свой "конструктивный элемент" у группы этих изделий( только колеса или только двигатель к примеру)
Имеется коллектив "сборщиков", которые имеют доступ на изменние по заданным отдельным изделиям
Необходимо создать презентационно-мультимедийную обучающую информационную систему (назовем ее так) по изделиям с доступом к ней.
Чтобы каждый "заказчик" видел только заданный модератором набор изделий ( изделие 1, изделие 3,итд...)
Чтобы каждый "разработчик" видел мог изменять только свой заданный набор "конструктивных элементов"( одни только двигатели, другие только кузов и тд) .
Чтобы каждый "сборщик" мог вносить изменния в инфу по всем элементам всех изделий.
Инфа будет в виде документов в HTML виде ( т.е форматированный html текст, jpeg, видео и тд. )
Ну админ всей системы раздает права...
Все инфа в виде иерархического веб сайта с доступом по меню из интеренета и интранета. Для юзеров "заказчиков", "разработчиков" и "сборщиков"
Необходим максимально простой интерфейс для юзеров....

Посмотрите модули Organic groups, Workbench Access и Node Access для организации прав доступа. Автомобиль, корабль и т.д. это типы материалов со связями к конструктивным элементам которые могут быть как типами материалов тоже так и терминами (в зависимости от особенностей вашей системы). Разработчик, заказчик и т.д. это роли. Интерфейс это дело вкус тут ничего посоветовать не могу.

У нас, грубо говоря, только корабли, которые имеют схожую структуру.будем называть это так. И например корпусник получает доступ ко всем корпусам всех кораблей. Куратор корабля ко всему кораблю. ( но только к нему). Директор, скаже ко всему.... А само описание корпуса конкретного корабля - это тоже некая структура вложенных мультимедийных документов...

Cпасибо, буду побывать... Ксати Node Acess в 7 друпале отсутствует... Можно обойтись без него?

Да, для 7 это Content Access. Можно обойтись без всех этих модулей и написать все правила доступа вручную.

А как при вводе содержимого отображать только те поля, которые предусмотрены ролью пользователя? И можно ли эту роль как нибудь вывести в профиль пользователя?

Извините Денис за наивные, возможно, вопросы... Я человек в Друпале начинающий...
И спасибо Вам за ответы!

Посмотрите модуль User role field. Вывести имя роли можно по разному, например перебить шаблон профиля в своей теме.

Столкнулся с такой проблемой! Двум разным пользоватеям назначил 2 разные роли. Для эксперимента в обоих ролях проставил одни и те разрешения. Почему-то в одном пердставлении в этих одинаковых с виду ролях - в одной отображается выборка из базы а в другой нет. В предсавлении стоит "досуп : роль/ несколько ролей"

Это или кэш, или доступы не одинаковые.

Вот я снова к Вам Денис за помощью...
Вот есть база с записями вида (Изделие(i), Система1, Система2, ...Система N), где Изделие - термины таксонометирии. Система(i) пока просто текстовые поля... Есть пользователи ( Системщик1, Системщик2....) которым определены роли и права доступа к своим "системам" - полям, они заполняют информацией базу в произвольном порядке. Какой модуль использовать в представлениях, чтобы группировать вывод в виде - Изделие 1 и далее все материалы по системе 1, потом по системе 2 и тд... Я пробывал Draggableviews, но там надо присваивать веса, при сортировке все расползается, даже учтывая тот факт, что в начале названия поля представления "система" используются числа вначале. Вручную присваивать веса тоже неудобно...
Потом еще... Если я в выводе по каждому конкретному изделию использую одно представление, то как мне при выводе объединить все представления по всем изделиям в одну общую конструкцию, согласно прав доступа просмотра по тем или иным изделиям?

То-есть в каждом термине Изделие есть множественное поле Система если я правильно понял. А что такое материалы по Системе 1 если система это текстовое поле?

т.е.создать некое "меню" представлений по изделиям, согласно ролям

Каждая запись базы это некая статья ( пока - такстовое поле, но в идеале - гипертекстовый документ) об Изделии i. Запись имеет поля - первое поле - это название изделия ( словарь таксономии ). Остальные поля - это поля для статей по разным системам этого изделия ( система 1, система2 и тд. ). Каждая статья ( статья i ) пишется разными пользователями ( пользователь i ) со соответсвющими правами согласно своему профилю ( ролью) к своему полю (система i ). Статей много. Они пишутся в хаотичном порядке по разным сисемам и изделиям. А некий юзер i должен увидеть группировку по изделию i вида ( Изделие i - и далее статьи в сортированном порядке - система 1 система 2 система 3....). как это группировать я не понимаю....

Вы лучше опишите в терминах сущностей предметной области или лучше составьте диаграмму, а я вам подскажу как это можно организовать в друпале. А то я ничего не могу понять из вашего описания, вы путаете понятия поля, термина и матерала и т.д.

Добрый день Денис. Сделал так как здесь описано. Но кое-что отображается не так - описание товара все равно в стиле "Сверху". В чем может быть проблема?

Вопрос решился - я ввел много текста. Но как этот прикол пофиксить? Когда много текста - он съезжает вниз и отображается в стиле "сверху".

Пример есть список изделий, например автомобиль
Автомобиль 1
Автомобиль 2
Автомобиль 3
итд

у каждого автомобиля есть составные части

Автомобиль i
Кузов
Двигатель
Салон
Электористема
итд

Конструктора разных систем заполняют базу по разным автомобилям. Понятно дело что системы разных автомобилей дург от друга отличаются

пришел электрик, заполнил поле автомобиля 3 по электрике
пришел двигателист заполнил поле автомобиля 28 по двигателю
пришел спец по салонам, напиал о салоне автомобиля 1 ...
потом электрику вздумалось написать что то по электрике авто 3 ( новое поле в записи)

"поле" это может быть гипертекстовый документ с внедренными графическитми видео файлами а может быть просто текст

Задлача чтобы при выводе все поля систем ложились ровно:

типа так

Автомобиль 1

Кузов
статья 1, статья 2...

Двигатель
статья 1, статья 2, статья 3...

Салон
статья 1, статья 2, статья 3...

итд

В настоящий момент так не выходит. Перечень автомобилей организовал через термины таксономии. И дальше пытаюсь манипулировать представлениями....

Вот другое дело, теперь примерно понятно что должно получиться на выходе.

Сделать это можно следующим образом:
Создаете тип материалов "Автомобиль" (или Изделие). И по типу материалов на каждую часть: Кузов, Двигатель и т.д. У типа материалов "Автомобиль" создаете множественные поля типа Entity reference. То-есть в одному автомобилю можно прикрепить несколько материалов типа "Кузов" и т.д. Дальше создаете несколько ролей: электрик, спец по двигателям и т.д. и настраиваете для них права доступа. Например электрик может редактировать только материалы типа "Электрика". Страница материала "Автомобиль" будет выглядеть так как вы описали по умолчанию.

У меня поле "автомобиль" это текстовая строка ( просто перечень названий ). Было реализовано через термины таксономии. А вот "кузов", "электрика" и тд. это мультимедийные документы ( привернул CKEditor,

IMCE и подобное ) . Пока не понятно как реализовать виджет при прикреплении к типу материала "автомобиль" подчиненнные ему типы материала типа "кузов", "электрика" и тд.
Если я выбираю тип поля Entity reference то типы виджета "флажки/переключатели", "выбор из списка", "автозаполение" не подходят"

Я создал типы материалов "кузов" "электрика" итд и к каждому типу привязал таксономию тип материала "автомобиль". Таким образом я могу сортируя по таксономии вывести в представлении по порядку ( сгруппировать)Автомобиль 1

Кузов
статья 1, статья 2...

Двигатель
статья 1, статья 2, статья 3...

Салон
статья 1, статья 2, статья 3...

Но как только прикрепляю к этому представлению форму выбора "автомобиля", так у меня статьи опять не по порядку

автомобиль

кузов статья 1
салон статья 1
кузов статья 2
салон статья 2

хотел настроить сортировку по draggable views но веса в нем присваиваются конкретным записям а мне надо типам ( кузов двигател...)

Я вижу что вы продолжаете путаться в понятиях: поле, термин, тип материалов и т.д. Учите мат. часть и прочитайте внимательно мой предыдущий комментарий. Больше ничем помочь не могу.

Вы писали :"У типа материалов "Автомобиль" создаете множественные поля типа Entity reference. То-есть в одному автомобилю можно прикрепить несколько материалов типа "Кузов" и т.д."

Вот это не понятно...Каким образом с помощью entity reference прикрепить так к "автомобилю" "кузов", чтобы потом пользователь через "добавить содержимое" вводил в базу гипертекстовый документ ("текстовый документ с анонсом")
Вот это не понятно? Какой виджет выбрать чтобы пользователь вводил свой "кузов" как "текстовый документ с анонсом" ? http://rusfolder.com/44009517

Любой виджет подойдет. Виджет это тип механизма ввода, но все они выполняют одну и туже задачу. Но лучше конечно выбрать виджет автодополнение так как материалов типа кузов будет много.

Как будет проходить процесс заполнения? Пример: Специалист по кузовам создает материал типа "Кузов". Дальше он заходит на страницу редактирования материала "Автомобиль" и в поле Кузов выбирает только что созданный материал типа "Кузов" (прикрепляет его к материалу "Автомобиль 1"). Таким образом он может добавлять сколько угодно материалов типа кузов к одному автомобилю.

Не знаю что именно вы имеете ввиду под гипертекстовым документом, отдельный файл или просто кусок HTML, но это не имеет разницы в данном случае. Типу материалов Кузов вы можете добавлять любые поля, он является отдельной сущностью.

При выборе связи материала "автомобиль" и материала "кузов" посредством entity reference Друпалом предлалагется выбрать их списка, который озаглавлен "виджет" и перечень дается - "флажки/переключатели", "выбор из списка", "автозаполение". Я игрался этим списком - нет там "тексового поля с анонсами"
Честно говоря, сомневаюсь, что наши профильные спецы согласятся осваивать "программирование" в друпале. А иначе как реализовать "прикрепление" поля? Предполагалось, что пользователь наберет пароль, войдет и ему высветиться список полей, которое он будет заполнять согласно заранее определенному ему админом перечню прав в редакторе типа ckeditor
Говоря "гипертекстовый документ" я имел в ввиду кусок HTML с сылками, графикой, видео и тд. Но для пользователя должно быть все упрощено. Он вводит в редакторе текст с внедеренными графикой и видео ( как бы работает в простом HTML редакторе).

и главная проблема что сортировка не выходит - по типам материала.
Тоесть должно быть так - пользователь заходит и видит меню - атомобиль такой, атомобиль такой и тд... Выбирает автомобиль 1 и ему высвечивается : Кузов: и в ВСЕ материалы по кузову. 2. Двигатель и все матералы по двигателю.
Все сделал кроме сортировки. ( В предсавлениях пробывал, dragagableviews требует вводить всеса полей - не вариант, группировка полей и тд. ) Чтоопробывать еще ?

Мы с вами говорим на разных языках. Я больше ничем помочь не могу.

А я думал на русском %)
Просто я начинающий друпалист , возможно говорю "на языке чайника", поэтому Вы меня "не понимаете"...

Помогите еще пожалуйста уже по другому вопросу

Я вывожу информацию в виде блоков, к блокам привязаны представления соотвественно...
Если я захожу админскими правами я вижу админское меню и редактирую содержимое через него #overlay=admin/content. А пользователю как права назначить? доступ к админскому меню я не хочу ему давать...

Можно вывести ему меню со ссылкой на admin/content и дать право доступа "Управление материалами".

а в чем посоветуете организовать многоуровневое пользовательское меню? Через него планируется вывод с помощью views и ввод разных типов материалов. Соответсвенно чтоб была настройка видимости пунктов в зависимости от роли...
Пытался сделать с помощью стандартного user-menu, но там надо обязательно указывать адрес каждого пункта меню. А как это сделать если пунктом меню является вложенное меню - я пока не понял....

Извините, я ничего не понял из вашего описания.

С помощью чего сделать меню пользователя? Там будут пункты типа "ввод информации по "автомобилю". При выборе этого пункта открывается подменю "ввод информации по двигателю", "ввод информации по салону" итд. Аналогичное подменю пользователям с правами пользователя "только чтение из базы". Вопрос состоял в том - "как именно организовать вложенность различных меню"....
Заранее спасибо Вам за помощь!

Меню можно делать многоуровневым. Вложенные меню тут не нужны. Можете сделать одно большое многоуровневое меню и использовать модуль Menu item visibility чтобы каждой роли был виден только необходимый набор ссылок.

Спасибо так и сделал! А еще вопрос....
Для ввода мультимедийного контента в текст ( видео, аудио, презентации power point) пытаюсь поставить модуль media и интегрировать его с WYSIWYG редактором CKEditor. Но с сожалению выскакивает ошибка Fatal error: Call to undefined function media_browser_js() in L:\home\мой сайт.ru\www\sites\all\modules\ckeditor\includes\ckeditor.lib.inc on line 893. Не сталкивались? Что может быть? Или может какой другой модуль посоветуете? Нужно максимально прозрачный для пользователя. Увидел файл, загрузил на сервак, вывел в документ, скопипастил текст и готов документ...

и главное забыл написать... главное чтобы это в тексте проигрывалось с нашего сервака а не скачивалось локально на комп пользователя с последующим проигрыванием в его плеере. При этом недопустимо использование внешних хостингов типа youtube. Например я настроил плеер uppod, но к сожалению изменение дизайна плеера у него платные...

Думаю MediaFront подойдет и изменять его внешний вид можно бесплатно.

А как к Ckeditor его прикрутить? в Upodd кнопка сразу появлялась а тут нет ее... И от Uppod кнопка пропала... Прямо Адынэс какой-то....

Почитайте документацию по Ckeditor

К сожалению адекватной инструкции на русском нет. Ссылочки не завалялось?
Я например разбираясь с readme модуля MediaFront зашел в тупик. Например в readme описывается как сделать плеер с превьюшками ( текст readmу ниже ). Делаю соотвественно вьюху (представление) Так вот слово "Configure Header" переводчик переводит как "настройка заголовка" и я спокойно думаю про "Содержимое: Заголовок". оказывается это он про "Шапку".
Вот тот фрагмент readme.

B. View with one large media player and a grid of files below

1. In your View, hit Add page under the Displays section.
2. For Display name, we will name it Media Grid.
3. Under Format, set Format to Grid and apply to this page.
Hit Apply (this display).
4. Under Header, select Global: MediaFront Player for This page.
Hit Apply (this display).
In Configure Header, set MediaFront Presets to
player. Under MediaFront Settings, field type should be set to none. Apply
this display.
5. Under Page Settings, set Path to media-grid. Hit Apply.
6. Visit yoursite/media-grid. You should see a large media player with a grid
of files below the player.
7. Optional: If you want the files below the player to control the player,
see Section D of Creating and Configuring Playlists Using Views.

Чтобы я не творил - все равно выходит один файл графический и один видео выводится...

Казалось бы что проще - в произвольном месте документа загрузить файл на сайт (фото/видео/презентацию) а во view эти видюшки выводить.... текст/ видео. Ан нет - такие вавилоны приходиться накручивать...

Добрый день! и у меня появился вопрос))

Подскажите пожалуйста как вывести поля в 2 колонки. в 1 колонке название полей, во 2 колонке значения. Чтоб значения во второй колонке были выровнены по левому краю.

Отформатировать с помощью CSS.

Приветствую! Денис, подскажите как реализовать следующее.

В материале надо сделать список полей типа:

"Категория №1: <Переменная №1> <Переменная №2> и т.д.

Надо добиться чтобы в зависимости от того или иного ответа в тесте, эти переменные автоматически менялись.

Как это сделать?

Подскажите пожалуста.
У меня есть стандартный тип записей, есть стандартное поле фото, как мне созлать свой формат вывода поля что б к фото был абсолютный (полный) путь, тоесть не img src="/sites/default/files"
а вот такой
img src="http://mydomain.de/sites/default/files"

Смотрите theme_image и hook_preprocess_HOOK. Вы можете в теме в фале template.php написать препроцесс функцию [theme_name]_preprocess_image и в ней подменять path. Либо использовать hook_file_url_alter

Огромное спасибо за направление, я раньше использовал wordpress но drupal даже новый 8-ой насколько гибкий и продвинутый что иногда я теряюсь с какой стороны подойти. drupal для вебмастера рай.
Завтр попробую ваш совет.

Было бы очень приятно подписываться на коментарии ).