IIIyT
@IIIyT
Solution Architect/Product Manager/CTO

Пара вопросов по Drupal?

Господа!


Занялся я на выходных созданием портала об архитектуре, выбрал Drupal, и в принципе всем доволен, но есть немного вопросов, ответ на которые достаточно сложно получить, не могли бы вы мне помочь?:) Использую Drupal 7.7 голый.

Итак, вопросы:


1. Каким образом можно реализовать в друпале следующее: допустим есть здание, оно было построено в 1948 году, также есть здание, дата постройки которого конец 1940-хх (1947-1949), и хотелось бы чтобы при сортировке по нажатию на 1948, выходили все здания, у которых конец 1940-хх. То есть он бы считывал диапазон и подставлял дату. Также необходимо чтобы в этом поле можно было указать несколько дат (допустим здание построено в 1947, реконструкция в 1989). С помощью чего это можно реализовать? Какой тип поля в данном случае должен быть?

2. Также хочу сделать карту. Есть тип материала объект, надо чтобы данный материал помещался на карту (гмапс или ямапс роли не играет) с иконкой в зависимости от значения в определённом поле данного типа. Посмотрел в сторону модуля gmaps — но там только девелопмент релиз, побаиваюсь его использовать. Плюс все гайды по нему на английском и непонятно каким именно образом реализовать данную задачу. Может подскажите как это сделать? Помещать объект на карту я так понимаю самое удачное это — пользователь при создании материала тыкает мышкой в определённую область на карте, координаты записываются в определённое поле и потом при построении карты считываются? Плюс также интересно, а каким образом можно реализовать фильтр объектов на карте, на самой странице с картой?


Пока вроде всё, подскажите пожалуйста, а то я конкретно так застопорился.
  • Вопрос задан
  • 2696 просмотров
Пригласить эксперта
Ответы на вопрос 4
@skitalets
1. поставьте зданию нужные теги, например если здание построено в 1938, поставьте тег 1940.

2. напишите скрипт, коиорый будет рисовать иконки поверх карты. Погуглите «icons on goole maps javascript».
Ответ написан
irsick
@irsick
Основная проблема в том, что вы используете 7-ю ветку Drupal. К сожалению, многие решения, которые работают на 6-ке (например, ), находятся в стадии сырой беты или вообще не будут портированы на 7-ку.
Ответ написан
@Dialog
1) для дат копайте в сторону кастомных типов материала + модуль views
2) тут уже или разработка модулей или костыль на костыле
Ответ написан
Комментировать
@LexaSmirnoff
1. Реализуется через таксономию. При создании материала ставите в термин честный 1938й год постройки. Далее если вывод материалов через views — делаете PHP фильтр, в нем берете поисковый запрос (например нужно найти «около 1940»), своим кодом получаете термины таксономии на предмет «1940 год +-5 лет», далее опять же своим кодом получаете ID нод, назначенных этим терминам и возвращаете массивом. В итоге в запрос, который строит views, будет добавлено что-то вида WHERE nid IN (25,26,27,28).
Если вывод свой — еще проще, сразу SELECT с LEFT JOIN.

2. gmaps и location. DEV — ну что делать, либо они, либо самому писать. Помещать именно так: при создании нового типа ноды выбирается кол-во местоположений на карте (т.е. в нашем случае 1) и ставятся доп. параметры, в т.ч. тип значка (кстати тип значка по условию можно заменить хуками). Фильтр делается через views — выбирается тип представления google maps, далее exposed filters (комбобоксы и т.д.).

Далее ИМХО. Риэлтерские сайты лучше на друпале не реализовывать. Мнимое преимущество «о!!! куча модулей из коробки!!» приводит в один прекрасный момент к тому, что для реализации новых «хотелок» заказчика приходится либо писать свой полноценный модуль (что проще), либо вообще выкидывать друпал. Ну или ситуация «сделал-забыл», тогда да, имеет смысл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы