метка: phpBB

Обновление phpBB 3.0.8

Обновился популярный форумный движок phpBB 3. Для скачивания и обновления доступна версия phpBB 3.0.8. Список исправлений и улучшений впечатляет — http://www.phpbb.com/support/documents.php?mode=changelog&version=3. Обновляться стоит однозначно.

Решение проблемы с ошибкой phpBB3 — «Общая ошибка Could not get style data»

При переносе форума под управлением phpBB3 с одного хостинга на другой столкнулся с ошибкой "Общая ошибка Could not get style data". Преблема решилась просто — нужно было удалить все файлы из папки cache и поставить на неё права 777.

 

Размещение баннера в phpBB3 в шапке темы prosilver

Тема prosilver идет по умолчанию при установке phpBB 3. Тема меня устраивает, но нужно поставить баннер от Google в шапку. Сделать это можно  путем редактирования двух файлов common.css и overall_header.html. Оба файла находятся в папке с темой prosilver (первый в папке theme, второй в папке template).

В файле  common.css находим комментарий /* Site description and logo */ и после него меняем строчки на следующие:

#site-description {
float: left;
width: 20%;
}

#site-description h1 {
margin-right: 0;
}

#site-bannerup {
float: left;
width: 30%;
}

По сути мы уменьшили площадь отводимую под название и описание форума (width: 20%) и добавили блок #site-bannerup который понадобится для вставки баннера. При этих изменения следует учитывать особенности названия форума, т.к. длинные названия будут идти не в одну строчку, а дробится. Избежать этого можно увеличением процента отводимой площади.

В файле  overall_header.html находим строчку <div id="site-description"> и ниже ее закомментируем строчку с логотипом phpBB:

<!— <a href="{U_INDEX}" title="{L_INDEX}" id="logo">{SITE_LOGO_IMG}</a> —>

Затем спускаемся ниже и сразу после закрывающегося тега </div> ставим код для показа баннера:

<div id="site-bannerup">
<script type="text/javascript"><!–
google_ad_client = "pub-2345000522858";
/* 728×90, создано 13.02.10 */
google_ad_slot = "8392333019";
google_ad_width = 728;
google_ad_height = 90;
//–>
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>

Далее в панели управления обновляем кэш шаблона и общий кэш форума. После этого мы видим баннер в нужном месте. Пример можно посмотреть здесь — http://kraeved.opck.org/forum/index.php

SEO

Установка SAPE на phpBB3

Установка SAPE на форум под управлением phpBB 3 начинаем с добавления кода в файл includes/functions.php.  Находим следующий код:

if ($cron_type)
{
$template->assign_var(‘RUN_CRON_TASK’, ‘<img src=»‘ . append_sid($phpbb_root_path . ‘cron.’ . $phpEx, ‘cron_type=’ . $cron_type) . ‘» width=»1″ height=»1″ alt=»cron» />’);
}

Сразу после него добавляем следующий код:

/**
* SAPE
*/

if (!defined(‘_SAPE_USER’))
{
define(‘_SAPE_USER’, ‘ВАШ СЕКРЕТНЫЙ КОД‘);
}
require_once($_SERVER[‘DOCUMENT_ROOT’].’/’._SAPE_USER.’/sape.php’);
$o[‘charset’] = ‘UTF-8’;
$sape = new SAPE_client($o);
$sapeLinks = $sape->return_links();
$template->assign_var(«SAPE_LINKS», $sapeLinks);
/**
* END SAPE
*/

Открываем файл styles/prosilver/template/overall_footer.html и добавляем туда где должны выводится ссылки строчку:

{SAPE_LINKS}

Важно: после добавления кода сделать следующее:

  1. Обновить шаблон стиля (Стили — Шаблоны — Обновить)
  2. Обновить кэш (Общие — Очистить кэш)
  3. Удалить в папке с SAPE файл links.db

После этого ссылки должны отображаться в правильной кодировке.

Настройка Apache (mod_rails) для подключения форума на phpBB

При переходе моего проекта orsk-net.ru с PHP на Ruby on Rails (Rails 2.2 + mod_rails) возникла одна сложность. На сайте работал форум доступный по адресу http://orsk-net.ru/forum и мне хотелось, чтобы он был доступен по тому же адресу. Решается эта задача следующим образом: в описании виртуального хоста в Apache нужно добавить секцию Location, где указывается директория в папке public нашего проекта, которая не должна использовать mod_rails. Так выглядит мой конфиг:

<VirtualHost *:80>
ServerAdmin admin@orsk-net.ru
ServerName orsk-net.ru
DocumentRoot «/usr/home/user/public_html/rails/public»
<Location /forum>
PassengerEnabled off
AllowOverride all
</Location>
ErrorLog «/var/log/error_log_user»
CustomLog «/var/log/access_log_user» common
</VirtualHost>

В папке public нужно сделать символическую ссылку на папку форума:
ln -s /usr/home/user/public_html/forum /usr/home/user/public_html/rails/public

С этими настройками всё заработало на Ура!