Строительство digg-like сайтов на CMS Drupal vol.2
..или обзор полезных плагинов для 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/
Индексация новых сайтов в различных зонах
На этой неделе я запустил несколько сайтов: Одни на пробу, другие на перспективу. Так получилось, что все они были в разных зонах. Результат индексирования их поисковиками также оказался разным.
C Google поблем не оказалось во всех случаях - от одного до 3х дней и часть страниц оказалась в индексе. С Яндексом же все сложнее.
Итак дальше пойдет список, в котором будет указана доменная зона, мои действия и ответный ход яндекса.
подсайт.cайт.ru: сайт.ру уже давно находится в индексе, есть ТИЦ, хоть и небольшой.
Действия: Ставилась ссылка с главной страницы сайт.ру, добавлялись рсс в блогопоиск Яндекса, сам сайт блоггерский - пингует яндекс.
Результат: через 8 часов в индексе несколько страниц, через 3 дня все страницы (их пока около 50)
сайт.org.ru: домены такого типа можно бесплатно зарегистрировать в ripn.ru
Действия: добавлялись рсс в блогопоиск Яндекса, сам сайт блоггерский - пингует яндекс, ставились несколько ссылок с хороших сайтов через систему Sape.
Результат: 5 дней, в индексе нет ни одной страницы
сайт.biz: самыя дешевая, на данный момент, доменная зона на klikdomains.com
Действия: добавлялись рсс в блогопоиск Яндекса, сам сайт блоггерский - пингует яндекс, ставились несколько ссылок с хороших сайтов через систему Sape.
Результат: 5 дней, в индексе нет ни одной страницы
photonblog.net: этот блог, цена на klikdomains.com на доллар дороже чем .biz
Действия: ссылка на одном из блогов на первом сайте, ссылки с комментариев на других блогах, добавление статей в news2.ru
Результат: 7 дней, в индексе нет ни одной страницы
сайт.ru: самй дорогой из всех. Некоторые регистрируют за 10 дол., я же решил не рисковать, и зарегистрировал у проверенного регистратора за 20
Действия: ссылка с этого блога, ссылка с сайта в зоне org.ru (не экспериментального, а довольно старого, его также в яндексе нет), ссылка с первого сайта
Результат: 16 часов в индексе 1 страница, сутки - все (42 шт.)
Сразу скажу, что блоггерские сайты почти сразу появляются в результатах блогопоиска яндекса.
Я делал несколько сайтов в зоне org.ru, ни одного нет в индексе яндекса (причем одному из этих сайтов 5 месяцев, посещаемость сейчас около 500 человек в сутки, есть небольшой тиц). Это немного странно, особенно если учесть то, что тут говорится о том, что в зоне org.ua все индексируется быстро и хорошо. Яндекс продался украинцам?:)
К сожалению, эксперимент с сайт.biz и сайт.org.ru мне придется прекратить, про изменения в остальных я сообщу.
Таким образом, если Вы планируете делать сайт на русском - не жалейте сильно денег на русские домены.
PS Жаль что я не регистрирую русские домены, хорошая рекламная статья получилась:)
PSS на всякий случай: оригинал статьи доступен по адресу:
http://photonblog.net/posts/indeksaciya-novyx-sajtov-v-razlichnyx-zonax/
Доводим до ума социальную сеть на 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/
Строительство digg-like сайтов на CMS Drupal
За основу взята эта статья на английском.
Сразу скажу, что Drupal хоть и гибкий, но не такой уж и легкий. Если настроить его так, как будет описано ниже, в БД будет 63 таблицы и будет занимать она 1.4 мб, что, согласитесь, не так уж и мало для пустого сайта.
Для работы сайта потребутся вэб-сервер с PHP версии 4+, СУБД MySQL. Для тестирования на домашнем компьютере подойдет и пакет Denwer.
Необходимые скрипты и модули
Для начала необходимо скачать саму CMS и модули, необходимые для будущей социальной сети. На момент написания статьи последняя стабильная версия движка 5.1 - про нее и будет вестись речь далее. При скачивании модулей убедитесь, что скачиваете именно для версии 5.1.
Итак, список того, что нужно скачать:
• Actions
Также, если вы планируете делать русскоязычную социальную сеть, то тут можно найти файл для перевода движка и некоторых модулей. Об их подключении будет написано в конце статьи.
Установка CMS Drupal
Распакуйте архив с CMS в корневую папку вашего вэб-сервера, а архивы модулей в создавшуюся папку /modules/.
Если Вы устанавливаете CMS на пакет Denwer, то в файл .htaccess поместите следующую строку:
php_value error_reporting 7
Далее создайте MySQL базу данных.
Затем зайдите через браузер на Ваш сайт, укажите имя базы данных, логин и пароль пользователя и нажмите на кнопку Save. Скрипт сохранит эти настройки в файл sites\default\settings.php.
Далее зайдите на главную страницу сайта и создайте аккаунт администратора (перейдя по предложенной ссылке) и войдите под этим аккаунтом.
Установка модулей
Зайдите в Administer -> Site building -> Modules, выберите следующие модули и сохраните настройки:
• CRE
• Path
• Links
• Actions
• Storylink
• Vote up/down
• Voting API
• Voting actions
Далее выполните следующие действия:
• Перейдите в Administer -> User management -> Access control и установите:
- для vote_storylink: “create storylinks”, “edit own storylinks” только для зарегистрированных пользователей, “view storylinks” для обоих типов пользователей
- для vote_up_down: “use” только для зарегистрированного, “view” для обоих типов.
• Зайдите в Administer -> Site building -> Actions, это активирует модуль Actions.
• Зайдите в Administer -> Content management -> Content types и уберите для Storylink опцию “Promoted to front page”
• Зайдите в Administer -> Site configuration -> Vote up/down
- Пометьте опцию “Storylink”
- В “Vote widget settings for nodes”: “Vote widget style” выберите “Alternative +1 vote style”
- В “Vote widget settings for nodes”: установите “Vote widget display” и “Link display of vote points” в Disabled
- В “Vote widget settings for comments” отключите показ “Vote widget” и “Link”
• Зайдите в Administer -> Site configuration -> Voting actions
- Выберите Add и введите любое название (английское без пробелов) и описание
- В подразделе Conditions нажмите на кнопку “Add condition”. Далее выберите в соответствующих полях “Points”, “Vote”, “Is greater than”, “5″. Последнее число указывает при скольки голосах новость будет перемещена на гавную страницу, Вы можете ввести любое.
- В подразделе Actions выберите “Promote node to front page” и нажмите “Add action”
- Нажмите кнопку Submit
В стандартную поставку плагина не включили некоторые иконки, поэтому удалить или изменить созданные Voting action у Вас может не получиться. Для исправления этого скачайте отсюда необходимые иконки.
После этого скопируйте файлы node-storylink.tpl.php и template.php из папки modules\vote_up_down в папку themes\(ваша тема, по умолчанию garland).
Внимание! Если в папке с темой оформлений уже есть файл template.php, то заменять его не нужно. Необходимо вручную заменить функцию _phptemplate_variables в этом файле на такую же из modules\vote_up_down\template.php.
Если Вы затрудняетесь в этом - установите тему оформления, в которой этого делать не потребуется, например bluemarine (Administer -> Site building -> Themes).
Вот в принципе и все. Для создания новой новости в меню нужно выбрать Create content -> Storylink. После отправки новости она сразу не попадает на главную страницу, а попадет туда лишь после того, как наберет столько голосов, сколько Вы указали.
В настройках Drupal есть множество опций, позволяющих настроить любой внешний вид сайта.
Русификация сайта
• Зайдите в Administer -> Site building -> Modules и подключите модуль Locale
• Зайдите в Administer -> Site configuration -> Localization
- выберите Add language. Пометьте русский и установите его испоьзуемым по умолчанию
- выберите Import и загрузите файл с переводом, который Вы скачали ранее.
Теперь у Вас получился полурусский сайт (так как были установлены дополнительные английские модули). Для полной русификации необходимо сделать следующее:
• Зайдите в Управление сайтом -> Настройка -> Переводы -> Управлять строками
• В фильре задайте язык - русский, поиск в - Только непереведенные строки и нажмите поиск
• По очереди переведите все показанные строки
Как пример настроенного сайта могу показать вот этот сайт http://my.azona.ru. На нем в дополнении к модулям, указанным в данной статье, был активирован еще и модуль “Блог”.
Это первая статья, когда-либо написанная мной - так что просьба оставлять все замечания, предложения в комментариях к этой статье. Спасибо за внимание:)
PS на всякий случай: оригинал статьи доступен по адресу http://photonblog.net/posts/stroitelstvo-digg-like-sajtov-na-cms-drupal/
PPS Смотрите также вторую часть данной статьи.
Движки социальных сетей
Сейчас стало модно создавать свои социальные сети. Вот и я решил не отставать от нее:)
Прежде чем бросить все и начать писать свой движок, я решил посомтреть уже готовые движки. Честно говоря, Pligg мне почему то сразу не понравился, поэтому я пошел искать дальше.
Наткнулся на эту заметку. Вкратце: Pligg - тяжелый и громоздкий, drupal - легкий и гибкий. Так я и пошел искать, что за зверь такой drupal. Результатами моих изысканий стала следующая статья.