Pull to refresh
  • by relevance
  • by date
  • by rating

Разные варианты отображения для одних и тех же данных

Django *
Опыт «забавностей» становится всё больше и больше. Вот очередной случай маразма. Коротко суть:
Существует сайт, на котором нужно выводить одни и те же объекты с разными условиями выборки (по категории, по тегу, «захабареные» и т.п.) и разными отображениями (список, подробно и т.п.).

Некоторые индивиды, создают в каждом view замысловатую структуру из if-ов, и каждый раз она повторяется. Запомните:
  1. Рефакторинг
  2. Рефакторинг
  3. Рефакторинг
  4. view — это просто функция!

И так, по последнему пункту.
Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Views 1.2K
Comments 5

Все, о чем вы не знали, и боялись спросить по поводу темизации Views

Drupal *


Первым серъезным камнем преткновения разработчика, познавшего начальные прелести Друпала, является темизация модуля Views. Этот процесс содержит минимум документации, так что, порой, некоторые начинающие разработчики вообще не догадываются, что с вьюсами можно что-то делать. Однако, можно, и даже очень многое.

Итак, рассмотренные в статье разделы:

  • Темизация любых типов вьюсов
  • Темизация «списочной» вьюсы
  • Темизация «табличной» вьюсы
  • Темизация «тизерной» вьюсы
  • Темизация вьюсы c полными нодами
  • Темизация summary-представления
  • Темизация полей
  • Темизация расширенных фильтров


Читать дальше →
Total votes 40: ↑31 and ↓9 +22
Views 1.2K
Comments 25

Drupal Views Attach

Drupal *
В процессе разработки проекта на Drupal встала задача вывести все ноды, ссылающиеся на данную при помощи node reference. Нашёлся замечательный модуль Views Attach, позволяющий прицепить к определённому типу View и передать ему id текущей ноды параметром. Модуль подошёл идеально.

Не так давно понадобилось почти то же, но чуть сложнее: прицепить к определённому типу View, выводящий ноды заданного типа содержащие определённый термин таксономии. Пробежавшись по существующим модулям нужного не нашлось, но вспомнился Views Attach. А так как параметры View хорошо-бы было сделать полностью настраиваемыми — решил интегрировать данный модуль с Token, что сегодня и осуществил.

В итоге при помощи данного решения можно, например:
1. Отобразить при просмотре ноды 10 нод с сходными терминами таксономии.
2. Отобразить 10 нод заданного полем cck типа.
3. Отобразить отмеченные флагом ноды, ссылающиеся на данную.
4. …

Забрать патч можно в трэкере проекта.
Total votes 8: ↑7 and ↓1 +6
Views 1.9K
Comments 16

Создание сайта из готовых компонентов на примере сайта заказа еды в офис

Drupal *
В окрестностях нашего офиса нет приличного общепита, поэтому обеды нам привозят на заказ из одного кафэ. Заказ осуществляется за день (на понедельник заказ делается с пятницы), по телефону, с перечислением всех блюд и их количества (в случае если заказ не изменился относительно вчерашнего достаточно просто сказать это). Как компания, занимающаяся разработкой ПО, преимущественно веб, мы до недавнего времени жили по принципу «Сапожник без сапог», и весь учет заказов велся ответсвенным за заказ еды человеком на листочке, в случае изменения заказа нужно было писать письмо этому ответственному человеку, а он уже пересчитывал общий заказ.

Выкроив немного свободного времени в перерыве между проектами реализовал (именно реализовал, а не написал — почему именно так, расскажу немного ниже) систему для заказа еды. За основу, как нетрудно догадаться исходя из тематики блога, была взята CMS Drupal, которая является моим основным инструментом уже около полутора лет.

Цели данного топика:
  • Показать новичкам на довольно простом примере, как создается сайт невысокой сложности на CMS Drupal
  • Кратко расказать про несколько основных модулей — как правило они применяются в 90% проектов на друпале
  • Показать как можно собрать сайт на друпале из готовых компонентов, не написав при этом ни одной строчки кода (на самом деле будет пара строк кода, но немного не в том виде, как он обычно пишется =))


Итак, что должно быть реализовано в проекте:
  • Меню — список блюд, разделенных на категории, с возможностью описания блюд
  • Индивидуальные заказы — пользователь может сделать и заказ, просмотреть его содержимое и изменить
  • Сводный заказ — список всех заказаных пользователями блюд с указанием их количества
  • Возможность делиться впечатлениями о блюдах — тут просто возможность комментирования и рейтингования

Поехали
Total votes 100: ↑94 and ↓6 +88
Views 8.2K
Comments 117

Выводим ноды на Google Maps

Drupal *
Предположим, что у нас есть достаточно простая задача — показывать на карте местоположение объектов (нод, пользователей). Например, офисов, или, скажем, магазинов подарков. Т.е. мы должны получить страницу, где выводится карта с расположением всех объектов заданного типа, и показать карту на странице каждого отдельного объекта. Речь пойдет о 6-ой версии Друпала, но в 5-ке всё аналогично (если честно, скрин в конце снят именно с Drupal 5). Чтобы выполнить эту задачу я буду использовать следующие модули: GMAP, Location, Views (на сайте у меня используются еще и CCK & Contemplate, но они в этой задаче настолько вспомогательны, что говорить о них не стоит).
мало текста, зато много скриншотов
Total votes 16: ↑11 and ↓5 +6
Views 9.4K
Comments 14

Модуль Views — API. Основы

Drupal *
Наверняка, многие, работающие с друпалом, знакомы с модулем Views. Как гласит Drupaler.ru, модуль Views — это Настройка и контроль за отображением любого типа контента в любом месте сайта, т.е. он позволяет создавать страницы, блоки, подменять содержимое нод, страниц пользователей и многое другое, формируя контент из любых доступных полей на сайте. Но что делать, когда необходимо вывести информацию, предоставляемую сторонним модулем, и к которой доступа из Views у нас нет?
Читать дальше →
Total votes 40: ↑34 and ↓6 +28
Views 11K
Comments 29

Свое представление (view) в Spring MVC

Java *
Если вы работали с Spring MVC то наверняка обращали внимание, что он поддерживает множество различных представлений (view), которые позволяют генерировать pdf, excel, csv использовать jstl, freemarker, velocity и jasperReports. Но что делать если вам потребовалось заполнить какой либо документ в формате docx по шаблону и передать его пользователю? С одной стороны можно в методе воспользоваться доступом к стандартному response и если планируется использовать такую генерацию множество раз, то вынести ее в отдельный класс. Но такое решение не слишком изящно и нарушает MVC-паттерн.
Что можно сделать чтобы этого не происходило?
Total votes 20: ↑19 and ↓1 +18
Views 14K
Comments 20

Начинаем работать с Drupal: полное практическое руководство (часть 1)

Drupal *
Translation
Здравствуйте!

Выношу на суд хабраобщества перевод замечательной статьи Getting Started with Drupal: A Comprehensive Hands-On Guide. Данный материал является незаменимым руководством для начинающих друпальщиков, поскольку в нем рассматриваются не только установка и базовые принципы, но и два из «трех китов» Друпал-сайтостроения — Views и CCK. Самое приятное, что вся статья посвящена практическому созданию полезного сайта (доски объявлений). Право, во времена Друпала 4.7, когда я только начинал с ним знакомиться, о таких подробных и внятных руководствах можно было только мечтать.
Читать дальше →
Total votes 102: ↑92 and ↓10 +82
Views 187K
Comments 26

Начинаем работать с Drupal: полное практическое руководство (часть 2)

Drupal *
Translation
Продолжение первой части.

Создадим страницу вакансий с помощью модуля Views

Хотя вы и можете самостоятельно писать запросы к базе данных для чтения содержимого, дело это долгое и сложное, даже с учетом мощного API Друпала.
Для построения страницы со списком вакансий мы задействуем Views — модуль, позволяющий извлекать содержимое из базы данных вообще без написания кода.
Попросту говоря, Views — это пользовательский интерфейс построения MySQL-запросов. Views — это невероятно мощный модуль, но порой его бывает трудно освоить начинающим пользователям. Лучший способ разобраться с Views — немного с ним поиграть, чем мы сейчас и займемся.
Читать дальше →
Total votes 89: ↑79 and ↓10 +69
Views 31K
Comments 24

Импорт views из модуля

Drupal *

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

Реализация мега простая, хотя для меня была не очевидной. Уверен кому-нибудь тоже будет интересно/полезно занать как это сделать.

Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Views 1.3K
Comments 7

Городской портал Большого Сочи на Drupal

Drupal *
Добрый день, друзья!

В октябре сего года увидел свет Макс Портал. Этот проект задуман как городской портал Большого Сочи. На данный момент там есть новости (в том числе фоторепортажи и видеосюжеты) и каталог предприятий — «желтые страницы» города с привязкой к карте. В планах — множество полезных разделов: погода, афиша, веб-камеры, онлайн-приемные чиновников, поиск работы, недвижимость, туризм и т.д. Запуск раздела «Погода» запланирован на январь.

В работе сайта задействованы следующие модули: Quicktabs, Panels, Mini Panels, Workflow, Boost, Chaos Tools, Date, Calendar, Drupal Wiki, Modal Frame, Nodequeue, Taxonomy Filter, Taxonomy Image, Vote Up/Down, Yandex Map и так далее.

Будем признательны за ваши комментарии, советы и пожелания!
Total votes 14: ↑8 and ↓6 +2
Views 4K
Comments 18

За что я люблю Drupal

Drupal *
По моему скромному мнению, CMS Drupal наиболее близко подошла к понятию «идеальная CMS». Очень многое в Drupal сделано для облегчения жизни разработчиков. В этой статье мне хочется рассказать об основных моментах, которые мне нравятся в Drupal. Материал рассчитан на пользователей, мало знакомых с Drupal. Иногда мне придется говорить очень простые вещи, но именно из-за этих простых мелочей и складывается очень приятное впечатление от Drupal.

Сразу стоит предупредить, что Drupal это не готовое решение. После установки вы не получите настроенную и работающую социальную сеть, интернет магазин и т.д. В Drupal действует принцип «предоставление возможностей по мере необходимости». Именно поэтому на Drupal не делают сателиты и ГС в промышленном масштабе и, возможно, именно поэтому количество рабочих сайтов на Drupal уступает таким CMS как Joomla и Wordpress, любимым CMS строителей сателитов и ГС.

Drupal предоставляет удобные инструменты для разработки сайта, который нужен именно вам. Создатели Drupal понимают, что каждый сайт индивидуален и предоставление готового решения было бы не правильно, вместо этого они предоставляют инструменты для разработки. Весь Drupal и все его модули пропитаны этой идеей. Отсутствие ограничений и множество настроек позволяют разработать сайт под конкретную задачу легко и просто.
Читать дальше →
Total votes 132: ↑81 and ↓51 +30
Views 25K
Comments 82

How-to: Как создать красивый и функциональный баннер ротатор средствами Drupal 7

Drupal *
Обычно я не пишу статьи на тему как использовать те или иные готовые модули для реализации некоторой функциональности. Гораздо больше меня интересует непосредственно создание модулей, взаимодействие с ядром, работа с различными API и т.п. «программистские» и архитектурные вещи.
Но, на этот раз, по многочисленным просьбам трудящихся я все таки решил написать один How-to.

Итак, речь в настоящей статье пойдет о том, как готовыми средствами Drupal 7 и парой шаблонов реализовать баннер-ротатор наподобии того, что встроен в один из моих ресурсов (http://labridge.ru).

Конечный результат должен выглядеть примерно так:


Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 16K
Comments 17

«Декораторы проверки» для Views

Django *

Рассуждаем про декораторы


Каждый из нас не раз использовал декоратор login_required и скорее всего писал похожий декоратор(скажем для проверки пустая ли корзина). Давайте рассмотрим что делает данный декоратор:
поговорить про декораторы
Total votes 29: ↑27 and ↓2 +25
Views 7.2K
Comments 11

Создание нестандартного компонента на основе ListView

Development for Android *
Sandbox
Для приложения под Android мне понадобился элемент интерфейса, отдаленно напоминающий DatePicker. Он должен уметь:
  • прокручивать список от начала и до конца (но не по кругу), так чтобы выделять центральный элемент.
  • по мере удаления элемента от центра компонента изменять шрифт и прозрачность цифр
  • “доводить“ список до нужного элемента
  • отображать заданное количество элементов на экране
  • определять направление скроллинга (вверх или вниз)
  • рисовать тень для содержимого текстовых окон

Читать дальше →
Total votes 10: ↑5 and ↓5 0
Views 8.1K
Comments 8

Готовим ASP.NET Core: поговорим про нестандартные подходы при работе с представлениями

Microsoft corporate blog .NET *ASP *
Мы продолжаем нашу колонку по теме ASP.NET Core публикацией от Дмитрия Сикорского ( DmitrySikorsky) — руководителя компании «Юбрейнианс» из Украины. В своей очередной статье Дмитрий рассказывает об опыте нестандартной работы с представлениями в ASP.NET Core. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев
В последнее время я много работал над своим модульным фреймворком для ASP.NET 5 (теперь уже ASP.NET Core 1.0). В рамках этого проекта пришлось решать различные задачи, и одной из них была работа с представлениями, которые находятся либо просто в нестандартных местах, либо вообще вне основной сборки веб-приложения. В этой статье я попробую рассказать, какие у вас есть варианты, если вам необходимо нечто подобное.


Представления в нестандартных местах внутри основной сборки веб-приложения


Если вдруг по какой-то причине ваши представления оказались вне положенной им папки Views (но, при этом, все-таки остались внутри основного проекта приложения), вам потребуется сообщить об этом Razor’y. Если раньше для этого пришлось бы написать класс, производный от RazorViewEngine, то сейчас сделать это немного проще.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 10K
Comments 0

Создаем свой кастомный плагин Style – Темизация Views в Drupal 8

PHP *Drupal *
Sandbox
Модуль Views (Представления) является составляющей ядра Drupal 8. На сегодняшний день об этом известно всем. Twig – это новый обработчик шаблонов в Drupal 8. Об этом нам тоже уже известно. Но как же программно взаимодействовать с модулем Views, для того чтобы темизировать View с использованием Twig? Кроме перекрывания шаблонов, как это происходит в любой другой системе модулей, у нас есть более мощная альтернатива в виде Views плагинов (Display, Style, Row и Field).
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 4.8K
Comments 2

The Layout Engine в Swift

Swift *

Многие iOS разработчики не задумываются как работает механизм отрисовки элементов, установки и обновлении constraints в Auto Layout'e. В этой статье я пробую подробно заглянуть внутрь работы the Layout Engine

Читать далее
Total votes 9: ↑9 and ↓0 +9
Views 4.5K
Comments 4

Как работают Django Class-based views

Python *Django *
Sandbox

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

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

Читать далее
Total votes 10: ↑10 and ↓0 +10
Views 8.5K
Comments 6