Автор Тема: Принцип работы различных CMS...  (Прочитано 8062 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« : 13 Апреля 2005, 18:10:35 »
Всем привет!
Вот возникла потребность написать CMS на php. Не обошлось без проблем.
С php потихоньку разбираюсь, ман, форумы, тут все впорядке.
Но не могу для себя определить именно концепцию cms,  ее структуру.
Посему вопрос к вам.
Как вообще работает смs? какие варианты существуют?
Мне не нужны скрипты, нужна идея, что ли.... А реализовать-то дело нехитрое :)

Заранее огромное спасибо!!!
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Принцип работы различных CMS...
« Ответ #1 : 13 Апреля 2005, 18:58:15 »
работает это так:
для редактора:
через удобную морду записываются данные для показа пользователям.
для посетителя:
данные кладутся на шаблоны ну или наооборот.
ну, будем исповедоваться?

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« Ответ #2 : 13 Апреля 2005, 19:35:22 »
Ну это понятно, лежит на поверхности :) Мне не понятна концепция работы скриптов (т.е. выполняемых ими функция). Как лучше обработать данные из форм, что лучше использовать для хранения, файлы или базу и т.д.
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« Ответ #3 : 13 Апреля 2005, 20:16:12 »
Что пришло в мою дурную голову :)

В общем у меня есть некий сайт, в котором n-ное число ссылок и n-ное число подссылок в каждой из них. Нужно обеспечить админу полную свободу: редактирование ссылок, текстов, всего прочего.

Что я делаю.

Создаю шаблон, в котором вывожу значение переменных:
- текст
- заголовок

основные ссылки:


и т.д.

И второстепенные



Далее создаю файл conf.php, в которром содержится вся информация о страницах в виде массивов.



$pages 
= array ();

	
// информация о основных ссылках
	
$pages[\'mainlinks\']
	
=
	
array
	
(
	
	
\'link1\'
	
	
=> \'somevalue\',
	
	
\'link2\'
	
	
=> \'somevalue1\',
	
);
//информация о странице index:
	
$pages[\'index\']
	
=
	
array
	
(
	
	
\'title\'
	
	
=> \'sometitle\',
	
	
\'text\'
	
	
=> \'some text\',
                 //указываю, какие ссылки активные, а какие-нет
	

	
\'link1active => \'active\',
	
\'sublink1active\'=> \'\',
	

//информация о подссылках
	
	
\'sublink1\'
	
	
=> \'\',
	
	
\'sublink1a\'
	
=> \'\',
	
	
\'sublink1href\'
	
=> \'\',
	
);

......................
и все в таком же духе...
далее создаю файл, связывающий шаблон с conf.php - process.php

$text 
"{$pages["{$pagen}"][\'text\']}"; 
$title = "{$pages["{$pagen}"][\'title\']}"; 
$mainl1 = "{$pages[\'mainlinks\'][\'link1\']}";
$mainl1a = "{$pages["{$pagen}"][\'linkmain1a\']}";
.............

Далее создаю непосредственно страницы.
Код для каждой страницы следующий:

<?
include 
"conf.php";
$pagen="index"//идентификатор, используется в href`ах, при обращении к массиву
include "pagesource.php";
?>


Вот. Отделение шаблона и кода.

Ну а далее администрирование:
Создаем шаблон админского интерфейса с текстареями, чекбоксами и т.д., значения в которые подставляем из тех же переменных, которые использует основной шаблон. Далее редактируем, передаем post`ом значения в файл write.php, который изменяет значения массива....


Что скажете о таком способе? Меня что-то смущает запутанность. Чувствую, что можно все ужать, но как пока недотумкаю :)

Буду благодарен за мнения :)
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Принцип работы различных CMS...
« Ответ #4 : 13 Апреля 2005, 23:23:15 »
Цитировать
Ilya Shuma:
Как вообще работает смs? какие варианты существуют?

ЦМС работает так, как напишешь.

Вот, может, будет интересно:
http://www.livejournal.com/users/cgvictor/20840.html
[off]Стараюсь, чтобы выглядело не как реклама[/off]

Цитировать
Ilya Shuma:
Что скажете о таком способе?

Я бы просто сделал дерево (да хоть nested trees) и подключал бы к узлам физические файлы. Проще было бы.
LJ: Backslashed life (rss)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Принцип работы различных CMS...
« Ответ #5 : 13 Апреля 2005, 23:50:17 »
Ilya Shuma
лично я бы меню сделал в виде ini-файла
читать его можно через parse_ini_file()

но вообще такая структура неправильная.

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

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Принцип работы различных CMS...
« Ответ #6 : 14 Апреля 2005, 14:30:17 »
Цитировать
Ilya Shuma:
Вот возникла потребность написать CMS на php.


Вы уверены, что у вас именно такая потребность? Зачем вам именно CMS? Почему вы не хотите воспользоваться доступными бесплатными CMS?
Не все коту матрица.

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« Ответ #7 : 14 Апреля 2005, 15:00:12 »
Croaker
Хочу сам написать :) Ведь знание синтаксиса языка недостаточно. Важно понять семантику, принципы, концепцию программирования. А практика этому, по-моему, способствует :)
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Принцип работы различных CMS...
« Ответ #8 : 14 Апреля 2005, 15:12:44 »
Была на эту тему статья давным-давно, на detail.phpclub.net. Смысл ее сводился к тому, что учиться писать надо не на крупный проектах (там в качестве примера был приведен форум, тут - цмс, не суть важно), а на небольших задачах.

ИМХО: Чтобы написать хорошую ЦМС, нужно четко представлять себе - зачем она нужна. Но не в том смысле, что "она нужна чтобы научится писать программы", а в том "какие задачи будет решать моя ЦМС" или, что  на практике чаще происходит, "мне нужно решить такие-то такие-то задачи и для этого мне требуется написать ЦМС с такой-то функциональностью".
Не все коту матрица.

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« Ответ #9 : 14 Апреля 2005, 16:38:37 »
Croaker
Ну я, вероятно, не совсем корректно выразился... Я не говорю об универсальной cms с  широким диапазоном возможностей и настроек. То, что мне нужно, можно, скорее, назвать небольшой администраторской панелью. Клиент хочет самостоятельно обновлять тексты, добавлять и удалять ссылки. Воть :)

А про то, что учиться надо на небольших примерах я полностью согласен. :beer:
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Принцип работы различных CMS...
« Ответ #10 : 15 Апреля 2005, 19:23:55 »
Цитировать
Ilya Shuma:
То, что мне нужно, можно, скорее, назвать небольшой администраторской панелью. Клиент хочет самостоятельно обновлять тексты, добавлять и удалять ссылки. Воть

Вот и замечательно. Значит, есть место, где тексты и ссылки храняться. Нужно сделать отдельный интерфейс для изменения этих данных и прикрутить к нему проверку доступа.
Вопрос-то в чем?
LJ: Backslashed life (rss)

Оффлайн Ilya Shuma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 24
  • +0/-0
  • 0
    • Просмотр профиля
    • http://shuma.ru
Принцип работы различных CMS...
« Ответ #11 : 15 Апреля 2005, 23:20:22 »
CGVictor
Да я уже разобрался, сделал выводы :)

Спасибо всем!
\"Я не могу дать вам формулу удачи, но готов предложить вам формулу неудачи: попробуйте всем понравиться\".
Г. Своуп

 

Sitemap 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