Движок InstantCMS 1.9
Собственно что-то никак не пойму как сделать следующее.
На главной странице выводятся модули, в т.ч… модули доски объявлений.
Вывожу их в 3 колонки, последние объявления из разделов Авто, Недвижимость, Услуги
и хотел бы чтобы они были визуально объединены общим фоном и над модулями чтобы была шапка с надписью "Доска объявлений".
Вот так должно быть (на главной):
Не понимаю как правильно объединить модули как бы в один контейнер и сделать такую шапку, если вношу соответствующие изменения в template.php, то эта шапка выводится и на тех страницах сайта, где она не нужна.
визуально объединить модули
classics,
для этих модулей создать отдельные модульные позиции. например top1, top2 и т д.
в начале блока с этими модульными позициями поставить условия если есть модуль top1 — блок с этими модулями — конец условия.
Затем включить показ модулей только на главной.
для этих модулей создать отдельные модульные позиции. например top1, top2 и т д.
в начале блока с этими модульными позициями поставить условия если есть модуль top1 — блок с этими модулями — конец условия.
Затем включить показ модулей только на главной.
#3
4 марта 2015 в 00:11
Сделать позицию и привязать к ней css класс
Сегодня в 21:32
Для этих модулей модульные позиции есть, три модуля, в них объявления и выводятся, классы привязаны.
в template.php для них такой код:
Но модули выводится просто в 3 колонки без общего фона и без надписи над ними "Доска объявлений", а надо как на скрине в первом посте,
чтобы под модулями был общий фон(на скрине белый) и сверху над ними надпись .
Показ модулей только на главной включён.
Сейчас они выводятся так:
а надо чтобы они были визуально объединены, как в первом посте:
в 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(ГЛАВНАЯ СТРАНИЦА){ не подскажете?
Как правильнее проверить в template.php что мы на главной? Что-то типа?
или по другому?
А что за вариант вы предлагаете с одной позицией и парой-тройкой стилей?
Отказаться от всех этих танцев с кучей позиций в таблице, хоть это и стандартные модули сайта типа "Последние материалы" из нужных категорий, настраиваемые в админке в "Модули сайта", и писать свой модуль? Но это тоже не очень хороший выход, нужно углубляться во все эти php/mysql запросы к б/д.
Неудобно, так как не только эти модули хотелось бы объединить под одной шапкой на главной, но и например стандартные модули "последние темы форума", "блоги", "последние комментарии" под общей шапкой "Общение", а модули "новые организации", "новости организаций", "события организаций" компонента InstantMaps под общей шапкой "Справочник организаций":
Переписывать код стандартных модулей — явно тут не good такое решение.
Может и криво, но может в 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 такое решение.
#7
4 марта 2015 в 14:25
В общем сделал так.
в папке /includes/myphp создал файл spr.php куда включил этот код с нужными 3 модулями(колонками).
В админке создал новый модуль сайта с нужным заголовком и указал вставить этот файл spr.php
В template.php убрал код с 3 модулями и вместо него вставил код с этим новым модулем.
Все заработало.
в папке /includes/myphp создал файл spr.php куда включил этот код с нужными 3 модулями(колонками).
В админке создал новый модуль сайта с нужным заголовком и указал вставить этот файл spr.php
В template.php убрал код с 3 модулями и вместо него вставил код с этим новым модулем.
Все заработало.