left sidebar выводится перед основным контентом

/ Просмотров: 3343

В новом дефолтном шаблоне Default 6.1 (начиная с версии MaxSite CMS 0.90), если поставить шаблон отображения left sidebar, то сайдбар выводится перед контентом - и в коде, и в адаптивной версии <768px, соответственно.

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

Подскажите, пожалуйста, если кто-то знает - как сделать так, чтобы и в новом дефолтном шаблоне так было?

Комментариев: 4 RSS

Ivanes, попробую пояснить.

Найдите в 0.90 в папке дефолтного шаблона папку main. В ней находятся подпапки с разными main.php - left-sidebar и no-sidebar. Для ваших целей нужно отредактировать \maxsite\templates\default\main\left-sidebar\main.php.

В частности ищите код:

<div class="sidebar w30 w100-tablet pad20 flex-tablet-phone flex-wrap-tablet-phone">
 <?php mso_show_sidebar('1') ?>
</div>
  
<div class="content w70 w100-tablet pad20">
 <?php if ($fn = mso_fe('main/blocks/content.php')) require($fn) ?>
</div>

Он отвечает за порядок вывода сайдбара перед блоком контента. Его и нужно отредактировать соответствующим образом. Думаю, что самое ответственное здесь будет не перестановка блоков, а прописывание соответствующих стилей. С этим пока шибко не разбирался, так что если разберётесь сами, то, пожалуйста, напишите здесь ваш вариант.

В целом если сайт бар пилить перед контентом при адаптивности он и будет выше контента. Ставим ниже контента и пилим нужный css и все будет норм.

Большое спасибо!

Оказывается, Максим в ответ на мой вопрос просто молча, ничего не объяснив, пошел переделывать шаблон. smile

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