pligg
Настройка плагина RSS Importer в движке Pligg
В стандартной поставке движка Pligg есть такой интересный плагин RSS Importer. В принципе, из самого названия плагина понятно, что именно он делает.
Применений у него тоже можно найти кучу - от автоматически наполняемых социальных сетей до простого первоначального наполнения сайта нужным контентом, пока не сформируется первоначальная аудитория.
Устанавливается плагин через окно Управление модулями в админке. Дальше переходим в Админка -> RSS importer.
Для подключения нового импортируемого фида щелкаем на "Add a new feed", для импорта записей из уже добавленных фидов - "Import the feeds".
После добавления нового фида заполняем поля
Если с этими пунктами в целом все понятно, то дальше пойдет интереснее:) По крайней мере в первый раз я не сразу правильно настроил дальнейшие настройки.
В общем, жмем на Add a new field link, появляется строка с двумя вводимыми полями:
В итоге у Вас должно получиться как минимум 3 сопоставления: для ссылки на новость, заголовка и, собственно, самого текста новости.
Вот, в принципе, и все настройки. Далее их нужно повторять нужное количество раз для каждого фида.
Добавление кода Sape на сайт на Pligg
Хороший сайт на Pligg - идеальное место для размещения рекламных ссылок от системы Sape. Одним из вариантов размещения блока ссылок является правай колонка, она же сайдбар.
О том, в какой файл дописывать код Sape я писал в предыдущей заметке.
Несколько замечаний
{php} {/php}
$sape = new SAPE_client();
из кода, выдаваемого системой изменить на:
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
Таким образом Ваш код будет выглядеть примерно так:
{php}
define('_SAPE_USER', 'Ваш ид в системе');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
echo $sape->return_links(1);
{/php}
Добавление контекстной рекламы google adsense на сайт на движке pligg
На одном из моих сайтов на движке Pligg завелся небольшой трафик. Монетизировать я его решил через Google Adsense. Было решено поместить один блок (250 на 250) в колонку справа, один после первой новости на главной странице и один на странице с самой новостью перед комментариями. Ниже о файлах, в которые можно вставить данные блоки объявлений.
Блок после первой новости на главной странице
Открываем файл libs/link_summary.php
, ищем там такой код:
if ($links) {
foreach($links as $link_id) {
$link->id=$link_id;
$link->read();
$link->print_summary('summary');
}
}
И заменяем его на:
if ($links) {
$t_i=0;
foreach($links as $link_id) {
$link->id=$link_id;
$link->read();
$link->print_summary('summary');
if($t_i++==0) {
echo('<center>
Код Adsense
</center>');
}
}
}
Блок после текста новости и перед комментариями
Открываем файл templates/yget/story_center.tpl
, ищем там такой код:
И после него вставляем:
<center>
Код Adsense
</center>
Блок в колонке справа
Открываем файл templates/yget/sidebar.tpl
и после любой строчки вставляем все тот же код:
<center>
Код Adsense
</center>
От строки, после которой вставите код, будет зависеть высота блока в колонке справа. Я вставлял после этой строки:
{assign var=sidebar_module value="categories"}{include file=$the_template_sidebar_modules."/wrapper.tpl"}
Код Adsense - это тот код, который был сгенерирован в админке Google Adsense.
Добавление в Pligg кнопок русских социальных закладок
Имеющиеся в стандартной поставке социальные закладки не совсем подходят для русских сайтов.
Я взял набор сайтов и картинок кнопок отсюда и несколько переделал код Pligg.
Итак:
1. Скачайте отсюда плагин для WordPress и скопируйте из папки Images все картинки в папку templates\yget\images\ вашего сайта на Pligg.
2. Откройте файл templates\yget\link_summary.tpl и замените в нем этот код (строки 218-223):
<a title="submit '{$title_short}' to del.icio.us" href="http://del.icio.us/post" onclick="window.open('http://del.icio.us/post?v=4&noui&jump=close&url={$enc_url}&title={$enc_title_short}', '{#PLIGG_Visual_LS_Delicious#}','toolbar=no,width=700,height=400'); return false;"><img src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/delicious.png" border="0" alt="submit '{$title_short}' to del.icio.us" /></a>
<a title="submit '{$title_short}' to digg" href="http://digg.com/submit?phase=2&url={$enc_url}&title={$title_short}&bodytext={$story_content}"><img src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/digg.png" border="0" alt="submit '{$title_short}' to digg" /></a>
<a title="submit '{$title_short}' to reddit" href="http://reddit.com/submit?url={$enc_url}&title={$title_short}"><img src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/reddit.gif" border="0" alt="submit '{$title_short}' to reddit" /></a>
<a title="submit '{$title_short}' to simpy" href="http://www.simpy.com/simpy/LinkAdd.do?href={$enc_url}&title={$title_short}"><img src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/simpy.png" border="0" alt="submit '{$title_short}' to simpy" /></a>
<a title="submit '{$title_short}' to yahoo" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u={$enc_url}&title={$title_short}"><img src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/yahoomyweb.png" border="0" alt="submit '{$title_short}' to yahoo" /></a>
| <a href="javascript:bookmarksite('{$title_url}', '{$enc_url}')">{#PLIGG_Visual_LS_Fav_Book#}</a>
на следующий:
<a target=_blank href="http://www.google.com/bookmarks/mark?op=edit&bkmk={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="google.com" alt="google.com" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/google_bmarks.gif" /></a>
<a target=_blank href="http://bobrdobr.ru/addext.html?url={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="bobrdobr.ru" alt="bobrdobr.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/bobrdobr.gif" /></a>
<a target=_blank href="http://del.icio.us/post?url={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="del.icio.us" alt="del.icio.us" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/delicious.gif" /></a>
<a target=_blank href="http://www.linkstore.ru/servlet/LinkStore?a=add&url={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="linkstore.ru" alt="linkstore.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/linkstore.gif" /></a>
<a target=_blank href="http://rumarkz.ru/bookmarks/?action=add&popup=1&address={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="rumarkz.ru" alt="rumarkz.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/rumark.gif" /></a>
<a target=_blank href="http://memori.ru/link/?sm=1&u_data[url]={$my_base_url}{$story_url}&u_data[name]={$title_short}"><img border="0" title="memori.ru" alt="memori.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/memori.gif" /></a>
<a target=_blank href="http://moemesto.ru/post.php?url={$my_base_url}{$story_url}&title={$title_short}"><img border="0" title="moemesto.ru" alt="moemesto.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/moemesto.gif" /></a>
<a target=_blank href="http://www.technorati.com/faves?add={$my_base_url}{$story_url}"><img border="0" title="technorati.com" alt="technorati.com" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/technorati.gif" /></a>
<a target=_blank href="http://news2.ru/add_story.php?url={$my_base_url}{$story_url}"><img border="0" title="news2.ru" alt="news2.ru" src="{$my_base_url}{$my_pligg_base}/templates/{$the_template}/images/news2-ru.gif" /></a>
| <a href="javascript:bookmarksite('{$title_short}', '{$my_base_url}{$story_url}')">{#PLIGG_Visual_LS_Fav_Book#}</a>
Заодно исправлен баг с некорректным заголовком при добавлении страницы в закладки IE.
PS на всякий случай: оригинал статьи доступен по адресу: http://photonblog.net/posts/dobavlenie-v-pligg-knopok-russkix-socialnyx-zakladok/
Доводим до ума социальную сеть на Pligg
Появилась необходимость в создании еще одного 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/