визуально объединить модули
Собственно что-то никак не пойму как сделать следующее.
На главной странице выводятся модули, в т.ч… модули доски объявлений.
Вывожу их в 3 колонки, последние объявления из разделов Авто, Недвижимость, Услуги
и хотел бы чтобы они были визуально объединены общим фоном и над модулями чтобы была шапка с надписью "Доска объявлений".
Вот так должно быть (на главной):
Не понимаю как правильно объединить модули как бы в один контейнер и сделать такую шапку, если вношу соответствующие изменения в template.php, то эта шапка выводится и на тех страницах сайта, где она не нужна.
для этих модулей создать отдельные модульные позиции. например top1, top2 и т д.
в начале блока с этими модульными позициями поставить условия если есть модуль top1 — блок с этими модулями — конец условия.
Затем включить показ модулей только на главной.
в template.php для них такой код:
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="pos"><div class="center4"><?php cmsModule('center4'); ?></div></td> <td class="pos"><div class="center5"><?php cmsModule('center5'); ?></div></td> <td class="pos"><div class="center6"><?php cmsModule('center6'); ?></div></td> </tr> </table>
чтобы под модулями был общий фон(на скрине белый) и сверху над ними надпись .
Показ модулей только на главной включён.
Сейчас они выводятся так:
а надо чтобы они были визуально объединены, как в первом посте:
<div style="padding:10px;background:blue;..........."> <h2>Заголовок блока</h2> <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="pos"><div class="center4"><?php cmsModule('center4'); ?></div></td> <td class="pos"><div class="center5"><?php cmsModule('center5'); ?></div></td> <td class="pos"><div class="center6"><?php cmsModule('center6'); ?></div></td> </tr> </table> <div>
Может и криво, но может в template.php ещё и проверку на главную страницу вставить, типа:
if(ГЛАВНАЯ СТРАНИЦА){ <div style="padding:10px;background:blue;..........."> <h2>Заголовок блока</h2> } <table width="1000" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="pos"><div class="center4"><?php cmsModule('center4'); ?></div></td> <td class="pos"><div class="center5"><?php cmsModule('center5'); ?></div></td> <td class="pos"><div class="center6"><?php cmsModule('center6'); ?></div></td> </tr> </table> if(ГЛАВНАЯ СТРАНИЦА){ </div> }
Какой код правильней вписать в if(ГЛАВНАЯ СТРАНИЦА){ не подскажете?
Как правильнее проверить в template.php что мы на главной? Что-то типа?
if($_SERVER["REQUEST_URI"] == "/") {
А что за вариант вы предлагаете с одной позицией и парой-тройкой стилей?
Отказаться от всех этих танцев с кучей позиций в таблице, хоть это и стандартные модули сайта типа "Последние материалы" из нужных категорий, настраиваемые в админке в "Модули сайта", и писать свой модуль? Но это тоже не очень хороший выход, нужно углубляться во все эти php/mysql запросы к б/д.
Неудобно, так как не только эти модули хотелось бы объединить под одной шапкой на главной, но и например стандартные модули "последние темы форума", "блоги", "последние комментарии" под общей шапкой "Общение", а модули "новые организации", "новости организаций", "события организаций" компонента InstantMaps под общей шапкой "Справочник организаций":
Переписывать код стандартных модулей — явно тут не good такое решение.
в папке /includes/myphp создал файл spr.php куда включил этот код с нужными 3 модулями(колонками).
В админке создал новый модуль сайта с нужным заголовком и указал вставить этот файл spr.php
В template.php убрал код с 3 модулями и вместо него вставил код с этим новым модулем.
Все заработало.