Добрый день.
Поделитесь, пожалуйста, опытом.
Никак не могу понять одну вещь, а именно, следующее.
Во есть такой модуль (или группа модулей) - panels.
Так вот, в каких ситуациях использовать panels намного эффективнее, чем просто делать стандартную темизацию или обходиться решениями без использования panels ?
Причем, эффективность будет даже с учетом того, что разработчик будет хорошо ориентироваться в программировании, идеологии Drupal, темизации в Drupal и т.д.
А то у меня возникает ощущение, что панели в основном предназначены для тех, кто хочет делать сайты на Друпале, но не очень хорошо разбирается в php, темизации, самом Друпале.
Комментарии
частично соглашусь с вашим ощущением. С другой стороны я например использую панелс когда делаю страницы редактирования контента для клиентов - чтоб где что случайно не нажали. Вот там панелс уж очень удобная вещь
У вас правильное ощущение
А можете это пояснить, что за контент для клиентов ?
Это какие-то нестандартные формы для ввода сложного контента, когда стандартные формы ввода и редактирования нод не подходят ?
И если не трудно, не можете приложить скриншот такого контента ?
А можете это пояснить, что за контент для клиентов ?
Это какие-то нестандартные формы для ввода сложного контента, когда стандартные формы ввода и редактирования нод не подходят ?
И если не трудно, не можете приложить скриншот такого контента ?
Надо немного попользоваться контекстами - и ощущение пройдет.
А не можете ли дать ссылку на пост или видеоурок, где бы подробно рассказывалось об этих контекстах и их использовании ?
суть такая - есть роль редактор - ею и пользуются мои заказчики. В етой роли отключено все лишнее, чтоб не было возможности накосячить. Так вот панелс позволяет создать такую страницу редактирования ноды на которой например будет только заголовок и тело поста плюс кнопка сохранить. и все.
Как ето сделать смотрите тут http://mustardseedmedia.com/podcast в подкасте о панелс
Попробовал данную возможность - вещь хорошая.
Хотя Вашу задачу, думаю, можно решить и с помощью хуков, которые переопределяют форму.
Единственное - там будет менее наглядно и не очень удобно, когда будет нужно будет учитывать кучу ролей, условий и т.д.
Знаете, я нашел материал о том, что такое контексты и ля чего они используются.
Вот, например, неплохая статья, при прочтении которой становится в принципе понятно, что это такое - http://hdcoder.com/n/23
Тут вопрос в другом.
С концептуальной, проектировочной и программистской точки зрения какое очевидное преимущество дает использование панелей и контекстов ?
Ведь контексты - это, по сути, замена выражений if. Причем, если if ограничиваются только возможностями php, то, используя контексты, получится ограничений намного больше.
И я предполагаю, что для того, чтобы реализовать своё условие и(или) свою реакцию, нужно писать дополнительный модуль, который это условие и реализует.
Насчет использования панелей и контекстов у меня лично возникает одна мысль, когда это реально востребовано.
А именно, если на сайте в процессе его развития постоянно будет меняться компоновка.
Например, если сайт принадлежит какому-нибудь СМИ или сообществу. И в этом случае сегодня главная страница - трехколоночная, завтра - двухколоночная, послезавтра - нужно там-то разместить горячую новость, через неделю - на месте главной новости - баннер, а главную новость нужно оперативно переместить на другую колонку и т.д.
И в этом случае такие вопросы действительно на порядок быстрее решать через panels и использование контекстов, и для этого хватит квалификации продвинутого пользователя. И здесь программист нужен разве что для того, чтобы написать логику формирования новых блоков, которые не были предусмотрены ранее, или чтобы разработать плагин для какого-нибудь экзотического варианта компоновки, который не был предусмотрен при разработке сайта.
Контексты это исходные данные для выполнения запроса в абстрагированной форме. Аналог - глобальные переменные (что считается bad practice).
Преимущества контекста в обобщении и единообразии кода, и повышении производительности (контекст загружается 1 раз). Преимущества Панелей в упорядочивании и приведению к единому виду структуры сайта и его логики. Но для этого сайт должен быть целиком сделан на Панелях. Таким образом, можно сказать, что Панели это фреймворк внутри Друпала.
На всякий случай - я говорю о контекстах внутри Панелей, а не о модуле Context.
Контекст - полезно, панели - нет. Это если коротко
Лично я вижу следующие особенности, которые можно назвать полезными.
1. При использовании контекстов не нужно будет в случае необходимости что-нибудь включить/отключить редактировать код. То есть, это будет быстрее и проще.
2. Контексты с большей вероятностью будут работать после того, как будет произведено обновление модулей.
Так или еще что-нибудь есть ?
Помню, читал вакансию разработчика на Drupal, которую предлагала одна фирма из США.
И меня там смутило то, что там требованием было хорошее знание panels.
И во вторых, если panels - неполезно, то для чего их собираются включать в ядро Drupal 8 ?
здесь где то была статья про крашение губ свинье
некоторым эти удобство сложно осознать
Недавно вернулся к этому вопросу.
И пришел к следующему выводу - использование panels в связке с page manager и panelizer позволяет значительно ускорить разработку сайта, а также дальнейшее его развитие.
Роман, спасибо, это интересно.
Не могли бы вы еще описать, в каком случае применили связку с page manager и panelizer?