Хотел дописать свою CMS но увы дело это долгое по причине того, что постоянно придумываю что-то еще, и внедряю все новые элементы.. Боюсь что мое, так сказать, «дописывание» может никогда не закончится. Эта небольшая статья будет содержать цель, эдакий план, моего (и Вашего) проекта. Написание статей на блоге помогает мне разобраться в написанном коде, и улучшать его. Тем самым этот цикл статей мне поможет точно, возможно он и поможет Вам, ведь эти статьи можно расценивать как уроки php. Писать будем скрипт блога, то есть нарекаю этот цикл именем «создать блог с нуля»!
Во время создания скрипта блога мы будем пытаться не смешивать php код с html кодом. Я переписал код своего блога именно так, и скажу с уверенностью, что править такой сайт намного легче. Особенно если нужно сменить дизайн не трогая код.
В цикл войдут такие разделы как базовые навыки html, несколько уроков php, и само собой много много практики
Не советую пропускать ни одной из статей, начните с верстки, после почитайте материал из части «уроки php», далее изучите базовый функционал блога (Часть III и IV). Так Вы сможете понять как устроен сам движок. Уже под конец приступайте к самому сложному, это к улучшением. Приятного Вам изучения
Вот ссылки на уже написанные статьи:
Если у Вас есть какие либо идеи по улучшению проекта ( какая то интересная «фишка» ), с удовольствием выслушаю, и если мне ваша идея по силам, то обязательно опубликую ее на блоге!
Вы не представляете, как меня в последнее время раздражают ссылки вида /index.php?blog=2. Ну просто бесит меня это :)
В связи с этим решил как-нибудь исправить это дело. Все конечно же знают (я надеюсь) что значит ЧПУ-ссылки. Именно они как раз бы здесь не помешали. Сейчас у меня ссылки отображаются как указано выше.
Что я сделал:
1) Создал файлик .htaccess и в него записал всего 2 строки:
RewriteEngine On
RewriteRule ^blog/([0-9]+)/? index.php?blog= [QSA,L]
Т.е. первая строка включает включает работу механизма преобразования модуля mod_rewrite, вторая строка представляет собой регулярное выражение, где index.php?blog=$1 мы заменяем на более читабельный адрес blog/([0-9]+)/
2) В файле index.html ОБЯЗАТЕЛЬНО прописать такую фишку:
<base href=" http://ВАШ АДРЕС САЙТА/ "/>
Это сделано для задания абсолютного пути к документам(а именно это касается style.css).
Воооот....согласитесь, что теперь страшно-корявенький URL выглядит более привлекательно:
/index.php?blog=3 --> /blog/3/
НО!!! Как теперь исправить чтобы ссылки у новостей с надписью "Читать дальше" отображали именно новый URL, или ХОТЯ БЫ при нажатии переходили к нему (хотя последний вариант не совсем гуд, т.к. дубликат контента появляется)?
Ждем-с ответа... :)
Что касается кнопки "читать дальше", то тут проблем не должно быть. Небольшие манипуляции с кодомhtml и php для придания нужного вида ссылке и усе =)
http://gir-cms.com
1. Есть ли у Вас хоть одна запись в базе данных?
2. Видите ли Вы на главной странице графику?
2. В том то и дела что нет :(
Что касается всего остального. У Вас папка модули называется "module". В коде же Вы пишите "moduls". Исправьте либо в коде, либо поменяйте название папки с "module" на "moduls".
Что же касается wordpress. Когда то программисты ( не считая разработчиков ) не знали как она работает, стало быть всяких новых, посторонних, возможностей для нее не было. И по сей день, что бы написать новый модуль для wp необходимо обладать не только языком программирования, но и технической информацией. За примером далеко бегать не буду. Я понятие не имею как работает этот популярный движок, и само собой не могу для нее ничего написать.
Теперь возьмем в пример Ваш движок. Если сторонний программист знает как она работает, ему не составит труда написать модуль который автоматический в строится в Ваш движок. Автоматический режим позволит пользователю не знающего языка программирования, расширить функционал Вашего движка.
Я до этого проекта писал код "сплошняком". Такой код было очень сложно переделывать, так как был написан сплошным текстом. Сейчас же у меня есть один файл к которому подключаются другие, совершено не зависимые друг от друга, файлы. Разве это не модульность?
и как реализовано? Иконка в посте Автор Блога
2. Про "Иконка в посте Автор Блога" не совсем понял вопроса, что за иконка?
Как это реализовано?
3 - email находится в бан листе, пользователь не сможет писать комментарии с email'а с данным статусом
2 - Гость блога, отображается иконка гостя (знак вопроса)
1 - Читать блога, отображается иконка читателя (книжечка)
0 - Автор блога, отображается иконка автора (ручка)
2) Как определяется что читатель блога? =) Я тоже каждый день захожу и читаю тут все новые статьи))
2. Читателя определяю я, по активности на блоге, или по пожеланию читателя.
Спасибо за внимание)
Что касается ссылки в админку, то тут вопрос можно решить многими способами, от прописи ссылки в футоре, до обычно закладки в браузере, поэтому думаю это не проблема =)
Что касается твиттера, чатов я не видел, видел просто несколько последних твиттов аккаунта администратора. Вы про это говорите?
Как все подключать я знаю) Вопрос в том как организовать выбор в панели администратирования)) Например сделать раз и на основе этого и все остальное переделать)) так как в программировании не очень силен
Например потом и сделать выбор редактора)) bbcode или WYSIWYG
Установка таких прелестей как комментарии от соц сетей, и вывод твиттов, делается ручками в шаблоне, инструкций в интернете полным полно. Создавать автоматическое внедрение этих чудо штук, значит создавать дополнительную нагрузку.
По сути, если Вам так хочется, то можете написать этот код сами. Ведь сложного тут ничего нет. На моем блоге есть серия постов, где мы создавали настройки для каждого опубликованного поста. По аналогии можно внедрить в админ панели кнопку которая меняла бы в базе данных (или в файле) значение отвечающее за включение и выключения функционала, который Вы хотите реализовать. А в пользовательской части, на основание этого значения подключать нужный код, или отключать.
P.S.: Для начала я допишу функционал, который уже есть на блоге, а после подумаю о созданиях модулей, так что Ваша идея не пропадет даром =) я скорее всего реализую такую возможность, но не в скором будущем...
Но тогда и все переписывать придеться что бы и title и email для формы отправки указывать, хотя если что получиться, напишу здесь о своих достижениях может подправите так как самостоятельно не соображу правильно ли все сделал хоть может и будет работать
Надеюсь на дольнейшее развитие, даже если я не комментирую, но я каждый день посещаю и смотри не появилоось ли что нибудь новенькое))
http://skripter.info/cms/raznoe/4930-niuncms-v-10.html
Наконец-таки я отыскал буквально "по-пунктам" разложенное руководство по принципиальному созданию CMS. Огромное спасибо автору за проделанный труд!
Я мало знаком с PHP, но изучал другие языки.
Я начал читать Ваши статьи (уроки) по созданию блога (CMS) и заметил много "некрасивых" (неприемлемых мастерами) моментов. В этом большой минус, уж извините за открытость. НО!!!
Я выражаю Вам огромную благодарность, т.к. подобного описания этапов создания CMS мне еще не доводилось встречать в столь развернутом виде.
Я не отрицаю их существования, я не утверждаю, что Ваше описание лучше всех остальных, но... я нашел Ваше, и не нашел других. А это значит, что у Вас хорошо подобраны ключевые слова, или же подобных описаний на русском языке действительно нет.
Еще раз спасибо. Читаю.
Решил реализовать количество просмотров и комментариев в кратких и полных постах.
Про количеству просмотров я добавил в news.php в функции function index_page($chpu,$scin):
строчку (там где замена идентификаторов на переменные из базы данных)
$edd_tamp = str_replace("[_views_col]",$myrow_index[loock],$edd_tamp);
как оказалось все работает
А как мне это реализовать уже по количеству комментариев?
(подумывал создать новую ячейку в таблице blog, при добавление комментария он бы посылал запросы и туда, ну плюсовал +1 к тому значению что там есть)
Или было бы удобно создать отдельно модуль?
Буду очень благодарен если реализуете данную возможность!
на переменную $scin в функции не обращайте внимание - это я создал свой собственный рабочий шаблонизатор :-)
пробывал начать с этих строчек в comm.php (попал бесконечный цикл)
$view_comms = mysql_query ("SELECT view_comms FROM blog");
for($i=$view_comms;$view_comms;$i++){
mysql_query ("UPDATE blog SET view_comms='$view_comms'");
}
Буду писать функцию подсчета.
Не подскажете с чего начать?
То есть Ваш код должен выглядеть приблизительно вот так:
Вроде бы на сколько я помню модуля меню по выборки статей для определенной категории(пункта меню) не было,
может чегото я пропустил( проблемма вот вчем:
1. в аднинпанели в разделе навигация создал новый пункт меню, на сайте он отобразился.
2. Иду в раздел Добавить пост, добавляю бла-бла-бла в посту - также выбираю ту самую категорию, ту которую создал.
3. ну все правильно и в базе все есть
4. но только как я нажимаю на новый пункт меню, поебляется ошибка 404 (я знаю что это значит что он лезет в каталог с именем категории), а мне нужно чтобы он показал только эту/эти статью, для этой категории?
У вас на сайте все это прекрасно работает, как мне сделать тоже самое?
и по модулс комментам, я что-то вас не понят причем тут функция mysql_fetch_assoc() (можно по подробнее?)?
http://rio-shaman.ru/razrabotka-cms/razrabotka-bloga/menju-i-mini-novosti/
По поводу функции mysql_fetch_assoc(). Вы сказали, что у Вас там какой-то бесконечный цикл. Я ответил, что он у Вас бесконечный по той причине, что Вы пытаетесь листать указатель на результат запроса, а не выборку запроса (т.е. сам результат).
mysql_query() возвращает указатель, а mysql_fetch_assoc() по указателю вытаскивает выборку в виде ассоциативного массива.
все перепробовал ничего не помогает
и в .htaccess менял и в addmenu.php менял
На всякий случай почитайте вот эту заметку:
http://rio-shaman.ru/razrabotka-cms/uluchshenija/funkcija-chpu/
Там описаны регулярные выражения, по которым движок определяет правильный URL или нет. В проверку правильности, как раз, входит расширение .html. Думаю если его убрать из регулярок, то все заработает
Вот как это сделал я, но у меня ошибка где то(( везде одна и та же дата высвечивается 1 января
В модуле news.php
после
высвечивается и дата, и месяц, и время но не те которые в базе(((
В базе менял тип даты(date_b) на data (был varchar(255))
вот пример как это выглядит www.webadmin.kz
То Вам, прежде чем использовать функцию date(), необходимо перевести дату в секунды. Для этого используйте функцию mktime()
http://www.php.su/mktime
"отображает сколько опубликовано комментариев по E-Mail"
при каждом его комментарии показывать на странице где он его оставляет отображается счётчик например:
Группа: Гость *(Ну это уже есть)*
Сообщений: 100500
Добавил: 14 августа 2013г. 13:21 (ну это уже есть)
Таблица с комментариями: table_comments
Поле email: user_email
Емайл пользователя: test@mail.ru
То запрос будет вот такой:
Например если мы имеем вот такие данные: (Я привожу выдуманную структуру таблицы с комментариями)
Таблица с комментариями: table_comments
Поле id: comment_id
Поле имя пользователя: user_name
Поле email: user_email
Поле текста комментария: comment_text
То запрос будет приблизительно вот такой
после:
скрин: http://rghost.ru/48109363/image.png
Если появится ошибка, сообщите ее мне, может я в синтаксисе ошибся
Строка: $myrow_index = mysql_fetch_array($result_index);
например если у ползователя 1 до 50 сообщения то отобразилась бы так:
Рейтинг: Новобранец
если от 50 до 100 то:
Рейтинг: Стажер
если от 100 до 150 то:
Рейтинг: Баклажан
ну и т.д...подскажите кодом как арганизавать плис?
сделал так:
так пробывал:
особенно интересует вопрос, по созданию каталога товара и вывод через админ панель.
Но вот вопрос такой) Скорее всего в какой то из статей это есть, но еще не дошел по ходу... И в списке не могу найти подобного урока. Есть ли у вас статья, в которой показано, как загружать, например, в анонс статьи картинку? Как ее загружать на сервер и хранить адрес в базе данных к ней. Или может тут без БД можно обойтись...
Спасибо большое заранее за ответ!
Менеджер файлов для нашей CMS Часть 1
Менеджер файлов для нашей CMS Часть 2
Менеджер файлов для нашей CMS Часть 3
Хотел сразу Вас поблагодарить, за выложенную информацию которая очень полезная.
Но, у меня возник вопрос. Хочу реализовать вывод количества новостей в каждой категории в списке категорий. Вот как у Вас здесь
Прошу связаться со мной по мейлу или скайп ialexjobs, а если не хотите. Прошу помочь прям здесь) Заранее благодарен!
Во-первых у самой функции menu() необходимо подправить SQL запрос, приблизительно вот так:
Собственно возник вопрос по поводу RS-BLOG,
Как создать категорию? (категория это пункт меню?)
и самый основной вопрос))
делаю публикацию в название пишу Галерея и т.д.
Создаю а в списке публикаций нет заголовка, если создаю и везде вбиваю test то норм отображает
Предыдущая запись "Добро пожаловать в CMS RS-BLOG v2" нормально показывается в списке
А то у меня что то не получается
Сдесь я приведу его не все, но самые главные преимущества.
- PHP (версия на выбор)
- MySQL
- Дисковое пространство: 2000MB
- Сайт-билдер
- Быстрая установка WordPress, Joomla, Drupal, phpBB, SMF и других скриптов
- UpTime: 99.9%
- Несколько субдоменов на выбор
- Хостинг на мощных серверах Intel Xeon, Debian
- Файловый менеджер прямо из Панели Управления
- Cron
- Zend Optimizer
- несколько сайтов на одном аккаунте
- быстрая регистрация доменов
- система тикетов и тех. поддержки
Также в панели управлении можно купить платные VPS/VDS и услуги платного вирт. хостинга.
Вот в этом посте есть ссылка на движок в utf8 кодировке, надеюсь поможет.
Вообще у Вас может не работать банально из-за новой версии php или апача. Движок то писался очень давно, да и код мягко говоря не блещет чистотой. А в новых версиях php многое ужесточили и поменяли, так что то что ранее работало, могло отвалится.