Во время разработки шаблона (на bootstrap 3) столкнулся с неприятной проблемой: При добавлении jdoc:include с типом component, блок div с сайдбаром, в котором помещается модуль авторизации(для неё выделено 3 колонки) перемещается внутрь блока, в котором находится jdoc:include type="component"(для которой выделено 9 колонок), что ведёт за собой перемещение сайдбара под ленту новостей. Написанный код: Код (PHP): <div class="container content"> <div class="row"> <?php if($this->countModules('sidebar-b')): ?> <div class="visible-md visible-lg"> <div class="col-md-12 col-lg-12"> <div class="row"> <div class="col-md-9 col-lg-9"> <div class="mContent"> <jdoc:include type="message" /> <jdoc:include type="component" /> </div> </div> <div class="col-md-3 col-lg-3"> <jdoc:include type="modules" name="sidebar-b" style="xhtml" /> </div> </div> </div> </div> <?php else: ?> <!--Код убрал специально т.к. я убежден в том, что эта часть кода не причастна к проблеме--> <?php endif;?> </div> </div> А вот код, который отображается непосредственно в браузере (кроме jdoc:include): Код (PHP): <div class="container content"> <div class="row"> <?php if($this->countModules('sidebar-b')): ?> <div class="visible-md visible-lg"> <div class="col-md-12 col-lg-12"> <div class="row"> <div class="col-md-9 col-lg-9"> <div class="mContent"> <jdoc:include type="message" /> <jdoc:include type="component" /> </div> <div class="col-md-3 col-lg-3"> <jdoc:include type="modules" name="sidebar-b" style="xhtml" /> </div> </div> </div> </div> </div> <?php else: ?> <!--Код убрал специально т.к. я убежден в том, что эта часть кода не причастна к проблеме--> <?php endif;?> </div> </div> Вы видите, что <div class="col-md-3 col-lg-3"> перемещается, по непонятным мне причинам, в <div class="col-md-9 col-lg-9">. В том, что jdoc:include ИМЕННО c типом component виноват, я убеждён, и я поясню почему: я убирал этот "jdoc:include type="component" из кода и всё стало на свои места. После сделал тоже самое, но уже с типом message и проблема осталась - div с тремя колонками все равно перемещается в div'a с остальными, девятью колонками. Просвятите, в чем проблема? Заранее спасибо.
Проблема постоянно встречается... Скорее всего горе-админ копипастил в материалы/модули контент с других сайтов. Вместе с текстом скопировались и куски HTML-кода. Где-то не закрыт один из блочных элементов (div, например).
Проблема решена. Вы правы, проблема действительно в одном материале, но я там не нашел никаких кусков кода, все теги, которые должны закрываться, закрыты. Как выяснилось позже, вина всему почему-то строка с <hr id="system-readmore" /> убрав её проблема пропадает... Но не важно, я просто переписал материал и все стало на свои места. Спасибо за помощь!
Ну так правильно - все блочные элементы у нас закрыты, но какой-то из них, видимо, открывается ДО readmore, а закрывается ПОСЛЕ. Элемент <hr id="system-readmore" /> отсекает краткое содержание материала от его полной версии. Получается, что, например, на странице блога категории, у нас видна только первая часть материала (с открывающим DIV).