Мне было интересно, кто-нибудь мог бы прокомментировать, какой путь лучше и ПОЧЕМУ?
Вот упрощенная версия того, что у меня есть (в HAML):
#header
#root
#content
= yield
#sidebar
= context_navigation
#footer
Проблема:
Я хочу, чтобы #sidebar отображался на некоторых страницах для отображения контекстного меню, например, на странице учетной записи для отображения ссылок на профиль, пароль, историю заказов.На странице продукта отображаются ссылки на спецификации продукта, описание, «отправить ссылку» и т. Д. Но не на других страницах - например, на главной странице мне нужно использовать всю ширину #root для #content, чтобы показывать новости или избранные элементы..
Решение и вопрос:
У меня есть несколько идей о том, как это реализовать, но я искал какой-то вклад в то, какой из них вы считаете лучшим, и, пожалуйста, объясните, ПОЧЕМУ?Основная цель - ремонтопригодность кода.
Вот несколько идей:
- Обман CSS \ SCSS - сделать боковую панель разборным элементом div, если там контекстная навигация пуста
- Используйте else / if для загрузки различных партиалов в зависимости от того, на какой части сайта я нахожусь.
- Создайте отдельный макет (кажется излишним - насколько я понимаю, макеты должны использоваться в основном для разных носителей)такие как экран против печати, PDF против мобильного и т. д.)
- Любые другие идеи?
Спасибо,
Ник