Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » простенькая CMS

Ответить
Настройки темы
простенькая CMS

Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


Товарищи! нужно решение проблемы.
Стоит задача написания простенькой CMS - то есть только для добавления/удаления/редактирования разделов сайта. Так вот, был бы благодарен за идею, каким механизмом это все сделать, в смысле в какой форме лучше записывать отредактированную структуру в базу и считывать ее оттуда при открытии сайта, или вовсе без базы как-то обойтись.

Отправлено: 08:50, 03-10-2007

 

Аватара для pasha4ur

Ветеран


Сообщения: 2764
Благодарности: 315

Профиль | Отправить PM | Цитировать


Что-то ответов не густо. Мне тоже это интересно. Пока пытаюсь рахобраться с Joomla

-------
How to bypass iCloud lock on Apple iPad 2, 3, 4,
Air, mini and Pro


Отправлено: 20:35, 04-10-2007 | #2



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

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


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


а все пытался выдумать всяческие условные обозначения в таблицах, но как-то это все скользко...

Отправлено: 21:32, 04-10-2007 | #3


Аватара для pasha4ur

Ветеран


Сообщения: 2764
Благодарности: 315

Профиль | Отправить PM | Цитировать


В программирование больше чайник.
Шаблон.
Таблица разделов.
№ по списку- название раздела
Содержание разделов
№ по списку - содержание.
Бахаешь новый раздел и он по умолчанию в содержание вставляет "пустое тело" или "Раздел под разработакой".
Построение меню.
Считываешь сколько в первой таблице записей и потом .....

-------
How to bypass iCloud lock on Apple iPad 2, 3, 4,
Air, mini and Pro


Отправлено: 19:41, 05-10-2007 | #4


Аватара для ][alter

Старожил


Сообщения: 195
Благодарности: 15

Профиль | Сайт | Отправить PM | Цитировать


Пользователь заходит, на сайт, например www.my***/page/4. Apache при помощи модуля rewrite разбивает адрес и передает в программу строку запроса page/4. Скрипт PHP видит что ему нужно произвести действия page – вывести страницу с номером 4, и делает запрос базу данных, из которой возвращается содержимое и название странички. Далее данные передаются в шаблонизатор и подставляются в шаблон темы.

-------
Если хочешь научиться плавать, прыгай в воду. Находясь на суше, никакой умонастрой тебе не поможет.


Отправлено: 21:10, 05-10-2007 | #5


Аватара для Hitsi

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Отправить PM | Цитировать


Если хотиете работать с шаблонами и пхп, то присмотритесь к smarty.... мануал на нее и сами скрипты http://www.smarty.net/manual/ru/

Структура может быть разной...
1) через переменные:
т.е. у нас запрос идет всегда к одной единственной странице index.php к которой просто передаются переменные
index.php?razdel=first&do=registration&part=second
а дальше срипт нам подкружает наш первый раздел в первом разделе переходит на страничку регистрации, и эта страничка отображает вторую часть нашей регистрации
Для примера могу привести SlaedCMS


2) через "хитрые" переменные:
тут отличается от первого пункта тем, что переменные у нас "хитрые"
index.php?razdel=first_registration_second&do=some
данная переменная разбивается на пункты и загружается сразу страничка /first/registration/second
точнее не загружается а подгружается её скрипт в нудном для нас месте. Структура сайта здесь расчитана на то что у нас все нужные нам странички расположены в определенных папках, притом каждая следующая папка может наследовать какой-то код предыдущей простым присоединением include("../some_script.php"); ну и заодно еще получаем переменную do
(если честно... то глючный способ, но вполне достойный жизни)

3) через "папки":
данный вариант удобен при работе со смарти, т.е. у нас есть папочка к примеру registration в котрой есть свой index.php и при переходе на some.sait/registration/ мы загрузим этот index.php в котром уже прописан какой-то скрипт и загружается соответсвующий шаблон, ну и естественно мы можем передавать туда переменные
some.sait/registration/second/?do=login

плюсы: модульный тип, т.е. можно написать модуль который будет подгружаться при указании razdel=module_name (или во втором случае это первый пункт до подчеркивания, в третьем это вообще вся папка) и дальше уже будет работать этот модуль, есть возможность работы с шаблонами, в любом из трех вариантов ты отсылаеш пользователя на нужный тебе скрипт с нужными параметрами (переменными) который уже считывает с нужной базы данных информацию согласно параметрам.
Организация же базы данных это отдельный вопрос и каждая таблица зависи от возлагаемых на нее функций. Для примера если взять какой-нить блог. 1 таблица с именами разделов(каждый раздел со своим id) 2-я с именами пользователей (все пользователи под своими id) 3-я с названиями и содержаниями постов, в котором присутствуют столбик с иди пользователя написавшего это, иди раздела; 4-я таблица это таблица ответов, в которой есть столбик иди поста, столбик сомого сообщения и столбик иди пользователя. Почему вынес иди отдельно? потомучто цифры проще передавать в ссылках браузера, они занимают меньше места в бд, да и поиск по ним производить проще %)

-------
Не стоит думать что все так плохо, все еще хуже... хуже до такой степени, что прышать хочется... хорошо что не с крыши.


Отправлено: 01:49, 09-10-2007 | #6


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


так вот ступор с самой идеей организации считывание/запись структуры разделов

Отправлено: 23:55, 06-11-2007 | #7


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Surround,
Придумываем свою структуру XML и всё - описание готово

А уж где эти XML хранится будут - это неважно

-------
Fortes fortuna adiuvat


Отправлено: 12:38, 07-11-2007 | #8


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


vadimiron, хм... ну просто же все это должно храниться в какой-то описательной форме в БД... и неясно, как увязан xml здесь.

Отправлено: 19:24, 07-11-2007 | #9


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Surround,
Вот эту "описательную форму" Вам придётся самому придумывать в зависимости от того, какие у вас планы-требования.
Порисуйте схемки объектов, которыми хотите управлять, потом перенисите всё это на систему классов и таблиц в базе данных.

Можно исользовать тот же Smarty в качестве движка.
По иерархии на самом верху стоит Коллекция страниц. Можно сделать шаблон, отвечаюхщий за расположение стандартных элементов на странице (меню и тд). В этом шаблоне будет раздет "Content" - вот как раз этот раздел наполняют конкретные модули и тд... Дизайн (или тема) можно хранить в XML-описаниях (например, чтобы описать лого для сайта и другие дизайнерские элементы) + CSS для всех элементов

То же самое например, для списков: должно быть минимум два шаблона: один для самого списка и ещё один для отображения элемента + CSS-стиль можно выносить ещё в один файл.

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

-------
Fortes fortuna adiuvat


Отправлено: 11:28, 08-11-2007 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » простенькая CMS

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите выбрать CMS StarProM Вебмастеру 5 17-02-2011 14:48
Начало изучения CMS Aurika Вебмастеру 24 15-01-2009 15:05
CMS ManHack Вебмастеру 3 05-01-2009 17:11
Порталы/CMS ran71me3rr0r Вебмастеру 38 25-04-2006 22:52
Простенькая панель для юзера хостинга \ почты Hrun Программное обеспечение Linux и FreeBSD 9 02-06-2003 20:48




 
Переход