Задача такая:
есть макеты на запросы (site/index
, video/index
, video/new
, video/edit
и тд)
Как грамотно оргинизовать их шаблоны.
Используется весь стэк (BEMHTML, BEMTREE)
Если на каждого заводить по бандлу, то как тогда орагнизовать root.bemtree?
site/index
video/index
video/new
Или же лучше заводить по модификатору на page
page_view_site-index
page_view_video-index
page_view_video-new
В этом случае тогда будет один бандл и один большой css и js файл
Какой здесь best practice?
Зависит от того, что представляют собой эти страницы.
Если между ними нет ничего общего, то есть смысл использовать разные бандлы.
Если же у них много общего, то одним бандлом делать определенно удобнее. А дальше уже вопрос, в какой момент будет ветвление. Скажем, если у всех страниц совпадает шапка и подвал, то удобнее делать общий
page
, а_view
вешать на вложенный вpage
блокmain
.Я бы делал отдельно страницы для верстки, и отдельно бандлы для продакшна, которые, возможно, собирал бы скриптами из бандлов страниц для верстки.
page_type_chtoto
имхо штука удобная, но огонь когда есть дополнительно bemtree сroot_layout_index _type_chtoto
. Т.е. отделить layout от типа страницы. В этом случаеlayout
будет отвечать за сетку и ячейки контента, в то время как type за содержимое основной ячейки контента. Они могут отчасти пересекаться, или повторяться, но смешивать их не стоит.Еще, если я правильно тебя понял, то у тебя путаница между терминами блок и бандл. Бандл (или страницы) описываются списками блоков, в то время как блоки описываются реализациями в технологиях (js, css, шаблоны, etc.). Если ты заведешь хоть 50 модификаторов для page — в сборку бандла включаться только используемые в бандле (если это возможно, конечно).
Понял, спасибо!
По опыту использования BEMTREE у нас всегда примерно было два бандла admin/ — туда собирали все про админку сайта client/ — тут все что можно отдать всем
@zxqfox +1 за использование модификаторов для разделения страниц :)
@voischev И два отдельных root-admin.bemtree и root-client.bemtree блока?