Реализуем сервис публикации новостей в 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) нужно вставить строку:

require_once ($_SERVER['DOCUMENT_ROOT'].'/папка_со_скриптом/news.php');

Вставляем блок последних новстей

В нужном месте (например после переменных $leftmenu или $rightmenu) нужно вставить строку:

require_once ($_SERVER['DOCUMENT_ROOT'].'/папка_со_скриптом/last.php');

Убираем форму комментирования в админку

Так как мы собираемся публиковать новости с помощью панели администратора, то форма добавления новости нам не нужна на сайте.

Для этого в файле news.php следует удалить строки:

if ($_SERVER["REQUEST_URI"]=="/".$wwp."/comment.php") exit('This work CommentIt 3 Ajax');
if ($coder==1) {$titleloading=" Идёт загрузка...";} else {$titleloading=" Р дёт загрузка...";}

и

echo '<div id="tableDiv"><img alt="" src="/'.$wwp.'/loader.gif" border="0" align="absmiddle"> '.$titleloading.'</div>';
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 например после строк:

<body>
<font color="#CCCCCC"><span style="font-size:24pt;">CommentIt - Администрирование</span></font>
<hr />

вставляем форму публикации новости:

<? require_once ($_SERVER['DOCUMENT_ROOT'].'/папка_со_скриптом/comment.php'); ?>
<br />
<hr />

И конечно, нам нужно, чтобы новости отображались только на нашей странице news.htm. Для этого редактируем файл comment.php. Заменяем строку:

<input type="hidden" name="url" id="urls" value="<?echo$_SERVER["REQUEST_URI"];?>">

строкой:

<input type="hidden" name="url" id="urls" value="/news.htm">

Редактируем форму публикации и убираем капчу

Практически всё сделано, однако в админке хочется удобства. Для этого нужно убрать лишние поля и капчу. Поэтому редактируем файл skin/addcom.html. Добавляем стиль style="display:none;" полю Ваша почта: и div'у, в который заключён шаблон {$capt}. И удаляем поле ввода капчи, так как оно нам больше не понадобится.

Также было бы неплохо добавить полю input id="nick" параметр value="Admin", чтобы каждый раз не вводить своё имя.

Далее удаляем саму проверку капчи при публикации новости. Это можно сделать двумя путями.

Первый: В файле func.php убираем строки:

if(isset($captcha_keystring) && $captcha_keystring == $keystring){ echo '<input type="hidden" name="errorcamp" id="errorcamp" value="0">';

}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 ссылки.

Интересно, что будет дальше? Подпишись на RSS


Инструкция по интеграции 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("Content-Type: text/html; charset=$charset", false);
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 '

Мы не будем здесь вдаваться в подробности. Далее вы можете просто посмотреть на пример. Дефолтный шаблон выглядит таким образом:

<?php /* Выше этой строки в файле ничего не должно быть */

$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;

/* Ниже этой строки в файле ничего не должно быть. */ ?>

Обновлённый шаблон выглядит таким образом:

<?php /* Выше этой строки в файле ничего не должно быть */

$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'].'/папка_со_скриптом/comment.php');

Для того, чтобы не встраивать скрипт комментирования на некоторые страницы (например, на страницах Коннекта с администратором или Статистики), нужно задать такое условие:

If($_SERVER["REQUEST_URI"]!="/stat.htm" $$ $_SERVER["REQUEST_URI"]!="/connect.htm") include ($_SERVER['DOCUMENT_ROOT'].'/com/comment.php');

А если вы хотите вывести также заголовок блока, то следует задать правило немного сложнее. Например:

If($_SERVER["REQUEST_URI"]!="/stat.htm" $$ $_SERVER["REQUEST_URI"]!="/connect.htm") {echo '<h3>Комментарии:</h3>';
include ($_SERVER['DOCUMENT_ROOT'].'/com/comment.php');}

Вставляем блоки последних комментариев

В нужном месте (например после переменных $leftmenu или $rightmenu) нужно вставить строку:

require_once ($_SERVER['DOCUMENT_ROOT'].'/папка_со_скриптом/last.php');

или

require_once ($_SERVER['DOCUMENT_ROOT'].'/папка_со_скриптом/last2.php');

Использование в качестве новостного скрипта

С помощью функции комментирования можно реализовать также и небольшой сервис новостей. Во-первых, мы сможем подключить RSS-ленту к нане. Во-вторых, сможем публиковать новости с помощью панели администратора.

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

<input type="hidden" name="url" id="urls" value="<?echo$_SERVER["REQUEST_URI"];?>">

на

<input type="hidden" name="url" id="urls" value="/страница_новостей.htm">

Затем следует вставить форму в панель администрирования с помощью стандартной процедуры.

Вставляем счётчик комментариев

В начале страницы дизайна (_design.php) вставляем скрипт подсчёта комментариев, а также определяем нужные страницы и засовываем значения в переменные.

include_once ($_SERVER['DOCUMENT_ROOT']."/папка_со_скриптом/countcomment.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 с добавлением возможности комментирования. Все предложения несомненно будут рассмотрены.

Интересно, что будет дальше? Подпишись на RSS


Новый короткий адрес магазина: lx7.ru

Не успел я отписать предыдущий пост, как подвернулась мне небольшая заметка Молодого Оптимизатора о распродаже трёхбуквенных доменов по 1WMZ.

Посмотреть на домены я решил скорее ради любопытства, чем из решительного желания зарегистрировать что-нибудь для себя. Ведь известно, как относится народ к распродажам и прочим мероприятиям, главным слоганом которых является слово «Халява». Вот и чувствовалось, что всё уже давно распродано и остался только скам, за который и 1 уй отдавать жалко. Собственно сам seoproff так и писал.

Однако полистав странички с адресами доменов, я нашол кое-что интересное. Домен lx7.ru подходил по стилистике (как вы заметили, я люблю пихать в домен буквы «l» и «x», так как они ассоциируются с моим сетевым ником), а цыфра «7» не пугала. Врядли бы я стал регистрировать домен просто так. Но в свете эпопеи с магазином и довольно конкретных размышлений на тему вынесения шопа на отдельный домен (lexnevermind.com до сих пор в бане Яндекса и Платон не собирается пока его оттуда доставать) было принято решение прикупить домен lx7.ru для организации на нём шопа. Кстати, если Яндекс так ру-домены любит, как об этом болтают все кому не лень, то это ещё один плюс.

Имеющийся шоп пока что останется, но ссылки в прошлом посте, на этом блоге и прочих своих ресурсах я подправлю. Новые товары отныне будут заселяться по новому адресу: lx7.ru - Инструменты сайто-строителя (Возможно на момент перехода по ссылке DNS ещё не прописался должным образом. Поэтому не удивляйтесь, если увидите на экране шаблон паркинга).

Завтра обещаю подробный пост об интеграции Ajax Commentit в nanoCMS, а также новый лот в шопе (готовая сборка nano-comment). А то ведь негоже сразу 3 поста в день писать. Особенно после долгого молчания.

------------------

Бормалей предлагает Прогон по социалкам за постовые. Не могу отказаться.

Интересно, что будет дальше? Подпишись на RSS


Page: 01 02 03 04 05 06 07 08 09 10
Fast: 10 20
март, 2010
пн вт ср чт пт сб вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31