Задачи и ситуации, при которых использование модуля panels имеет очевидные преимущества.

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

Аватар пользователя roman-yrv roman-yrv 27 декабря 2012 в 17:19

Добрый день.

Поделитесь, пожалуйста, опытом.

Никак не могу понять одну вещь, а именно, следующее.

Во есть такой модуль (или группа модулей) - panels.

Так вот, в каких ситуациях использовать panels намного эффективнее, чем просто делать стандартную темизацию или обходиться решениями без использования panels ?
Причем, эффективность будет даже с учетом того, что разработчик будет хорошо ориентироваться в программировании, идеологии Drupal, темизации в Drupal и т.д.

А то у меня возникает ощущение, что панели в основном предназначены для тех, кто хочет делать сайты на Друпале, но не очень хорошо разбирается в php, темизации, самом Друпале.

Комментарии

Аватар пользователя neltharian neltharian 27 декабря 2012 в 17:24

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

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 27 декабря 2012 в 17:26

"roman-yrv" wrote:
А то у меня возникает ощущение, что панели в основном предназначены для тех, кто хочет делать сайты на Друпале, но не очень хорошо разбирается в php, темизации, самом Друпале.

У вас правильное ощущение

Аватар пользователя roman-yrv roman-yrv 27 декабря 2012 в 21:46

"neltharian" wrote:
С другой стороны я например использую панелс когда делаю страницы редактирования контента для клиентов - чтоб где что случайно не нажали. Вот там панелс уж очень удобная вещь

А можете это пояснить, что за контент для клиентов ?
Это какие-то нестандартные формы для ввода сложного контента, когда стандартные формы ввода и редактирования нод не подходят ?

И если не трудно, не можете приложить скриншот такого контента ?

Аватар пользователя roman-yrv roman-yrv 27 декабря 2012 в 21:56

"neltharian" wrote:
С другой стороны я например использую панелс когда делаю страницы редактирования контента для клиентов - чтоб где что случайно не нажали. Вот там панелс уж очень удобная вещь

А можете это пояснить, что за контент для клиентов ?
Это какие-то нестандартные формы для ввода сложного контента, когда стандартные формы ввода и редактирования нод не подходят ?

И если не трудно, не можете приложить скриншот такого контента ?

Аватар пользователя graker graker 28 декабря 2012 в 1:01

Quote:
Так вот, в каких ситуациях использовать panels намного эффективнее, чем просто делать стандартную темизацию или обходиться решениями без использования panels ?
panels - они не только для раскладывания данных в строчки и столбики. Хотя и для этого они тоже могут быть полезны.

Quote:
А то у меня возникает ощущение, что панели в основном предназначены для тех, кто хочет делать сайты на Друпале, но не очень хорошо разбирается в php, темизации, самом Друпале.

Надо немного попользоваться контекстами - и ощущение пройдет.

Аватар пользователя roman-yrv roman-yrv 11 марта 2013 в 8:36

graker wrote:

Надо немного попользоваться контекстами - и ощущение пройдет.

А не можете ли дать ссылку на пост или видеоурок, где бы подробно рассказывалось об этих контекстах и их использовании ?

Аватар пользователя neltharian neltharian 28 декабря 2012 в 16:55

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

Как ето сделать смотрите тут http://mustardseedmedia.com/podcast в подкасте о панелс

Аватар пользователя roman-yrv roman-yrv 11 марта 2013 в 17:35

neltharian wrote:
суть такая - есть роль редактор - ею и пользуются мои заказчики. В етой роли отключено все лишнее, чтоб не было возможности накосячить. Так вот панелс позволяет создать такую страницу редактирования ноды на которой например будет только заголовок и тело поста плюс кнопка сохранить. и все.

Как ето сделать смотрите тут http://mustardseedmedia.com/podcast в подкасте о панелс

Попробовал данную возможность - вещь хорошая.
Хотя Вашу задачу, думаю, можно решить и с помощью хуков, которые переопределяют форму.
Единственное - там будет менее наглядно и не очень удобно, когда будет нужно будет учитывать кучу ролей, условий и т.д.

Аватар пользователя roman-yrv roman-yrv 11 марта 2013 в 14:09

Знаете, я нашел материал о том, что такое контексты и ля чего они используются.

Вот, например, неплохая статья, при прочтении которой становится в принципе понятно, что это такое - http://hdcoder.com/n/23

Тут вопрос в другом.
С концептуальной, проектировочной и программистской точки зрения какое очевидное преимущество дает использование панелей и контекстов ?

Ведь контексты - это, по сути, замена выражений if. Причем, если if ограничиваются только возможностями php, то, используя контексты, получится ограничений намного больше.
И я предполагаю, что для того, чтобы реализовать своё условие и(или) свою реакцию, нужно писать дополнительный модуль, который это условие и реализует.

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

А именно, если на сайте в процессе его развития постоянно будет меняться компоновка.

Например, если сайт принадлежит какому-нибудь СМИ или сообществу. И в этом случае сегодня главная страница - трехколоночная, завтра - двухколоночная, послезавтра - нужно там-то разместить горячую новость, через неделю - на месте главной новости - баннер, а главную новость нужно оперативно переместить на другую колонку и т.д.

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

Аватар пользователя Crea Crea 11 марта 2013 в 15:27

Quote:
С концептуальной, проектировочной и программистской точки зрения какое очевидное преимущество дает использование панелей и контекстов ?

Контексты это исходные данные для выполнения запроса в абстрагированной форме. Аналог - глобальные переменные (что считается bad practice).
Преимущества контекста в обобщении и единообразии кода, и повышении производительности (контекст загружается 1 раз). Преимущества Панелей в упорядочивании и приведению к единому виду структуры сайта и его логики. Но для этого сайт должен быть целиком сделан на Панелях. Таким образом, можно сказать, что Панели это фреймворк внутри Друпала.

На всякий случай - я говорю о контекстах внутри Панелей, а не о модуле Context.

Аватар пользователя roman-yrv roman-yrv 11 марта 2013 в 16:14

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
Контекст - полезно

Лично я вижу следующие особенности, которые можно назвать полезными.
1. При использовании контекстов не нужно будет в случае необходимости что-нибудь включить/отключить редактировать код. То есть, это будет быстрее и проще.
2. Контексты с большей вероятностью будут работать после того, как будет произведено обновление модулей.
Так или еще что-нибудь есть ?

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
панели - нет

Помню, читал вакансию разработчика на Drupal, которую предлагала одна фирма из США.
И меня там смутило то, что там требованием было хорошее знание panels.

И во вторых, если panels - неполезно, то для чего их собираются включать в ядро Drupal 8 ?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 11 марта 2013 в 16:21

"roman-yrv" wrote:
И во вторых, если panels - неполезно, то для чего их собираются включать в ядро Drupal 8 ?

здесь где то была статья про крашение губ свинье

Аватар пользователя roman-yrv roman-yrv 25 декабря 2013 в 22:22

Недавно вернулся к этому вопросу.
И пришел к следующему выводу - использование panels в связке с page manager и panelizer позволяет значительно ускорить разработку сайта, а также дальнейшее его развитие.