Приветствие на главной странице нашего блога

 

Всем привет! Добро пожаловать на Блог RS! В самом первом посте, посвященному списку настроек постов, я упомянул пункт, который позволил бы разместить наш пост в черновике. Этот пункт я включил в список реализаций не подумав. Объясню почему. Админ панель, из которой я Вам сейчас пишу пост, работает на bb кодной форме. Для того, что бы увидеть как выглядит пост, необходимо его сначала сохранить в базе данных. Но при сохранение в базе данных пост появляется на главной странице блога. Поэтому я реализовал на своем блоге "папку" черновика, она позволяет администратору посмотреть как будет выглядеть пост после публикации не публикуя его. В нашем же случае, у админ панели есть визуальный редактор, поэтому эта "папка" не актуальна! Немного поразмышляв я вспомнил одну маленькую возможность своего блога, которую не плохо было бы включить в функционал разрабатываемого нами движка.

 

 

О какой такой возможности я говорю? Заходя на главную страницу моего блога Вы можете лицезреть вступление.

Это предисловие, является обычным постом, и находится в списке всех материалов блога.

Как же тогда обычный пост попадает в самый верх главной страницы? Все очень просто. У меня в админ панели есть кнопочка, которую я назвал "блокиратор поста". Если нажать на эту кнопочку, то у поста, в базе данных, в колонку block запишется единичка. Эта единичка позволяет специальной функции вытащить этот пост и прикрепить его в самом вверху главной страницы. Это такая небольшая хитрость позволяющая на главной странице создать некое приветствие, которое администратор в любой момент можете отредактировать.

Долгое оказалось у меня введение к посту Так вот чем мы сегодня займемся. Мы создадим колонку в базе данных, и напишем функцию, с помощью которой мы сможем вытащить из БД определенный пост и закрепить его на главной странице. А в следующем посте мы создадим пункт настройки позволяющий с помощью админ панели создавать приветствие на блоге!

Не смотря на то, что возможность не так сложно реализовать, я решил не грузить Вас, как я это делаю уже на протяжение нескольких недель, и разделить описание реализации возможности на два поста. Этот пост будет не очень большим, так как функция блокиратора состоит буквально из 5-10 строк. Цели я озвучивать не буду, и так все должно быть ясно приступим

 

Для новичков

 

Совсем забыл сказать... Этот пост, как и 95% постов на моем блоге, посвящен циклу статей "Создать блог с нуля", и если Вы на блоге в первые, то этот пост покажется Вам совершенно бесполезным. Почему я так считаю? Потому что тут правятся файла которые Вы и в глаза не видели, естественно Вы ничего не поймете Но не спешите уходить! Если у Вас есть желание на практике научится программировать на php, то переходите по ссылке выше, и приступайте к обучению

Если Вам понравился мой проект, то подпишитесь на RSS ленту блога через ридер, или же по почте

 

Создаем новую колонку в базе данных

 

Приступим, заходим в таблицу blog нашей базы данных. Жмем на кнопку "Структуры" и создаем новую колонку после колонки cat

Заполняем поля вот так

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

Исправляем в новой колонке ноль на единицу

Вот что у нас должно получится

 

Шаблон для функции блокировки поста

 

Шаблон очень простой, вот html код

		<!-- БЛОКИРОВАННЫЙ ПОСТ -->
<div>[_text]</div>
		<!-- БЛОКИРОВАННЫЙ ПОСТ -->

Назвал этот шаблон lockpost.html и сохранил в папке templates

 

Функция блокировки поста

 

Функция очень простая, поэтому я не буду объяснять ее работу, в коде все за комментировано

<?
function lockpost()//функция блокировка поста
{
	$result_block = mysql_query("SELECT text FROM blog WHERE block='1'");//выносим из базы данных пост где колонка block равна единице
	$myrow_block = mysql_fetch_array($result_block);
	if($myrow_block != "")//проверяем есть ли в базе данных такой пост, если есть...
	{
		$sm_read = file("templates/lockpost.html");//...подключаем шаблон
		$sm_read = implode("",$sm_read);//так как функция file() выводит массив, то склеиваем его в целую переменную
		$sm_read = str_replace("[_text]",$myrow_block[text],$sm_read);//заменяем код-слово на текст из базы данных
		return $sm_read;//выводим результат в виде html кода
	}
	else return "";//...если нет, результатом функции будет пустота
}
?>

Сохранил этот файл в папке moduls. Назвал - lockpost.php

 

Подключаем новый модуль

 

Открываем пользовательский файл index.php и редактируем подключение мини новостей

//МОДУЛЬ МИНИ НОВОСТЕЙ
if(!$blog AND !$contact AND !$cat)//Новое условие
{
include("moduls/news.php");
include("moduls/lockpost.php");//подключаем функцию блокировки поста
$txt = lockpost().index_page();//Выводим результат функции в переменную, которая отобразится на экране пользователя
}
//МОДУЛЬ МИНИ НОВОСТЕЙ

Все очень просто

 

Заключение

 

Вот так выглядит наш блог с отключенным приветствием

А вот так с включенным

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

Всего Вам самого наилучшего! У меня все!

Исходник

______

P.S.: Флешка с своим логотипом, довольно забавный подарок на какой-нибудь праздник, разве я не прав? Такой подарок будет полезным, и в тоже время будет напоминать о человеке который эту флешку подарил! Закажите такой подарок на флешки Киев...

 

Возможно Вам будут интересны следующие заметки

Комментарии (4)

Ваше имя *
Сайт
Ваш E-mail *
Ваше сообщение *
 
Юрий, 28 Февраля 2012 г. 22:03 пишет:
Гость
Вы преодаливаете нелегкий но интересный путь, успехов Вам.
wertock, 02 Марта 2012 г. 15:10 пишет:
Читатель
Я как раз искал ни что подобное для моих сатов.
kaser, 22 Мая 2012 г. 17:11 пишет:
Гость
прикольно
CoopeR, 27 Августа 2013 г. 14:58 пишет:
Читатель
В версии которую вы присылаете по почте в файле lockpost.php нужно исправить lockpost.html на lockpost.tpl.php