Суть проблеми состоит:
Есть 8 типов материала (дома, квартиры, участки и. т. д). Есть 3 поля Количество комнат, вид недвижемости и площа.
Каждое поле имеет выпадающий список например(количество комнат->1, 2, 3, 4, 5) и т д.
Нужно отсортировать материал по етих полях (при етом при выборе материала участок, должно пропадать поле - количество комнат)
Нужно фильтровать материалы и выводить результат в табличку, при етом на каждый материал своя табличка (имеет разное количество полей, не содержа пустые поля), и все ето выводить на одну страницу.
Пробовал реализовать с помощю cck, views, taxonomy term.
У меня проблема состояла в том, что я сделал несколько вюшек типа page.
Как вывести несколько вюшек типа page на 1 странице.
Или может у кого то есть идея попроще как все ето реализовать.
Очень нужна помощь!
Заранее спасибо.
Комментарии
делается отдельный views для этого типа с нужным набором exposed filters.
и отдельный для всех остальных типов.
это геммор с темизацией вывода придется заморачиваться. плюс не факт что поможет. Проще либо для каждого типа, своя страница, либо на одной, но однообразно.
сделай их вложениями либо блоками.
если вюшка блоками, то пропадает выпадающий список (в вюшке нельзя вибрать exsposet)
можно еще Views Fieldпопробовать
у меня 6 версия друпала, может у когото другие мыслы пришли на счет организации вюшки?
и еще вопрос, как в вюшка выведенной с помощю таблицы, обрать пустие колонки (которые отвечают за другой тип материала)
1. В фильтры добавляете открытый фильтр по типу материала.
2. Каждое поле просите скрываться если пустое (hide if empty)
При выборе материала у вас будут только те поля которые заполнены, остальные из листинга пропадут. Визуально такие таблички можно темизировать стилями как есть. Если этого не хватит, то можно увеличить потенциал темизации трюком в ключе:
-первым полем ставим поле с типом материала.
-выбираем "переопределить вывод поля"
-пишем что-нибудь вроде
<div class="[сюда_токен_типа_материала]">
-последним полем global:custom text закрываем див. В результате можно будет назначить уникальные стили элементу листинга в зависимости от того, к какому типу материала он относится
Про несколько вьюшек типа page никто ничего не понял, я думаю. Похоже на безумную темизацию, откровенно. Судя по описанию проблемы ее можно управляемо решить одним дисплеем с фильтрами.
я не знаю как ето сделать.
Нужен организовать поисккак тут реализовано.
обясните чайнику, или дайте ссилку, как ето сделать (и возможно ли)
в табличке поле всеравно остается (пустой столбик)
куда ето писать?
и ето куда писать?
и как создать вложение вюшки?
можна более детально?
Так я вам объяснил вроде. Что именно не ясно?
Вопрос состоит в том, что есть метки которые описывают содержымое столбца.
Ставлю галочку, чтобы не выводить пустые поля, но метка всеравно выводится, и появляится пустой столбик. Как сделать, чтоб при пустом поле, метка тоже не выводилась?
А как вы метки делаете?
в fields -> контент (поле cck)->
Label:
None
Widget label (кол_поверх_д)
Custom-> собственное название поля.
выбираю в випадаючому списке квартиры - поля пустые от домов закрыты, но (если присутстует метка например "количество поверхов дома" - выводится все равно, если убираю метку - они пропадают как и нужно.)
пробема в том, что метки нужны (они описывают к чему поле относится), а как их убирать при пустом поле, как ето делается с самим полем?
В основных настройках слева есть "стиль". Там есть чекбокс "скрывать если значение пустое". И в самом поле аналогично. Убедитесь что оба чекбокса стоят, у вьюс нет проблем со скрытием лейбла пустого поля.
вы имеете ввыду style?там стоит таблица.
в самих полях вывода (cck) все на картинке.
на последней картинке стиль самой таблицы.
ткните пальцем чайнику, что здесь не так?
?
Ах, так у вас табличка... Значит, выбрали не самый лучший вариант композиции страницы, это можно сказать однозначно. Как всегда в подобных случаях, возникает целый веер разных решений:
1. Пересмотрите лейаут в пользу unformatted или другого которое использует поля.
2. Пересмотрите необходимость показывать эти выборки под одним урл - сделайте 3 (или сколько там нужно) разных страницы.
3. Наконец, можно написать нехитрый js, который по выбору option или радио будет скрывать ненужные столбцы.
даже под одним юрелом не выводит нескалоко страниц вюшек.
можете расписать что к чему по подробнее?
У вас табличка, не пойдет.
чего? Один "юрел" - это и есть страничка. Сделайте три странички с нужным выводом, а вместо фильтра по типу материала сделайте ссылки на эти странички. Просто и со вкусом. Здесь некоторый проигрыш будет в смысле производительности, но его частично можно компенсировать более гибкой настройкой кеширования этих трех вьюсов отдельно. Впрочем, сомневаюсь что эти вопросы вам принципиальны.
Конечно. Не знаю, каким виджетом у вас реализован фильтр, предположим, радио. Добавляем событие "клик на радиобаттон "квартира"". И по нему пишем действие в ключе .view-content найти-нежелательный-заголовок и его убрать.
Страшное решение вообще-то, вблизи от наихудшего возможного, но меня уже ничего не пугает, и вам грех жаловаться...