Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Принципы построения CMS (КМС, Система Управления Сайтом).

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

Открыть новую тему     Написать ответ в эту тему

Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Ок, если отвертке добавить массу молотка, ей будет сложно крутить. Руки банально будут быстро уставать, а если молотку добавить на обратную сторону отвертку то нечем будет гвозди выковыривать.

Мощно задвинули, внушает.Спорить не буду, т.к. бесполезно, доказать что-то в таком деле трудно.
 

Цитата:
между прочим, про молотки и отвертки это был Ваш пост.  
 
з.ы. критиковать всегда проще чем предлагать.

Я не против использования терминов молоток и отвертка, наоборот, я имел ввиду что нельзя применять свойства молотка и отвертки на CMS.
А так все равно удобнее называть
 

Цитата:
критиковать всегда проще чем предлагать.  

 
Все этим страдаем
 
 


----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 21:49 24-01-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik

Цитата:
И вот вы пытаетесь доказать что можно писать модульные КМС, которые можно особо не напрягаясь подводить под каждого клиента, вы пожалуйста определитесь.  

Мы выше говорили... 90% нужд клиента... или даже 90% клиентов можно покрыть обычной модульной цмс. Если у этой модульной цмс сделано минимальное АПИ (юзеры/группы и т.д.), то оставшиеся 10% подводятся под любого клиента легко.
Brodyaga

Цитата:
Мощно задвинули, внушает.Спорить не буду, т.к. бесполезно, доказать что-то в таком деле трудно.  

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

Цитата:
критиковать всегда проще чем предлагать.  

Так думаю все критикуемые Это совсем не так Предлагать проще, иначе нечего было бы критиковать Ибо 1 ... предлагатель столько всего напредложит, что 100 критиков не справятся
 
Добавлено:
Brodyaga

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

ну и откуда они могут это получить? и зачем? давайте конкретнее. Мы вот не видим ситуации в которой модуль ДОЛЖЕН никогда НЕ ЗНАТЬ откуда он получил данные.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 23:05 24-01-2006 | Исправлено: edogs, 23:06 24-01-2006
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Или менеджера по рекламе заставить подметать полы. Хотя можно.

Всех меньеджеров заставить хотя бы подметать полы. Всех! Всех! щютка.
 
 
 
Добавлено:

Цитата:
90% нужд клиента.

а это уже ближе к теме, значит нужно определиться что входит в эти нужды. давайте я начну:
 
ньюсы (события, объявляения)
страницы (разделы, создание висивиг страниц, импорт из Word файла)
прайсы (импорт из XLS,XML файла)
фак (вопрос-ответ)
пользователи (баны, пользователи, модераторы, админы)
гостевая бука-форум (по желанию)
контакты (тупо но все же.)
 
 
Добавлено:

Цитата:
И нам в голову в фирме не прийдет послать программера на картошку в летний сезон.

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

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 23:12 24-01-2006 | Исправлено: Ternik, 23:13 24-01-2006
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ньюсы (события, объявляения)  
страницы (разделы, создание висивиг страниц, импорт из Word файла)  
прайсы (импорт из XLS,XML файла)  
фак (вопрос-ответ)  
пользователи (баны, пользователи, модераторы, админы)  
гостевая бука-форум (по желанию)  
контакты (тупо но все же.)

 
это какой то супер пупер портал =))
 
Неужели именно это нужно сейчас корпоративным клиентам?
 
А то думал им нужно всего то:
 
News
About
Services
Contact Us
 
Имхо - портал это всегда CMS
но не все CMS должны являться порталами...
 
Написание портала и небольгой кмски для фирмы - это две разные вещи...

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 00:28 25-01-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik

Цитата:
а это уже ближе к теме, значит нужно определиться что входит в эти нужды. давайте я начну:  
 
ньюсы (события, объявляения)  
страницы (разделы, создание висивиг страниц, импорт из Word файла)  
прайсы (импорт из XLS,XML файла)  
фак (вопрос-ответ)  
пользователи (баны, пользователи, модераторы, админы)  
гостевая бука-форум (по желанию)  
контакты (тупо но все же.)  

Это смотря какие клиенты
В наше понятие ХОРОШИЙ контент модуль это вот всё то что выше вы описали...
А вообще то что нужно для сайта отнюдь не всегда подходят под "классическое" понятие портала.
В ряде случаев  
На первое место надо поставить СТАТИСТИКУ, и именно в самой цмс.
На втором месте хороший контент модуль (именно в нашем понятии которое описано выше).
На третьем месте легкая манипуляция дизайном, так по wysiwyg-овски как только можно. Что бы проблема разряда "вот под этим блоком хочу вставить картинку а тут поменять баннер на другой" не превращалась в "так, это фигня, берем шаблон, заменяем тут то и сё".
Вне призовых мест экспорт/импорт word/excel/1C/zip и т.д.
 
Добавлено:
N Sensey N

Цитата:
Написание портала и небольгой кмски для фирмы - это две разные вещи...

ВО! Подписуемся.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 02:04 25-01-2006
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обобщая получаем
 

Код:
 
СТАТИСТИКА
News
About
Services
Contact Us
Мини-форум
 

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

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 08:13 25-01-2006 | Исправлено: Ternik, 08:20 25-01-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik

Цитата:
обобщая получаем  

Статистика + модуль контента

Цитата:
и значит вопрос о смене дизайна у нас в подвешенном положении. Непонятно то-ли шаблонами, то-ли кссом.

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

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 15:28 25-01-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день,
 
Решил тут повесить свой один проект на XTemplate. (До этого не использовал вообще шаблоны. решил попробовать с этого.)
 
И тут встал вопрос с логикой вывода контента в окно браузера вообще. (Вообще он встал давно, но окончательно задался им я недавно.)
 
У меня в настоящий момент организовано так:
 
Index страница со ссылками на модули. В основной ячейке стоят подгрузчики вида require_once "modules/name/index.php";.
 
В каждом модуле в общем случае выполняются следующие операции:
а) Логика + контент (другими словами, что первое выводится пользователю).
б) Обрабатывается логика (после заполнения полей формы, вставляется в БД, к примеру).
г) Heder("Location") (обновляется страница дабы избежать повторного занесения информации).
 
Какой здесь очень большой минус? Ну это то, что заголовки посылаются даже до выполнения пункта а) в модуле.
 


 
После нехитрых размышлений я пришел к следующей реализации с использованием XTemplate:
 
1. index.php

Код:
 
<?php
 
## Подгружаются модули в зависимости от выбранного пользователем.
## Подгружается класс XTemplate.
 
## Вывод шаблона главной страницы, где в основной ячейки выводится переменная с шаблоном конкретного модуля (см. дальше).
 
?>
 

 
 
 
2. modules/name/index.php

Код:
 
<?php
 
если нажата кнопка {
 
    Обработка данных.
    Редирект.
 
} иначе {
 
    Занесение в переменную шаблона модуля.
 
}
 
?>
 

 
 
Как вы думаете насколько оптимален данный механизм? Есть ли здесь подвоные камни (вроде сейчас протестировал на нескольких примерах и вся цепочка работает.)
 
Другие "более" рациональные способы организации?
 
Спасибо.

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 18:01 12-03-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Какой здесь очень большой минус? Ну это то, что заголовки посылаются даже до выполнения пункта а) в модуле.  

Поясните смысл минуса.

----------
...

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 18:16 12-03-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
При запуске головной страницы код начинает выполняться последовательно. Сначало выводится та часть кода, которая стоит до вызова модуля. Соответственно в логике модуля мы уже не может оперировать заголовками страницы. (headers already sent)

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 18:42 12-03-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Использовать буферизацию вывода, обьяснив её необходимостью сжимать контент страницы.Других выходов кроме как накапливать выводимое и выводить в конце не видно.
Например у меня за вывод отвечает функция write() действующая как перегрузка echo, накапливающая содержимое и выводящие все в самом последнем включаемом файле.

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 20:04 12-03-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk
ob_start() в начале и все

----------
...

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 20:33 12-03-2006
VaaL2004



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, а какие могут возникнуть проблемы, или может быть потенциальные дыры в этом коде обработки подключаемого модуля?
 

Код:
 
$CurSec=empty($_GET['mod'])?null:$_GET['mod'];  
    if(empty($CurSec)) {
                        require_once('news.php');
                       }
    elseif(file_exists('modules/'.$CurSec.'/index.php'))  
        {
          require_once('modules/'.$CurSec.'/index.php');
          }
    else {
require_once('errors/404.php');
         }
 

Всего записей: 190 | Зарегистр. 25-12-2003 | Отправлено: 03:23 05-08-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VaaL2004

Цитата:
Народ, а какие могут возникнуть проблемы, или может быть потенциальные дыры в этом коде обработки подключаемого модуля?  

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

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 12:30 05-08-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
edogs
Перед путем же стоит 'modules/', значит пользователь не сможет вызвать удаленный скрипт...

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 13:52 05-08-2006
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk
А ты попробуй поставить в переменную ../    

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 17:44 05-08-2006
Lendrover

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Могу выслать ABOCMS 3.1.1 (www.***.ru), пишите ***(at) gmail.com




Вышлю бан - запросы в ПМ /Cheery/

Всего записей: 2 | Зарегистр. 05-08-2006 | Отправлено: 23:37 05-08-2006 | Исправлено: Cheery, 03:51 07-08-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk

Цитата:
Перед путем же стоит 'modules/', значит пользователь не сможет вызвать удаленный скрипт...

смотря на сколько удалённый
 
при работе с данными с целью их обезопасить есть 2 способа
1) Удалять опасные символы
2) Оставлять только безопасные
В примере выше не используется ни один из них.
А вот Вас хотим спросить, Вы действительно первый способ считаете допустимым?

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 00:23 06-08-2006
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
edogs
Если это вопрос ко мне, то нет, я использую предопределенный массив с модулями.
Только я не особо представяю что может такого натровить пользователь если даже и подставит '../'. Хотя, это уже грубое нарушение, ибо будет выведена системная ошибка!

----------
comming soon..

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 01:06 06-08-2006
an0nym

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Господа, а у кого есть какие наработки в части субмодулей?
 
Например, я представляю себе CMS так.
 
Основной модуль аля core с прикладными функциями: error_reporting, проверка типов данных, etc.
Основной модуль аля users с функциями управление правами/регистрации/авторизации/etc.
Дополнительные модули аля новости, статьи и т. д.
 
Допустим, мы подключили core, users и модуль статей. А у модуля статей ей субмодуль, например, позволяющий вставлять в статьи файлы для загрузки. Как отслеживать связи между модулями? Можно ли сделать многоуровневую структуру, где уровень вложенности может варьироваться?

Всего записей: 128 | Зарегистр. 03-07-2005 | Отправлено: 01:23 06-08-2006 | Исправлено: an0nym, 01:24 06-08-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » Интернет » Web-программирование » Принципы построения CMS (КМС, Система Управления Сайтом).


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru