Немного доделанный вариант, предложенный electron-ом.
Боковая колонка справа, шапка и футер во всю ширину. Дизайны (цвет бордюра, высоту колонки и пр - правьте сами).
Самый ходовой вариант - колонка справа, выводится гостям, основной контекст отделяется бордюром в 1 пиксел произвольным цветом. Ширина колонки 15% от общей ширины форума. В колонке можно выводить, допустим, рекламу. Еще одно условие - реклама не должна растягивать страницу по высоте (скажем, если в теме 1-2 поста, а блок рекламы очень высокий, в нашем случае надо более 3х постов для вывода колонки гостям).
Сначала посчитаем кол-во постов на странице. Для этого правим файл topic.php. Ищем блок кода:
CODE:foreach ($threads_keys as $id => $key) {
$member_id = (isset($threads[$key]['p_id'])) ? $threads[$key]['p_id'] : 0;
$postIP = (defined('IS_ADMIN')) ? sprintf($fm->LANG['ViewIpInfo'],$threads[$key]['ip']):' ';
$post = $threads[$key]['post'];
и заменяем на
CODE:$threads_number = 0;
foreach ($threads_keys as $id => $key) {
$threads_number++;
$member_id = (isset($threads[$key]['p_id'])) ? $threads[$key]['p_id'] : 0;
$postIP = (defined('IS_ADMIN')) ? sprintf($fm->LANG['ViewIpInfo'],$threads[$key]['ip']):' ';
$post = $threads[$key]['post'];
В переменной $threads_number будет кол-во постов на странице. Далее правим шаблон /templates/ВАШ_СКИН/topic_body.tpl. В начале файла после
вставляем
CODE:$topic_data = ($fm->user['id'] == 0 && $threads_number > 3)
? '<table border="0" width="100%" cellpadding="0" cellspacing="0"><tr>
<td width="85%" valign="top" style="border-right:1px solid #345487">' . $topic_data . '</td><td align="center" width="15%" valign="top"><br>
................Тут пишем код содержимого колонки .....................
</td></tr></table>'
: $topic_data;
Аналогично колонку можно выводить на главной или в списке тем. Для этого по аналогии правим файлы board_body.tpl (переменная $board_data) и forum_body.tpl (переменная $forum_data). |