нужна помощь по views решено

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

Аватар пользователя pifagor87 pifagor87 23 января 2012 в 11:32

Суть проблеми состоит:
Есть 8 типов материала (дома, квартиры, участки и. т. д). Есть 3 поля Количество комнат, вид недвижемости и площа.
Каждое поле имеет выпадающий список например(количество комнат->1, 2, 3, 4, 5) и т д.
Нужно отсортировать материал по етих полях (при етом при выборе материала участок, должно пропадать поле - количество комнат)
Нужно фильтровать материалы и выводить результат в табличку, при етом на каждый материал своя табличка (имеет разное количество полей, не содержа пустые поля), и все ето выводить на одну страницу.
Пробовал реализовать с помощю cck, views, taxonomy term.
У меня проблема состояла в том, что я сделал несколько вюшек типа page.
Как вывести несколько вюшек типа page на 1 странице.
Или может у кого то есть идея попроще как все ето реализовать.
Очень нужна помощь!
Заранее спасибо.

Комментарии

Аватар пользователя aa2007 aa2007 23 января 2012 в 12:56

"pifagor87" wrote:
Нужно отсортировать материал по етих полях (при етом при выборе материала участок, должно пропадать поле - количество комнат)

делается отдельный views для этого типа с нужным набором exposed filters.
и отдельный для всех остальных типов.
"pifagor87" wrote:
Нужно фильтровать материалы и выводить результат в табличку, при етом на каждый материал своя табличка (имеет разное количество полей, не содержа пустые поля), и все ето выводить на одну страницу.

это геммор с темизацией вывода придется заморачиваться. плюс не факт что поможет. Проще либо для каждого типа, своя страница, либо на одной, но однообразно.
"pifagor87" wrote:
Как вывести несколько вюшек типа page на 1 странице.

сделай их вложениями либо блоками.

Аватар пользователя pifagor87 pifagor87 23 января 2012 в 13:36

"aa2007" wrote:
"pifagor87" написал(а):
Как вывести несколько вюшек типа page на 1 странице.
сделай их вложениями либо блоками.

если вюшка блоками, то пропадает выпадающий список (в вюшке нельзя вибрать exsposet)

Аватар пользователя pifagor87 pifagor87 23 января 2012 в 17:44

"aa2007" wrote:

можно еще  Views Fieldпопробовать

у меня 6 версия друпала, может у когото другие мыслы пришли на счет организации вюшки?
и еще вопрос, как в вюшка выведенной с помощю таблицы, обрать пустие колонки (которые отвечают за другой тип материала)

Аватар пользователя torquemada torquemada 24 января 2012 в 3:02

1. В фильтры добавляете открытый фильтр по типу материала.
2. Каждое поле просите скрываться если пустое (hide if empty)

При выборе материала у вас будут только те поля которые заполнены, остальные из листинга пропадут. Визуально такие таблички можно темизировать стилями как есть. Если этого не хватит, то можно увеличить потенциал темизации трюком в ключе:
-первым полем ставим поле с типом материала.
-выбираем "переопределить вывод поля"
-пишем что-нибудь вроде <div class="[сюда_токен_типа_материала]">
-последним полем global:custom text закрываем див. В результате можно будет назначить уникальные стили элементу листинга в зависимости от того, к какому типу материала он относится

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

Аватар пользователя pifagor87 pifagor87 24 января 2012 в 11:55

torquemada wrote:

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

я не знаю как ето сделать.
Нужен организовать поисккак тут реализовано.
обясните чайнику, или дайте ссилку, как ето сделать (и возможно ли)

Аватар пользователя pifagor87 pifagor87 24 января 2012 в 16:35

Quote:

2. Каждое поле просите скрываться если пустое (hide if empty)

в табличке поле всеравно остается (пустой столбик)
Quote:

-первым полем ставим поле с типом материала.
-выбираем "переопределить вывод поля"
-пишем что-нибудь вроде <div class="[сюда_токен_типа_материала]">
куда ето писать?
Quote:

-последним полем global:custom text закрываем див. В результате можно будет назначить уникальные стили элементу листинга в зависимости от того, к какому типу материала он относится

и ето куда писать?
и как создать вложение вюшки?

Аватар пользователя pifagor87 pifagor87 25 января 2012 в 11:17

torquemada wrote:
1. В фильтры добавляете открытый фильтр по типу материала.
2. Каждое поле просите скрываться если пустое (hide if empty)

При выборе материала у вас будут только те поля которые заполнены, остальные из листинга пропадут. Визуально такие таблички можно темизировать стилями как есть. Если этого не хватит, то можно увеличить потенциал темизации трюком в ключе:
-первым полем ставим поле с типом материала.
-выбираем "переопределить вывод поля"
-пишем что-нибудь вроде <div class="[сюда_токен_типа_материала]">
-последним полем global:custom text закрываем див. В результате можно будет назначить уникальные стили элементу листинга в зависимости от того, к какому типу материала он относится

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


можна более детально?

Аватар пользователя pifagor87 pifagor87 24 января 2012 в 17:15

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

Аватар пользователя pifagor87 pifagor87 24 января 2012 в 18:21

torquemada wrote:
А как вы метки делаете?

в fields -> контент (поле cck)->

Label:
None
Widget label (кол_поверх_д)
Custom-> собственное название поля.
выбираю в випадаючому списке квартиры - поля пустые от домов закрыты, но (если присутстует метка например "количество поверхов дома" - выводится все равно, если убираю метку - они пропадают как и нужно.)
пробема в том, что метки нужны (они описывают к чему поле относится), а как их убирать при пустом поле, как ето делается с самим полем?

Аватар пользователя torquemada torquemada 24 января 2012 в 19:39

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

Аватар пользователя pifagor87 pifagor87 10 ноября 2015 в 11:48

"torquemada" wrote:
основных настройках слева есть "стиль". Там есть чекбокс "скрывать если значение пустое". И в самом поле аналогично. Убедитесь что оба чекбокса стоят, у вьюс нет проблем со скрытием лейбла пустого поля.

вы имеете ввыду style?там стоит таблица.
в самих полях вывода (cck) все на картинке.
на последней картинке стиль самой таблицы.
ткните пальцем чайнику, что здесь не так?

Аватар пользователя torquemada torquemada 24 января 2012 в 20:23

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

1. Пересмотрите лейаут в пользу unformatted или другого которое использует поля.
2. Пересмотрите необходимость показывать эти выборки под одним урл - сделайте 3 (или сколько там нужно) разных страницы.
3. Наконец, можно написать нехитрый js, который по выбору option или радио будет скрывать ненужные столбцы.

Аватар пользователя pifagor87 pifagor87 25 января 2012 в 11:41

torquemada wrote:

2. Пересмотрите необходимость показывать эти выборки под одним урл - сделайте 3 (или сколько там нужно) разных страницы..

даже под одним юрелом не выводит нескалоко страниц вюшек.

Аватар пользователя pifagor87 pifagor87 25 января 2012 в 16:38

torquemada wrote:

3. Наконец, можно написать нехитрый js, который по выбору option или радио будет скрывать ненужные столбцы.

можете расписать что к чему по подробнее?

Аватар пользователя torquemada torquemada 25 января 2012 в 23:20

"pifagor87" wrote:
можна более детально?

Smile У вас табличка, не пойдет.

"pifagor87" wrote:
даже под одним юрелом не выводит нескалоко страниц вюшек.

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

"pifagor87" wrote:
можете расписать что к чему по подробнее?

Конечно. Не знаю, каким виджетом у вас реализован фильтр, предположим, радио. Добавляем событие "клик на радиобаттон "квартира"". И по нему пишем действие в ключе .view-content найти-нежелательный-заголовок и его убрать.
Страшное решение вообще-то, вблизи от наихудшего возможного, но меня уже ничего не пугает, и вам грех жаловаться...