Доступные темы оформления:

Автор Тема: Как добавить блоки справа на главной странице без установки портала?  (Прочитано 11044 раз)

maestrosite.ru

  • Администратор
  • *****
  • Сообщений: 54
    • Сказать спасибо
Как добавить блоки справа на главной странице без установки портала?
Простейший способ - это немного поправить файл, отвечающий за вывод содержимого главной страницы BoardIndex.php.

1. В определении функции BoardIndex() добавить строки
if (!WIRELESS)
$context['template_layers'][] = 'right';
например, после строк
else
loadTemplate('BoardIndex');

2. В конце файла (перед ?>) добавить определение двух функций:
function template_right_above()
{
echo '<div style="float:right;width:200px">';
//здесь вставьте вывод содержимого вашего блока,
//например, вызов содержимого из статического файла - readfile();
//или вызов какой-либо функции из шаблона - template_right_text();
echo '</div>';
echo '<div style="overflow:hidden;position:relative">';
}

function template_right_below()
{
echo '</div>';
echo '<br class="clear"/>';
}

После внесённых изменений, на главной странице вашего форума справа будет колонка шириной 200px, во всех отображаемых темах оформления.

Для вывода блоков слева - достаточно заменить float:right; на float:left;.
Так же можно выводить две колонки одновременно.
Всегда можно сказать "спасибо"!

maestrosite.ru

  • Администратор
  • *****
  • Сообщений: 54
    • Сказать спасибо
1. Добавить, а не исправить - чтобы вносить минимальные исправления - для того, чтобы уменьшить вероятность конфликта при установке модификаций
2. Если этот же блок требуется выводить не только на главной, то определения функций необходимо вынести в общий файл, например, в файл index.template.php используемой темы оформления. А добавляемые в начале строки также добавить в требуемые обработчики страниц.
3. Ширина блока, отступы, и прочее оформление настраивается с помощью css-правил
Всегда можно сказать "спасибо"!

maestrosite.ru

  • Администратор
  • *****
  • Сообщений: 54
    • Сказать спасибо
Если для вывода статического содержимого подходит первый вариант, со всплывающими блоками, то для вывода javascript-рекламы (такой как Google AdSense) лучше подойдёт вариант с подключением рекламы после отображения основного содержимого:
function template_right_above()
{
echo '<div style="position:relative;padding:0 180px 0 0">';
}

function template_right_below()
{
echo '<div style="position:absolute;width:170px;top:0;right:0">';

global $boarddir;
$fname = $boarddir . '/google-adsense.html';
file_exists($fname) and readfile($fname);

echo '</div></div>';
}
Аналогично создаётся левая колонка.
Всегда можно сказать "спасибо"!

 

Пример блока

Как без установки портала вывести на главной странице колонку справа? Например, для вывода рекламы