Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что бы мне предусмотреть в CMS?
 
 автор: sasha1133   (25.04.2010 в 03:58)   письмо автору
 
 

Поставил себе задачу написать универсальную CMS, то есть по настоящему универсальную. Чтобы можно было осуществить любой замысел. Сейчас обдумываю логику. За написание кода возьмусь, только когда полностью определюсь с механизмом работы и продумаю до мелочей. Поэтому хочу, чтобы здесь писали всевозможные требования и пожелания, а я постараюсь их учесть. Буду благодарен за любую информацию, критику, советы и тп.

  Ответить  
 
 автор: jem777   (25.04.2010 в 05:35)   письмо автору
 
   для: sasha1133   (25.04.2010 в 03:58)
 

Удобная админка.
Хороший редактор для админки с поддержкой загрузки фото и файлов к статьям и новостям.
Обязательно механизм создания превью к загружаемым фото. Желательно с поддержкой Lightbox&Highslide.
Неограниченная вложенность категорий.
Возможность расширения за счет модулей.
Удобная шаблонизация модулей.
Фотогалерея с поддержкой Lightbox&Highslide.
Вложенность категорий в фотогалерее.
Система статистики и голосований фотогалереи.
Добавление фото в галерее юзерами.
Регистрация юзеров с расширенным профилем.
Поддержка разных групп юзеров.
Поддержка аватаров, личных сообщений.
Система комментариев по всему сайту с поддержкой аватар.
Удобный встроенный форум или встроенная интеграция с phpBB, SMF.
Система статистики сайта.
Добавление новостей юзерами, с поддержкой загрузки фото и файлов к статьям и новостям.
Ну и простая возможность применения шаблонов для CMS.

Это первое что пришло на ум.))

  Ответить  
 
 автор: sasha1133   (25.04.2010 в 17:22)   письмо автору
 
   для: jem777   (25.04.2010 в 05:35)
 

Можно пояснить вот эти пункты?
- механизм создания превью к загружаемым фото. Желательно с поддержкой Lightbox&Highslide.
- Удобная шаблонизация модулей.
- Фотогалерея с поддержкой Lightbox&Highslide.

  Ответить  
 
 автор: jem777   (03.05.2010 в 18:03)   письмо автору
 
   для: sasha1133   (25.04.2010 в 17:22)
 

1. Это когда загружаешь в статью фото размером 1024х768 весом 100Кб, то автоматически происходит создание превью с задаваемым размером. Например 250х100 и весом в 4Кб. Когда юзер смотрит на фото и кликает на него - фото красиво увеличивается через эффекты Lightbox или Highslide.

2. Когда можно будет произвольно менять оформление каждого модуля и гибко задавать его позицию в шаблоне.

3. http://www.google.ru/search?client=opera&rls=ru&q=Lightbox&sourceid=opera&ie=utf-8&oe=utf-8

http://www.google.ru/search?client=opera&rls=ru&q=Highslide&sourceid=opera&ie=utf-8&oe=utf-8

  Ответить  
 
 автор: cheops   (25.04.2010 в 11:30)   письмо автору
 
   для: sasha1133   (25.04.2010 в 03:58)
 

Будте готовы к тому, что универсальной CMS вы не создадите. Ваша CMS будет решать ряд задач гораздо быстрее, чем если бы вы создавали код с нуля, однако другой класс задач будет решаться больше кровью. Так уж устроены компьютерные системы - за любое преимущество нужно расплачиваться, либо скоростью, либо сложностью, либо объемом, либо ещё чем-то. Это не значит, что CMS не нужно создавать, но лучше бы заранее определить, в чем она будет сильна - будет ли она компактна, очень быстрой или простой для внедрения дополнительных модулей. Реализовать абсолютно все, т.е. добиться универсальности будет очень и очень сложно.

  Ответить  
 
 автор: sasha1133   (25.04.2010 в 17:34)   письмо автору
 
   для: cheops   (25.04.2010 в 11:30)
 

Под универсальностью я имею ввиду, что если нужно создать нестандартный сайт, то это возможно будет сделать или встроенными средствами или написав пару модулей. Хочу сделать полностью настраиваемое поведение сайта в зависимости от запроса пользователя. Получается, я хочу сделать легко настраиваемою и расширяемую CMS. Как по Вашему, хорошо в данном случае делать управление сайтом только через index.php, который разбирает запрос, находит в базе инструкции и параметры, соответствующие данному запросу, подключает нужные модули и выводит страницу? То есть все адреса будут начинаться с index.php?a=123&... Ну естественно их можно и нужно переписать mod_rewrit'ом, но обращение всегда будет только к index.php

  Ответить  
 
 автор: Commander   (25.04.2010 в 18:55)   письмо автору
 
   для: sasha1133   (25.04.2010 в 17:34)
 

>Как по Вашему, хорошо в данном случае делать управление сайтом только через index.php, который разбирает запрос,

По-моему, хорошая идея. Я сейчас тоже пишу более-менее универсальную CMS, применил этот принцип. Только rewrit'ом я вывожу не id, а название для Rewrite, которое запрашивается у администратора. Ессно, это название уникально в пределах раздела CMS.

  Ответить  
 
 автор: sasha1133   (25.04.2010 в 20:40)   письмо автору
 
   для: Commander   (25.04.2010 в 18:55)
 

>Только rewrit'ом я вывожу не id, а название для Rewrite, которое запрашивается у администратора. Ессно, это название уникально в пределах раздела CMS.

что то не очень понял. А mod rewrite может только преобразовывать один адрес в другой на основе рег. выражений, или может пользоваться какой то информацией ещё (из БД или текстовых файлов)?

  Ответить  
 
 автор: neadekvat   (25.04.2010 в 21:17)   письмо автору
 
   для: sasha1133   (25.04.2010 в 20:40)
 

example.com/comments -> example.com/index.php?module=comments
А как цифрами можно модули передавать - не понимаю. Тогда какой смысл в ЧПУ, если пользователь увидит что-то типа
example.com/143/post-4.html?

Про mod_rewrite - еще никогда не слышал, чтобы он умел с бд работать или текстовые файлы читать.

  Ответить  
 
 автор: freeing   (25.04.2010 в 22:51)   письмо автору
 
   для: neadekvat   (25.04.2010 в 21:17)
 

я бы еще добавил возможность общения с администратором онлайн,
скажем ковырят молодой геты или кучу левых постов отправляет,
а тут ему сообщение, мол э! успокойся )))

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

  Ответить  
 
 автор: Commander   (26.04.2010 в 11:10)   письмо автору
70.5 Кб
 
   для: sasha1133   (25.04.2010 в 20:40)
 

example.com/about.html = example.com/index.php?pagename=about.html
example.com/news/ = example.com/index.php?pagename=news


А каждая страница идентифицируется скриптом не по id, а по названию, которое запрашивается у администратора (см. скриншот во вложении) при создании страницы. Название для Rewrite должно быть уникальным, иначе скрипт просто не сможет определить, какую страницу выводить

  Ответить  
 
 автор: sasha1133   (26.04.2010 в 14:59)   письмо автору
 
   для: Commander   (26.04.2010 в 11:10)
 

Понятно. То есть при добавлении статьи в базу данных, никаких новых правил не дописывается. А на картинке Ваша CMS?

  Ответить  
 
 автор: Commander   (26.04.2010 в 23:55)   письмо автору
 
   для: sasha1133   (26.04.2010 в 14:59)
 

А на картинке Ваша CMS?

Да, скрипт добавления текстовой страницы.

  Ответить  
 
 автор: neadekvat   (26.04.2010 в 23:56)   письмо автору
 
   для: Commander   (26.04.2010 в 23:55)
 

А глаза при работе не режет?
Я дольше нескольких милисекунд смотреть не могу на скрин вашей админки..

  Ответить  
 
 автор: Commander   (26.04.2010 в 23:59)   письмо автору
 
   для: neadekvat   (26.04.2010 в 23:56)
 

Кому как. Я все равно как админку допишу, диз в ней поменяю

  Ответить  
 
 автор: elenaki   (27.04.2010 в 21:11)   письмо автору
 
   для: neadekvat   (26.04.2010 в 23:56)
 

да ужжжжжж. ну и цвета... я все время делаю серый, не напрягающий глаза, интерфейс. но иногда клиенты сами просят: один попросил черный фон, белый текст (кошмар!), другой - все зеленое, причем цвета лайма, еле-еле уговорила его на более спокойный зеленый. после работы в его "болоте" несколько минут весь мир вокруг кажется более красным, чем на самом деле :)

  Ответить  
 
 автор: neadekvat   (27.04.2010 в 21:47)   письмо автору
 
   для: elenaki   (27.04.2010 в 21:11)
 

Вы дизайнер? =)

  Ответить  
 
 автор: elenaki   (28.04.2010 в 08:14)   письмо автору
 
   для: neadekvat   (27.04.2010 в 21:47)
 

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

  Ответить  
 
 автор: sasha1133   (26.04.2010 в 15:07)   письмо автору
 
   для: sasha1133   (25.04.2010 в 03:58)
 

Ещё вопрос. Например есть шаблоны для сайта. А как быть с дополнительными модулями (например форумом)? Прилагать все нестандартные изображения в папке с модулем?

И ещё вопрос) Если на сайте будут какие либо ajax модули, например голосование, можно ли обработку этих запросов всё также делать через index.php?

В общих чертах я хочу сделать так. Добавляешь модуль (установку планирую сделать через админку), создаются необходимые таблицы, копируются файлы модуля и в специальную таблицу записывается, что делать при таком то запросе. index.php получает запрос, смотрит в таблицу и обращается к нужным модулям, выбранному шаблону и тп, затем выводит страницу. Хорошо так будет сделать?

  Ответить  
 
 автор: Рома   (26.04.2010 в 21:19)   письмо автору
 
   для: sasha1133   (26.04.2010 в 15:07)
 

>И ещё вопрос) Если на сайте будут какие либо ajax модули, например голосование, можно ли обработку этих запросов всё также делать через index.php?

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

  Ответить  
 
 автор: neadekvat   (26.04.2010 в 21:21)   письмо автору
 
   для: Рома   (26.04.2010 в 21:19)
 

Кто вам мешает передавать тем же ajax'ом еще один параметр, сообщающий index.php, какой модуль должен обрабатывать этот запрос?

  Ответить  
 
 автор: Рома   (26.04.2010 в 21:23)   письмо автору
 
   для: neadekvat   (26.04.2010 в 21:21)
 

>Кто вам мешает передавать тем же ajax'ом еще один параметр, сообщающий index.php, какой модуль должен обрабатывать этот запрос?

Разум.

  Ответить  
 
 автор: neadekvat   (26.04.2010 в 21:36)   письмо автору
 
   для: Рома   (26.04.2010 в 21:23)
 

И как же разум аргументирует это?
И почему делать так:
index.php?module=comments&do=add
через форму (method=post) позволяет, а вот так:
index.php?module=mark&nid=123&mark=5
но через ajax не позволяет?

  Ответить  
 
 автор: Рома   (27.04.2010 в 00:21)   письмо автору
 
   для: neadekvat   (26.04.2010 в 21:36)
 

>И как же разум аргументирует это?
>И почему делать так:
>index.php?module=comments&do=add
>через форму (method=post) позволяет, а вот так:
>index.php?module=mark&nid=123&mark=5
>но через ajax не позволяет?

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

  Ответить  
 
 автор: Commander   (26.04.2010 в 23:58)   письмо автору
 
   для: sasha1133   (26.04.2010 в 15:07)
 

И ещё вопрос) Если на сайте будут какие либо ajax модули, например голосование, можно ли обработку этих запросов всё также делать через index.php?

Лучше сделать отдельный скрипт. Я лично все ajax-обработчики выношу в отдельный файл, чтобы не запутаться в собственном коде.

  Ответить  
 
 автор: Loki   (05.05.2010 в 16:59)   письмо автору
 
   для: sasha1133   (25.04.2010 в 03:58)
 

А в разработке скольких CMS Вы уже приняли участие?

  Ответить  
 
 автор: sasha1133   (06.05.2010 в 04:42)   письмо автору
 
   для: Loki   (05.05.2010 в 16:59)
 

пока двух, если это можно назвать CMS) они обе получились узкоспециализированные, что то поменять кардинально в сайте невозможно. Визуального редактора тоже не было. Короче куча минусов. Из плюсов только то, что работают нормально)

  Ответить  
 
 автор: Loki   (06.05.2010 в 12:05)   письмо автору
 
   для: sasha1133   (06.05.2010 в 04:42)
 

Ну тогда я бы не рассчитывал на то, что получится "продумать структуру до мелочей". Граблей там разложено немеряно. Без опыта построения подобных штук, скорее всего, грамотно спроектировать не получится (да и с опытом - тоже не факт:). Так что либо определитесь со структурой в самом крупном приближении и начинайте набивать шишки, либо изучайте лидеров в данной области, разбираясь почему они реализованы именно так (собственно, совмещать эти занятия тоже не возбраняется:). А построить в голове "универсальный механизм", а потом просто воплотить его в коде у Вас 100% не получится.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования