Реализуем сервис публикации новостей в nano-CMS
Продолжаем колдовать над nano-CMS.
Ранее был опубликован мануал по реализации сервиса комментирования в nano-CMS. А сегодня мы поговорим о том, как внедрить в nano-CMS сервис публикации новостей и RSS-ленту с помощью того же скрипта комментариев. Ежели вам лень читать много буков и влазить в программный код КМС-ки, посетите страничку покупки готовой сборки Ajax 3.8 Comentit и nano-CMS - nano-News-Simple в магазине Инструменты сайто-строителя. Демонстрация лота находится здесь.
Как вы несомненно знаете, nano-CMS это очень простая и лёгкая система управления контентом. Однако в базовой комплектации мы получаем всего лишь статичный сайт, неспособный к самостоятельному наполнению материалом. Ранее мы рассмотрели как оборудовать нану сервисом комментариев (демо-сайт со всеми пояснениями). Теперь с помощью того же скрипта мы реализуем на базе nano-CMS небольшой новостной сервис.
Расширять возможности nanoCMS мы будем с помощью чудесного скрипта Ajax CommentIt. Мы сможем добавить сервис новостей, оборудовать нану блоком последних ньюсов и новостной RSS-лентой. Всё это несомненно улучшит перелинковку и индексацию вашего сайта.
Итак, начнём наш моддинг наны.
Договоримся для начала, что будем оперировать файлом news.php, а не comment.php. Однако comment.php нам тоже пригодится, поэтому продублируем этот файл и назовём его news.php.
Правка файла index.php
Всё точно также, как и с комментариями. Исчерпывающую информацию можно получить здесь и здесь
Правка файла _design.php
Аналогично предыдущему пункту. Не вижу смысла 2 раза писать одно и тоже.
Вставляем новости
В нужном месте (обычно после переменной $content) нужно вставить строку:
Вставляем блок последних новстей
В нужном месте (например после переменных $leftmenu или $rightmenu) нужно вставить строку:
Убираем форму комментирования в админку
Так как мы собираемся публиковать новости с помощью панели администратора, то форма добавления новости нам не нужна на сайте.
Для этого в файле news.php следует удалить строки:
if ($coder==1) {$titleloading=" Идёт загрузка...";} else {$titleloading=" Рдёт загрузка...";}
и
echo "<div id='addfomz'>";
viewform();
echo "</div>";
<input type="hidden" name="url" id="urls" value="/папка_со_скриптом/news.htm">
<input type="hidden" name="for" id="forms" value="123">
<input type="hidden" name="maxcom" id="maxcom" value="<?echo$sumvl;?>">
Затем на нужно вставить форму публикации в админку. Ведь её там нет по умолчанию. Для этого в нужном месте в файла adm.php например после строк:
<font color="#CCCCCC"><span style="font-size:24pt;">CommentIt - Администрирование</span></font>
<hr />
вставляем форму публикации новости:
<br />
<hr />
И конечно, нам нужно, чтобы новости отображались только на нашей странице news.htm. Для этого редактируем файл comment.php. Заменяем строку:
строкой:
Редактируем форму публикации и убираем капчу
Практически всё сделано, однако в админке хочется удобства. Для этого нужно убрать лишние поля и капчу. Поэтому редактируем файл skin/addcom.html. Добавляем стиль style="display:none;" полю Ваша почта: и div'у, в который заключён шаблон {$capt}. И удаляем поле ввода капчи, так как оно нам больше не понадобится.
Также было бы неплохо добавить полю input id="nick" параметр value="Admin", чтобы каждый раз не вводить своё имя.
Далее удаляем саму проверку капчи при публикации новости. Это можно сделать двумя путями.
Первый: В файле func.php убираем строки:
}else{
echo '<input type="hidden" name="errorcamp" id="errorcamp" value="1">';
if ($coder==1) {$bad.="Вы не правильно ввели символы, повторите попытку";} else {$bad.="Р’С‹ РЅРµ правильно ввели символы, повторите попытку";}
}
Второй: В файле config.php после строки: # CAPTCHA string length поставить $length = 0;
Теперь вам не придётся вводить капчу и своё имя при публикации новостей, а сама форма отправки данных приобретёт удобный вид.
Напомню, что готовую сборку вы можете приобрести в нашем шопе. Вам не придётся проделывать все эти операции, а потребуется только загрузить сборку на хостинг, создать 1 таблицу в базе данных MySQL и выставить настройки. Все необходимые инструкции по установке вы получите при покупке.
Если же интересует помощь в настройке этого хозяйства, могу ответить на ваши вопросы в мыл. Возможна также и оплачиваемая услуга по интеграции в ваш шаблон или адаптации шаблона под nano-CMS с добавлением возможности публикации новостей. Все предложения несомненно будут рассмотрены. Конечно возможно одновременно реализовать на сайте и сервис новостей и сервис комментариев. Скрипт для этого покупать заново не нужно.
--------------------
Новый конкурс raznoblog’a Первый блог-портал для женщин и мужчин меняется постовыми шесть к одному!
Сode Is Art тоже менятся постовыми, но один к одному.
И Блог Seo от Fewal (Фьюал) туда же. Тоже предлагает обмен ссылками. К сожалению, 1 к 1. Немного в тырнете сейчас проходит акций, участники которых могут получить за свой линк 2 или 3 ссылки.
Инструкция по интеграции 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 с добавлением возможности комментирования. Все предложения несомненно будут рассмотрены.
Новый короткий адрес магазина: lx7.ru
Не успел я отписать предыдущий пост, как подвернулась мне небольшая заметка Молодого Оптимизатора о распродаже трёхбуквенных доменов по 1WMZ.
Посмотреть на домены я решил скорее ради любопытства, чем из решительного желания зарегистрировать что-нибудь для себя. Ведь известно, как относится народ к распродажам и прочим мероприятиям, главным слоганом которых является слово «Халява». Вот и чувствовалось, что всё уже давно распродано и остался только скам, за который и 1 уй отдавать жалко. Собственно сам seoproff так и писал.
Однако полистав странички с адресами доменов, я нашол кое-что интересное. Домен lx7.ru подходил по стилистике (как вы заметили, я люблю пихать в домен буквы «l» и «x», так как они ассоциируются с моим сетевым ником), а цыфра «7» не пугала. Врядли бы я стал регистрировать домен просто так. Но в свете эпопеи с магазином и довольно конкретных размышлений на тему вынесения шопа на отдельный домен (lexnevermind.com до сих пор в бане Яндекса и Платон не собирается пока его оттуда доставать) было принято решение прикупить домен lx7.ru для организации на нём шопа. Кстати, если Яндекс так ру-домены любит, как об этом болтают все кому не лень, то это ещё один плюс.
Имеющийся шоп пока что останется, но ссылки в прошлом посте, на этом блоге и прочих своих ресурсах я подправлю. Новые товары отныне будут заселяться по новому адресу: lx7.ru - Инструменты сайто-строителя (Возможно на момент перехода по ссылке DNS ещё не прописался должным образом. Поэтому не удивляйтесь, если увидите на экране шаблон паркинга).
Завтра обещаю подробный пост об интеграции Ajax Commentit в nanoCMS, а также новый лот в шопе (готовая сборка nano-comment). А то ведь негоже сразу 3 поста в день писать. Особенно после долгого молчания.
------------------
Бормалей предлагает Прогон по социалкам за постовые. Не могу отказаться.



