Custom display data

Views or custom queries?

User story

И достал Я бубен...

Slicing.

Однажды один очень гордый* клиент принес готовые спецификации, ТХ, слайсы и сказал
- Слушай, дарагой*, нужно вот, сделать это, это и это.

 

Спустя некоторое время..

- Нам нужно поменять это, это и вот это.

- Вы не можете это менять. Вы вообще не можете менять css, html и js.

- Как мы не можем это поменять?

- @#$ @#$ %%%! %&#$! ^&! (не переводимая игра слов)*

 

 

Условия

Core: Drupal 7*

Contrib modules

  • CTools
  • Views
  • Devel

 

  Кеширования нет

  Более 100 000 нод

  • базовый тип Article
  • наличие поля Image type

  *чистая установка, минимум core модулей, локализация, MySql/Apache

 

Views

+

  • Простота использования/низкий базовый порог знаний
  • Удобство
  • Расширяемость/масштабируемость
  • Минимум коддинга
  • Готовый функциональный набор

-

  • Сложные выборки требуют знаний API
  • Ограничения в темминге без определенных знаний
  • Нагрузка (при больших объемах)
  • Не всегда вменяемые sql запросы
  • Зависимость

 

 

 

Custom

+

  • Нагрузка (ниже)

  • Удобство работы с динамическими запросами

  • Расширяемость/масштабируемость/интеграция

  • Прозрачный коддинг, ничего лишнего

  • Удобная темизация, и как следствие - интеграция в сложные решения

-

  • Необходимы знания по API, темизации, кешированию etc.
  • Затраты по времени
  • Расширяемость/масштабируемость*
  • Уязвимость*

 

 

 

Решения

Display

  • Core (blocks, pages via Views)

  • Contrib modules (CTools, Panels, Pages, etc)

  • Custom (theme_* functions)

additionally

  • Queries via Views, output via custom theme_* functions/templates
  • Queries via Views, output via node_view*

 

 

Query via Views

Steps

  • Запросы с помощью views

  • Page (node) preprocess, views_get_view_result({view_name}, {display_name}) и views_embed_view({view_name}, {display_name}, {args})*

  • Custom theme_*/templates for output

additionally

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

 

 

Don't use Kostili&Velosipedi methods

Custom display data

By t1mm1

Custom display data

  • 714