photon blog

Блог о движках и SEO

Доводим до ума социальную сеть на Pligg

Рубрика: социальные сети
Метки:
Воскресенье, 29 июля 2007 г.
Просмотров: 627
Подписаться на комментарии по RSS

Появилась необходимость в создании еще одного dig-like сайта. На этот раз решил его делать на cms Pligg. Почему не на Drupal, о котором я рассказывал в предыдущей статье? Потому что для этого проекта хватит и возможностей Pligg.

Для начала решил посмотреть русифицированную версию (http://pliggrse.com/). Собственно создателей я могу только похвалить за их труд. Они добавили к оригинальному Pligg два дополнительных метода формирования url, но, к сожалению, ни один из них сразу после установки у меня не заработал как надо (два новых и один из стандартных).

Под «как надо» я подразумеваю то, что при переходе в какую-либо категорию, перехода туда на самом деле не происходит. Об исправлении этого бага будет написано чуть ниже.

Сразу скажу, что первоначальную настройку я делаю на пакете denwer. На хостинге лично я не проверял, но на форуме кто-то оставил ссылку на свой сайт на Pligg – там тоже не работало как надо.

Кстати, если Вы тоже будете настраивать на denwer, не забудьте скачать в дополнении к базовому пакету также и пакет расширений (http://www.denwer.ru/packages/php4.html). В нем есть любимое многими расширение curl. Для Pligg из этого пакета нужен модуль mb_string. Также на забудьте добавить в файл .htaccess следующую строку:

php_value error_reporting 7

Вернемся к Pligg. Добавленные в русской версии Pligg’а методы формирования url заключаются в транслитерации названий категорий или обозначении их цифрами. Собственно по SEO-соображениям это не очень подходит.

Таким образом, я решил настроить английскую версию (чтобы не было на сайте лишнего кода, касающегося транслитерации), а потом взять файл перевода из русский. Английскую версию можно взять на официальном сайте: http://www.pligg.com . На момент написания статьи последняя версия 9.7 Beta.

Про установку говорить не буду – она простая, опишу лишь изменения в модулях.

Разбираясь, почему именно не происходит перехода в нужный раздел, я добрался и до базы:) Собственно, баг заключался в том, что поле category_safe_name, в котором хранится название категории для ссылки сильно короткое – всего 64 символа. Так как в Pligg используется Unicode и в category_safe_name название записывается, прогнанное через функцию urlencode, то на один символ категории приходится 6 символов в ссылке.

Таким образом категории, в названии которых больше 10 символов, работали некорректно.

Для исправления этого просто увеличьте длину поля category_safe_name в таблице pligg_categories до 256 символов – это позволит создавать категории с длиной до 42-ух символов. Если Вы затрудняетесь в увеличении длины поля – выполните следующий sql-запрос:

ALTER TABLE `pligg_categories` CHANGE `category_safe_name` `category_safe_name` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL

Следующий баг, присутствующий как в английской, так и русской версии (хоть и заявлено, что его там исправили) это кракозябры в отображении букв «И» и «ш».

Исправить его можно следующим образом: добавить в файл libs/db.php в функцию connect после

$this->dbhost = $dbhost;
$return_val = true;
}

и перед return следующие строки

mysql_query("SET NAMES utf8_general_ci");
mysql_query("SET CHARSET utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");

Вот собственно и все, что меня не устраивало в функциональности стандартной поставки. В качестве примера настройки по этой статье могу привести этот сайт.

Ну и напоследок я очень рекомендую удалить следующую строку (из английской версии):

< div class="footer" style="display:none" >Powered By < a h ref="http://www.pligg.com/" >Pligg< /a >< /div >

из файла templates\yget\footer.tpl.

PS на всякий случай: оригинал статьи доступен по адресу

http://photonblog.net/posts/dovodim-do-uma-socialnuyu-set-na-pligg/

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)