Инструкция по интеграции Ajax Comentit в nano-CMS
Сегодня поговорим о том, как внедрить в nano-CMS возможность комментирования, RSS-ленту и некоторые другие радости. Если лень читать много буковок и лазить в код CMS-ки, милости просим на страничку покупки готовой сборки Ajax 3.8 Comentit и nano-CMS - Nano-comment в магазине Инструменты сайто-строителя. Демонстрация лота находится здесь.
Как вы несомненно знаете, nano-CMS - это очень простая и лёгкая система управления контентом, при этом она довольно любима поисковиками. Однако в базовой комплектации мы получаем всего лишь статичный сайт, неспособный к самостоятельному наполнению материалом. Это следовало бы сразу же исправить, чем мы сейчас и займёмся.
Расширять возможности nanoCMS мы будем с помощью чудесного скрипта Ajax Commentit. Мы сможем добавить сервисы комментирования и новостей, оборудовать нану блоками последних комментариев и RSS-лентой. Всё это несомненно улучшит перелинковку, ускорит индексацию и позволит заполучить дополнительный контент для вашего сайта.
Итак, вооружившись блокнотом или каким другим редактором замысловатых буковок, устремимся ради благой цели в бой с любимой всеми наной. Просто так вставить в себя скрипт нана откажется, поэтому нам придётся немного покопаться в её коде.
Правка файла index.php
Открываем index.php в корне наны (не в папке data/content) и ищем такие строки:
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", FALSE);
header("Pragma: no-cache");
Удаляем эти строки, затем ищем строку: die ($content); и также удаляем её. Сохраняем файл. Больше его трогать мы не будем.
Правка файла _design.php
Теперь необходимо поправить вывод шаблона. Здесь нужно изменить принцип вывода шаблона на экран. Теперь мы будем выводить содержание с помощью комманды echo. Коротко об изменении шаблона:
- Во-первых, мы выводим переменную вместо $content=<<<ЕОF контент ЕОF; по новому echo ' контент ';
- Во-вторых, все переменные, используемые в шаблоне, мы теперь окружаем точкой и дефисом. Вот так: '.$add.'
- В-третьих, мы ставим точку с запятой между строками в php коде. Например, мы вставляем форму комментирования:
'.$content;
include ($_SERVER['DOCUMENT_ROOT'].'/com/comment.php');
echo '
Мы не будем здесь вдаваться в подробности. Далее вы можете просто посмотреть на пример. Дефолтный шаблон выглядит таким образом:
$title_default=$_s["title"];
$content=<<<EОF
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>$title</title>
<meta name="title" content="$title">
<link rel="icon" href="$turl/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="$turl/favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="$turl/css/left_content_right.css">
<link rel="stylesheet" type="text/css" href="$turl/css/nano_default.css">
</head>
<body>
<div id="gordi">
<div id="main">
<div class="header"></div>
<div class="wrap">
<div id="content"><!–- google_ad_section_start -–>$content<!–- google_ad_section_end -–></div>
<div class="left">$leftmenu</div>
</div>
<div class="right">$rightmenu $add</div>
<div class="clear"></div>
</div>
<div id="footer">
<span class="small">
<a href="$turl/"><span class="small">$title_default</span></a> © 2008 Построено на <a target="_blank" href="http://nanocms.name/"><span class="small">nano-CMS</span></a>
</span>
</div>
<div id="header">
<div class="title"></div>
<h1>$title_default</h1>
<h2>$title</h2>
$topmenu
</div>
</div>
</body>
</html>
EОF;
/* Ниже этой строки в файле ничего не должно быть. */ ?>
Обновлённый шаблон выглядит таким образом:
$title_default=$_s["title"];
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>'.$title.'</title>
<meta name="title" content="'.$title.'">
<link rel="icon" href="'.$turl.'/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="'.$turl.'/favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="'.$turl.'/css/left_content_right.css">
<link rel="stylesheet" type="text/css" href="'.$turl.'/css/nano_default.css">
</head>
<body>
<div id="gordi">
<div id="main">
<div class="header"></div>
<div class="wrap">
<div id="content"><!–- google_ad_section_start -–>'.$content;
If($_SERVER["REQUEST_URI"]!="/stat.htm" && $_SERVER["REQUEST_URI"]!="/connect.htm") include ($_SERVER['DOCUMENT_ROOT'].'/com/comment.php');
echo '<!–- google_ad_section_end -–></div>
<div class="left">'.$leftmenu;
require_once ($_SERVER['DOCUMENT_ROOT'].'/com/last.php');
echo '</div>
</div>
<div class="right">'.$rightmenu.' '.$add.'</div>
<div class="clear"></div>
</div>
<div id="footer">
<span class="small">
<a href="'.$turl.'/"><span class="small">'.$title_default.'</span></a> © 2008
Построено на <a target="_blank" href="http://nanocms.name/"><span class="small">nano-CMS</span></a> </span>
</div>
<div id="header">
<div class="title"></div>
<h1>'.$title_default.'</h1>
<h2>'.$title.'</h2>
'.$topmenu.'
</div>
</div>
</body>
</html>';
/* Ниже этой строки в файле ничего не должно быть. */ ?>
Вставляем комментарии
В нужном месте (обычно после переменной $content) нужно вставить строку:
Для того, чтобы не встраивать скрипт комментирования на некоторые страницы (например, на страницах Коннекта с администратором или Статистики), нужно задать такое условие:
А если вы хотите вывести также заголовок блока, то следует задать правило немного сложнее. Например:
include ($_SERVER['DOCUMENT_ROOT'].'/com/comment.php');}
Вставляем блоки последних комментариев
В нужном месте (например после переменных $leftmenu или $rightmenu) нужно вставить строку:
или
Использование в качестве новостного скрипта
С помощью функции комментирования можно реализовать также и небольшой сервис новостей. Во-первых, мы сможем подключить RSS-ленту к нане. Во-вторых, сможем публиковать новости с помощью панели администратора.
Итак, чтобы организовать новостную ленту на своём сайте, необходимо вначале убрать форму комментирования из ленты новостей. Для этого следует заменить строку
на
Затем следует вставить форму в панель администрирования с помощью стандартной процедуры.
Вставляем счётчик комментариев
В начале страницы дизайна (_design.php) вставляем скрипт подсчёта комментариев, а также определяем нужные страницы и засовываем значения в переменные.
$count=countcomment('/страница1.htm');
$count1=countcomment('/страница2.htm');
Затем выводим переменные в нужном месте: '.$count.' '.$count1.'
Удаляем функцию авторизации
Иногда скрипт комментариев можно использовать в составе CMS с админкой, однако иметь раздельные панели не удобно. Поэтому вы можете удалить необходимость авторизироваться и вставить страницу админской части CommentIt в админку. Для этого следует всего лишь удалить из файла adm.php (в корне CommentIt) строки, начиная со строки session_start(); и заканчивая строкой 115.
Итак, вы можете прикреплять комментарии к любой странице, устанавливать блоки последних комментариев и последних уникальных комментариев, прикреплять RSS-ленту и организовать новости на своём сайте в помощью всего одного скрипта.
Если вы решились на покупку, выбирайте. Всё зависит от того, хотите ли вы заниматься настройкой и правкой шаблонов или вам это делать лениво. В первом случае следует купить только скрипт Ajax Commentit. Во втором же следует обратить внимание на готовую сборку Ajax 3.8 Comentit + nano-CMS - Nano-comment. Если же интересует помощь в настройке этого хозяйства, могу ответить на ваши вопросы в комментариях или в мыл. Возможна также и оплачиваемая услуга по интеграции в ваш шаблон или адаптации шаблона под nano-CMS с добавлением возможности комментирования. Все предложения несомненно будут рассмотрены.
Рейтинг популярности заметок:




