Всем привет! Добро пожаловать на Блог 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.: Флешка с своим логотипом, довольно забавный подарок на какой-нибудь праздник, разве я не прав? Такой подарок будет полезным, и в тоже время будет напоминать о человеке который эту флешку подарил! Закажите такой подарок на флешки Киев...