photon blog

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

социальные сети

Подписаться на эту рубрику по RSS

В обзоре PHPDug я упомянал, что свежеустановленный сайт на этой CMS требует доработки напильником. Об этой доработке и пойдет речь в этой заметке.

Сразу оговорюсь, что речь идет о PHPDug v1.4.1, с выбранным русским языком.

Также, как и с Pligg, если Вы настраиваете сайт на комплекте Denwer, то, для избежания мелких багов, создайте файл .htaccess в корневой папке сайта со следующим содержанием:

php_value error_reporting 7

Стоит отметить, что разработчики у PHPDug более аккуратнее, чем у Pligg: PHP Notice'ы при отсутствии .htaccess вылезают всего в нескольких местах, а не везде, как это есть в Pligg.

Далее, для того, чтобы браузер выставлял корректную корректную кодировку на сайте, необходимо добавить строку

$lang['CHARSET'] = 'utf-8';

в конец файла includes\lang\lang_russian.php перед ?>

Для корректной отдачи rss-лент, необходимо в файле xmlfeeds.php после строки

db_connect($config);

добавить строку

header('Content-type: text/xml; charset=utf-8', true);

Для того, чтобы корректно изменять русское название и описание сайта, добавлять русские тексты необходимо во всех php-файлах в папке /adm заменить заменить iso-8859-1 на utf-8.

Для исправления проблем с кодировкой при выборке из базы необходимо в файл includes\functions\func.global.php в функции db_connect перед строкой

return $db_connection;

добавить строки

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'");

Вот и все доработки. Приятного использования:)

Обзор CMS PHPDug

Рубрика: социальные сети
Метки:
Дата: 11/11/2007 13:15:39

PHPDug - это еще одна CMS для создания digg-like сайтов. Официальный сайт CMS - http://www.kubelabs.com/phpdug/. Там же можно увидеть демо-сайт и получить доступ к админке.

Также заоодно можно посмотреть на Корицу, которая тоже сделана на PHPDug.

Список фич с официального сайта:

  • Легко править html-шаблон движка
  • Возможность включить антиспам-captcha
  • Легкая установка
  • Легкая правка языковых файлов
  • Нет необходимости в использовании cron'а
  • Оценка комментариев
  • Мощная админская панелька
  • Автоматический импорт новостей с rss-потоков
  • В целом, PHPDug менее функционален, чем Pligg, но, как это ни странно, из-за этого он мне больше понравился - в нем есть только то, что мне нужно, и ничего более.

    В ходе установки и донастройки PHPDug было замечено:

  • html-шаблон действительно править легко, но нудно. Например, для того, чтобы сменить дизайн у всего сайта, необходимо править практически все файлы
  • Русский языковой файл в стандартной поставке имеется, но перевод в нем немного корявый. Впрочем, править его действительно легко.
  • Имеются небольшие проблемы с кодировкой при установке русского языка, как в сайте, так и в админке.
  • rss также сразу отказался корректно работать
  • Резюмируя:

    Если Вам нужен сайт, в котором можно просто добавлять новости со ссылками на источник, Диггить каждую новость, оценивать комментарии, и не нужен навороченный стандартный шаблон, то PHPDug это то, что Вам нужно.

    Если же Вам дополнтельно нужен тот самый навороченный стандартный шаблон, сохранение любимых статей, Объявление пользователей друзьями и куча других второстепенных настроек, то Вам все-таки нужен Pligg.

    PS о допиливании напильником свежеустановленного PHPDug я расскажу в следующей статье.

    В стандартной поставке движка Pligg есть такой интересный плагин RSS Importer. В принципе, из самого названия плагина понятно, что именно он делает.

    Применений у него тоже можно найти кучу - от автоматически наполняемых социальных сетей до простого первоначального наполнения сайта нужным контентом, пока не сформируется первоначальная аудитория.

    Устанавливается плагин через окно Управление модулями в админке. Дальше переходим в Админка -> RSS importer.

    Для подключения нового импортируемого фида щелкаем на "Add a new feed", для импорта записей из уже добавленных фидов - "Import the feeds".

    После добавления нового фида заполняем поля

  • Feed URL - адрес фида
  • Feed Frequency (hours) - как часто проверять новые записи. Я так и не заставил плигг проверять автоматически, если у кого-то это получится - сообщите пожалуйста в комментариях
  • Feed Random Votes - голосовать ли автоматически за новость случайное количество раз
  • Feed Votes - Если предудущий пункт не заполнен, можно поставить точное количество голосов
  • Feed Votes Minimum и Feed Votes Maximum - с этим тоже все понятно - разброс случайных голосов
  • Feed Items Limit - Сколько записей брать из фида при обновлении
  • Feed URL Dupes - разрешить или нет добавление записи из фида с одинаковым полем URL (обычно для каждой записи идет свой URL, поэтому тут лучше запретить, чтобы не было кучи одинаковых новостей)
  • Feed Title Dupes - аналогично предыдущему пункту, но с полем Title
  • Feed Submitter Id - от чьего имени будет "отправлена" новость (1 - админ)
  • Feed Category Id - id категории, в которую будут добавляться новости с этого фида
  • Если с этими пунктами в целом все понятно, то дальше пойдет интереснее:) По крайней мере в первый раз я не сразу правильно настроил дальнейшие настройки.

    В общем, жмем на Add a new field link, появляется строка с двумя вводимыми полями:

  • feed field name
  • - поле из фида, в разных фидах набор разный, но во всех есть поле со ссылкой, текстом и заголовком.

  • pligg field name - поле новости Pligg. С этими полями нужно сопоставлять поля из предыдущего списка
  • В итоге у Вас должно получиться как минимум 3 сопоставления: для ссылки на новость, заголовка и, собственно, самого текста новости.

    Вот, в принципе, и все настройки. Далее их нужно повторять нужное количество раз для каждого фида.

    Имеющиеся в стандартной поставке социальные закладки не совсем подходят для русских сайтов.

    Я взял набор сайтов и картинок кнопок отсюда и несколько переделал код Pligg.

    Итак:

    1. Скачайте отсюда плагин для WordPress и скопируйте из папки Images все картинки в папку templates\yget\images\ вашего сайта на Pligg.

    2. Откройте файл templates\yget\link_summary.tpl и замените в нем этот код (строки 218-223):

    &nbsp;&nbsp;<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&amp;noui&amp;jump=close&amp;url={$enc_url}&amp;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>
    &nbsp;&nbsp;<a title="submit '{$title_short}' to digg" href="http://digg.com/submit?phase=2&amp;url={$enc_url}&amp;title={$title_short}&amp;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>
    &nbsp;&nbsp;<a title="submit '{$title_short}' to reddit" href="http://reddit.com/submit?url={$enc_url}&amp;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>
    &nbsp;&nbsp;<a title="submit '{$title_short}' to simpy" href="http://www.simpy.com/simpy/LinkAdd.do?href={$enc_url}&amp;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>
    &nbsp;&nbsp;<a title="submit '{$title_short}' to yahoo" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u={$enc_url}&amp;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>
    &nbsp;&nbsp;|&nbsp;&nbsp; <a href="javascript:bookmarksite('{$title_url}', '{$enc_url}')">{#PLIGG_Visual_LS_Fav_Book#}</a>&nbsp;&nbsp;

    на следующий:

    <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>
    &nbsp;&nbsp;|&nbsp;&nbsp; <a href="javascript:bookmarksite('{$title_short}', '{$my_base_url}{$story_url}')">{#PLIGG_Visual_LS_Fav_Book#}</a>&nbsp;&nbsp;

    Заодно исправлен баг с некорректным заголовком при добавлении страницы в закладки IE.

    PS на всякий случай: оригинал статьи доступен по адресу: http://photonblog.net/posts/dobavlenie-v-pligg-knopok-russkix-socialnyx-zakladok/

    ..или обзор полезных плагинов для Drupal

    Нукоторые плагины были подсмотрены здесь, некоторые были найдены мной на официальных сайтах.

    В первой части статьи было рассказано, как можно сделать на первоначальную настройку и установку модулей.

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

    Чистые ссылки

    Включается в Administer -> Site configuration -> Clean URLs и позволяет формировать ссылки вида site.com/node/1 вместо site.com/?q=node/1.

    Pathauto

    Pathauto это полезный плагин, который автоматически создает псевдонимы для публикаций, страниц пользователей и др. Например, для блогов он саздаст псевдонимы site.com/blog/(имя пользователя) вместо site.com/blog/(id поьзователя), что намного удобнее.

    Скачать можно здесь.

    Me

    Это простой модуль, который прописывает псевдоним для профиля пользователя вида site.com/user/me.

    Скачать можно здесь.

    XML Sitemap

    Очень полезный модуль. Создает карту сайта и пингует ей поисковики, поддерживающие ее. Пингование может происходить как по крону, так и при создании новой страницы.

    Скачать можно здесь.

    Google Analytics

    Позволяет обойтись без ручной вставки JavaScript-файла в шаблон сайта.

    Скачать можно здесь.

    Node Profile

    Позволяет вставить дополнительные поля в профиль пользователя (url, имя и тд)

    Скачать можно здесь.

    multiping

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

    Скачать можно здесь.

    Tabbed Block

    Позволяет делать блоки меню со вкладками. Каждая вкладка - это какой то отдельный блок.

    Скачать можно здесь.

    yadex_blogs

    Этот модуль позволяет пинговать блог-службу яндекса не только при обновлении главной страницы, но и при обновлении каждого из блогов пользователей (если, конечно, у Вас включен этот модуль). При небольшой дописке сможет пинговать не только яндекс, но и pingomatic ;)

    Скачать можно здесь.

    Этот модуль для Drupal версии 4.7. Для того, чтобы он заработал на Drupal 5.1 необходимо поместить его в отдельную папку в папке /modules/ и создать файл yandex_blogs.info со следующим содержанием:

    ; $Id: throttle.info,v 1.3 2006/11/21 20:55:35 dries Exp $
    name = yandex_blogs
    description = tells yandex, that blogs have benn updates
    package = Core - optional
    version = VERSION
    ; Information added by drupal.org packaging script on 2007-01-30
    version = "5.1"
    project = "drupal"

    PS на всякий случай: оригинал статьи доступен по адресу: http://photonblog.net/posts/stroitelstvo-digg-like-sajtov-na-cms-drupal-vol2/