WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема Различные CMS. К предыдущему сообщению На следующее сообщение Обсуждение и поиск СОФТа

Отправил Patrol в 12:32 16.07.2005[Ответить]
Вижу по форуму, что не одному мне интересна эта тема.
Одни видят будду в PHP-нюке, другие заявляют, что крупные проекты у них разрабатываются с нуля месяцами и на о каком обобщении речь не идет...
Итак, кто что и по какой CMS имеет сказать?

Я, например, ради интереса (и в связи с одним из топиков) установил тут Xoops в редакции RunCMS, о котором до этого только слышал, читал и видел сайты (их трудно не узнать), но сам не щупал.

Итак, ощущения:


Отправил Patrol в 12:38 16.07.2005[Ответить]
RunCMS

{движок сайта RunCMS дырявый просто ужас}
А что, нет, чтоли? Хупса сколько встречал - все время его фиксят. PHPBB, который любят на эту CMS прикручивать - вообще дыра на дыре, не дале как в 2.0.12  огроменную дырень фиксили, помню - права администратора только в путь получать можно было.. По той же проблеме (дыра в phpBB) недавно умер форум на русско-бельгийском сайте. Админ, видимо умный человек, сказал, что больше такого д... не поставит и временно вкорячил чего-то другое :)

В принципе - наипримитивнейший движок, оттого и популярен в кругах студентов младших курсов (равно как и PHP Nuke, одного поля ягоды) :)
Там, это смешно, но даже шаблонизацию сделать не смогли нормально - просто для того, чтобы сменить тему, нужно писать php-код, определяя в нем функции заголовка, подвала, левой, центральной и правой колонок! :) Возможно, кто-то не поверит, но это правда - такой вот маразм! (можно скачать и посмотреть) :)
И это при том, что возможность кастомизации - это основополагающая фича любой CMS. А уж на код смотреть без слез нельзя - ребята просто фигачат как попало спагетти-код в файлы да и все :)
Действительно, присоединяюсь - с такими спецами что-то делать надо.. :)


Отправил Patrol в 13:32 16.07.2005[Ответить]
Typo3 CMS
Очень универсальная система. Проблем с безопасностью, насколько мне известно, не знала никогда (в обозримом прошлом).
Нормально кастомизируется, то есть, для создания шаблона не нужно вообще никакой PHP-писанины, достаточно html-файлов, картинок, стилей, полученных от дизайнера и настройки самой CMS. При чем любых шаблонов любой сложности, а не только право, лево, верх и низ :)

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

Внутри есть RTE-редакторы (на выбор), позволяющие пользователям (не админам) рулить контентом сайта, вставлять куски текстов из офиса и т.д.
Модулей написано тоже уже немерено, причем инсталяция модулей не требует никаких административных усилий, Typo3 сама скачает и установит нужный модуль.

Остальные фичи - кеширование страниц и их частей, модулей, бекап системы, статистика, url rewriting, хеширование параметров, группы пользователей (frontend и backend), возможность создания мультиязычных сайтов, построение цепочки разной сложности, например, "автор - корректор - выпускающий" (если нужно) и прочая обычная для любой нормальной CMS рутина - естественно, наличествует.

Существует инструмент для разработки собственных модулей, мне как-то раз было интересно воспользоваться. Реализован в виде backend-модуля, в котором ты строишь свой модуль - таблицы, поля, типы полей (высокоуровневые: перечисление, RTE-текст, список, чекбокслист, т.д.), административный функционал, пользовательский и т.д..

Реализована работа с картинками. То есть, при конфигурации можно задать, чтобы в таком-то месте картинки были такого-то размера, например. И далее CMS будет сама их ресайзить (естественно, кешируя). Поддерживается чуть ли не весь ImageMagic, GDLib и еще какая-то новая библиотека (не помню названия), то есть, можно, например, маски накладывать или заставить всегда в угол картинки копирайт сайта добавлять, да мало ли чего.. Зипование контента страницы перед отправкой, например - и скорость и трафик... Да ну, много всего обычного.

Из минусов: бездумно вкатить, как тот же Xoops или PHP Nuke - не выйдет. Точнее, вкатить-то выйдет - мастер инсталяции сделает все сам, но... Систему нужно уметь настраивать, создавать на ней нужный тебе проект. Иными словами, нужно думать и учиться. Разбираться как и чего. Не в плане куда ткнуть - интерфейс просто выше всяких похвал, а именно в плане как сделать нужный функционал. Как заставить меню выглядеть так, как тебе нужно, чтобы 2 уровня отображались деревом, в третий - выпадающим меню, например. Как настроить Indexed Search так, чтобы он pdf, скажем, индексировал. (кстати, забыл упомянуть индексный поиск - тоже великая вещь). Ну, и многое еще, многое...
Кстати, считаю это тоже в какой-то мере плюсом (необходимость знаний): меньше конкуренция, в то время, как ты можешь создать отличное решение за достаточно небольшие для клиента деньги, в хорошие сроки.
Еще, возможно, минусом является требовательность к ресурсам. Хотя вопрос тоже очень зависящий от конкретной конфигурации. Было время, у меня и на ValueHost система бегала нормально, не смотря на то, что этот провайдер славится своими тормозами.
С другой стороны - обычный платный хостинг очень хорошо работает, даже более чем..

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


Отправил Patrol в 21:25 16.07.2005[Ответить]
DotNet Nuke

Сразу оговорюсь, что с "братом по названию" (PHP Nuke) это направление роднит мало. В отличие от PHPшной версии, качество кода, архитектуры и пользовательского (административного) интерфейса которой весьма низко, DNN (версии 3.1 в частности) обладает весьма "продвинутой" расширяемой архитектурой, хорошими идеями и хорошим качеством исполнения этих идей.
Одно то, что реализована модель провайдеров, уже большой плюс. А интерфейс коммуникации между модулями тоже можно лишь похвалить.
И тут же поругать за, блин, типичные лево-право-верх-низ-центр. Впрочем, ядро обладает различными возможностями, не исключаю, что есть что-то фишка, позволяющая от чего-нибудь унаследоваться или реализовать интерфейс, или подсунуть провайдер какой - и изменить набор контейнеров..

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

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

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

В частности, естественно, реализована поддержка пользователей, ролей и профайлов, причем сделана весьма неплохо. Секьюрити, темы, кеширование - это все есть.

Система подходит для того, чтобы установив ее, начать работать.

Из плюсов: Неплохая архитектура. Это позволяет существенно расширять возможности, не вмешиваясь в код системы. Модель провайдеров данных. Простота написания модулей (см. ниже)

Из минусов: для того, чтобы писать модули, нужно разобраться в архитектуре системы, иерархии наследования (не полностью, разумеется ;)) Так же следует отметить, что там многое как-то "самобытно", чтоли, то есть, при работе с этой системой, придется ко многому привыкать.. Некоторые вещи поковыряешься, пока найдешь. Причем, раздражает не то, что приходится ковыряться (в Typo3 тоже поковыряться дай боже иногда бывает нужно в силу того, что не сталкивался), а в том, что "выковырянное" иногда оказывается каким-то нелогичным.
Кроме того система достаточно требовательна к ресурсам.

Резюме: система для разработки широкого круга проектов. Представляет из себя ядро, модули для которого, скорее всего, придется писать самому. Однако ядро, в принципе, не плохое.
Лично мне работать с ней не нравится по причине описанной выше специфичности и нелогичности некоторых вещей. Впрочем, ядро продолжает активно и позитивно развиваться, посмотрим...


Отправил Craftsman в 23:54 16.07.2005[Ответить]
Полтора года назад выбирал CMSку для корпоративного сайта.
Сразу скажу, что у фирмы свой железный сервер на Релкоме, поэтому в железе и софте ограничений не было.
Поделки типа нюки не рассматривались, софт от Микрософта тоже
(т.е. CMS искалась под Апач).
Сиасдмин предложил сделать сайт используя бесплатную Zope (http://www.zope.org/), за основу взять опять-же бесплатный Plone (http://plone.org/). Штука надежная, хорошая, не смотря на то что бесплатная, но за время ее изучения мне не понравилось:
1. Используется язык "Питон", с которым я не знаком и к тому же по нему мало рускоязычной информации в инете, литературы тоже очень не много. По Zope издана всего 1 книга на русском (у меня имеется).
2. очень сильные тормоза в административном разделе (жрет много трафика и => медленно грузится).
3. Plone вообще не подходил для данного сайта, т.к. вписать его в дизайн было неимоверно гиморно, а самое главное там есть модули абсолютно нам не нужные и нет тех, которые необходимы. Значит писать самому, а там Питон...

Выбирал долго, терпение у руководства лопнуло и в итоге решили делать на cms Bitrix, чем последние 1,5 года и занимаюсь.
Сделано 4 сайта разного калибра.
Минусы:
1. Система не бесплатная и стОит не дешево, от 200$ за самую маленькую конфигурацию.
2. Подойдет не любой хостинг, т.е. есть требования к хостингу, без соблюдения которых ее либо не установить, либо после установки это будет не сайт а тормоз. Соответственно дешевого хостинга под сайт на Битрикс тоже нет.
3. Без приличного php-программиста, который к тому же некоторое время будет разбираться с cms, сайт не сделать, проще обратиться к специалисту в этой cms. В отличие от Питона, php мне знаком, поэтому сейчас могу причислить себя к опытным разработчикам на Битрикс, по крайней мере в суппорт уже практически не обращаюсь.
4. Поскольку CMS подразумевает, что наполнять контентом сайт может любой чайник, не знакомый ни с чем, кроме мыши и некоторых кравиш на клавиатуре, то здесь не совсем так, есть море нюансов из-за которых чайникам требуется регулярное решение их проблем. Пример: рассылка для подписчиков новостей в виде html. Если вставить сверстанный текст с картинками и всеми прочими делами в визуальный редактор и сделать рассылку - нет проблем. Но если в визуальном редакторе исправить хотя бы 1 символ - будут обрезаны заголовки письма и некоторые подписчики получат нечитаемую бяку (как показали исследования, это пользователи MS Outlook в качестве почтового клиента). Если сверстать письмо в виз.редакторе Битрикса, то все работает нормально.
таких подводных камней куча.
5. Тех. поддержка бесплатная в течение года после приобретения, потом она стоит 30% от стоимости коробки в год.

О плюсах читайте на сайте разработчика bitrixsoft.ru

Буквально вчера скачал Mambo, поставил локально, побаловался немного. Впечатления пока положительные, но сказать больше ничего не могу, т.к. знаком с ней час - 1,5
просто искал бесплатную cms на которой можно сделать каталог, при этом не вколачивать каждый пункт каталога вручную, а заливать это дело одним махом, оказалось в мамбо + дополнительный модуль это есть, буду знакомится дальше.


Отправил Patrol в 00:27 17.07.2005[Ответить]
Спасибо :)

Про Битрикс слышал, в конференциях упоминали, если не путаю, что недавно они прошли какую-то толи сертификацию по секьюрити, толи что-то еще подобное, с секьюрити связанное.
Сам не видел в связи с платностью и недоступностью для "посмотреть".

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


Отправил Craftsman в 09:05 17.07.2005[Ответить]
>>Про Битрикс слышал, в конференциях упоминали, если не путаю, что недавно они прошли какую-то толи сертификацию по секьюрити, толи что-то еще подобное, с секьюрити связанное.
Из новостей Битрикс:
1.Компании «Битрикс» и DIGT объявляют об успешном завершении тестирования на совместимость программных продуктов «Битрикс: Управление сайтом» и Trusted TLS, предназначенного для построения защищенных веб-систем, использующих сертифицированные ФСБ средства криптографической защиты информации...
2.Компании «Битрикс» и Positive Technologies объявляют о завершении аудита безопасности программного продукта «Битрикс: Управление сайтом 4.0». Финальное тестирование подтвердило неуязвимость продукта ко всем видам известных атак на веб-приложения. Программному продукту «Битрикс: Управление сайтом 4.0» присвоена категория «Безопасное веб-приложение» и выдан сертификат соответствия...

>>Сам не видел в связи с платностью и недоступностью для "посмотреть".
Ошибаешься, качай и пользуйся в течение месяца бесплатно. Демка защищена Zend, такчто исходный код не посмотреть, у коммерческой версии код открыт.
качать отсюда: http://www.bitrixsoft.ru/download/index.php
Надумаешь купить или понадобится хэлп - обращайся ;)


Отправил Patrol в 15:09 17.07.2005[Ответить]
Посмотрел :)
Покупать не стану, спасибо ;)

Установил на свой ноут, ресурсов так нормально жрет, побольше, чем та же Typo3, действительно.

Достойная система на первй взгляд, однако что не понравилось сразу и категорически:

1) Отсутствие наглядной структуры сайта (а может я просто не нашел)
2) Опять оно! Не понимаю я этого - шаблоны нужно писать на PHP. :) Ну что за беда...
3) Модули практически не кастомизируемы в своем поведении. Настройки их весьма и весьма скудны.
4) Действительно, конечный клиент не сможет рулить сайтом, построенным на этой системе. Он даже не сможет добавить новую страницу в каком-либо меню - задача нетривиальная. Вообще, как я смотрю, тривиальных задач там нет :) Все предусматривает писание кода на PHP.

Однако, много интересного есть, например, импорт из 1С тот же..

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


Отправил Craftsman в 23:26 17.07.2005[Ответить]
На самом деле не совсем согласен с твоими выводами:
>> 1) Отсутствие наглядной структуры сайта (а может я просто не нашел)

Довольно все наглядно и просто, но нужно с ним побольше повозится, т.е. познакомиться поближе. Шаблонов (дизайнов) одного и того же сайта можно делать сколько угодно, например легко прикручивается версия для печати и т.п. Причем верстать можно в Dreamviewer или чем угодно, а потом готовый шаблон легко вставляется.

>>2) Опять оно! Не понимаю я этого - шаблоны нужно писать на PHP. :) Ну что за беда...

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

>>4) Действительно, конечный клиент не сможет рулить сайтом, построенным на этой системе. Он даже не сможет добавить новую страницу в каком-либо меню - задача нетривиальная. Вообще, как я смотрю, тривиальных задач там нет :) Все предусматривает писание кода на PHP.

Это не так. Создать новую страницу и добавить ее в меню достаточно просто, не надо знать ни php ни html. Нажми кнопку "показать включаемые блоки" на панели админа (вверху), вокруг меню появится красная рамка и 2 кнопки. Одна ведет к редактированию скрипта, выводящего меню, вторая ведет на редактирование пунков меню (см. всплывающие подсказки, т.е. altы к иконкам).

По поводу тормознутости, отключи неиспользуемые модули, особенно модуль статистики, именно он жрет много ресурсов а при локальной установке он тебе ни к чему. Он позволяет собирать очень подробную информацию о посетителях сайта, поэтому некоторые приобретают его отдельно и интегрируют с существующим сайтом. Я например теперь не вешаю счетчики spylog, Mailru, Hotlog и т.п., ведь все что нужно я могу узнать без них. Кто, с какого сайта пришел, какие страницы посмотрел, на какой сайт ушел, какие пауки заползали, сколько страниц проиндексировали по дням и в сумме и многое многое другое...
Построено все так, что пока модуль статистики не обработает и не сохранит информацию, содержимое страницы не выводится.

>> не может существовать без поддержки специалиста

может, тому есть масса примеров.
к тому же, клиент может в течение года мучать вопросами суппорт (довольно оперативный, кстати, суппорт) а за год все наверняка утрясется и изучится.

Еще один положительный момент Битрикса - многосайтовость, чего я больше ни у одной CMS не встречал. Т.е. устанавливаешь его и можешь делать 2 сайта (хоть на одной мускульной базе, хоть на разных), хочешь больше сайтов - нужно докупать лицензии. Управление всеми сайтами, наполнение информацией осуществляется в одном месте.

стучи в асю, ато похоже, только нам это интересно :)


Отправил Пaшкa в 10:02 18.07.2005[Ответить]
Не не не :-) Я читаю.


Отправил Sleep-Walker в 21:38 18.07.2005[Ответить]
читают, думаю, многие)


Отправил Patrol в 21:34 18.07.2005[Ответить]
typo3 - многосайтовая, многоязычная ;)
Единственное что - для каждого сайта нужна (ВРОДЕ!) своя БД.
Ну, много доменов к одному сайту прикрутить еще можно.. То есть, физически сайт один, а доменов много и они отличатся, например, локализацией, или дизайном.. Ну, как acer.ru, acer.ua.. Но, наверное, это и в Битриксе есть :)

Словом, изучать Битрикс я пока не спешу по двум причинам:
1) платность. Пока я еще не имею в перспективе круга задач, предусматривающего покупку CMS.
2) не нашел ничего такого в Битриксе, чего бы я не смог сделать в typo3 :) Правда, конечно, мой взгляд на Битрикс весьма поверхностен.. :)

А вот Мамбу посмотрю - может сгодится для совсем простеньких сайтиков. Хотя, все же, кодированию на PHP я всегда предпочитаю _настройку_ CMS...


Отправил Patrol в 21:37 18.07.2005[Ответить]
Я еще про Drupal напишу.. только с мыслями соберусь... :)
Сегодня думать неохота, последний день короткого отпуска :)
И про майкрософтовый движок блогов/форумов/галерей тоже...


Отправил Patrol в 01:43 21.07.2005[Ответить]
Drupal
Поставил текущую версию, дабы знать точнее.
Ну, что можно сказать. По моим ощущениям ядро все еще вполне сгодится для того, чтобы нажить себе хороший, качественный геморрой.
Я даже про DNN такого не скажу: с этой системой я не стану работать по доброй воле. Не нравится мне, когда что-то можно сделать "вот так вот" или "вот-вот так вот" или "еще вот так вот", а самый лучший способ - свое написать.
Опять же, мало чего можно добиться без программирования на PHP.  Чтобы что-то кастомизировать нужно лазить в файлах и исправлять.
Создается впечатление, что писуны этой системы зациклены на какой-то одной им ведомой цели и потому далеки от нас, тех, кто пользует CMS для создания сайтов. Где дерево страниц? какие модули где расположены? Что за каша вместо структуры сайта? Понять может только посвященный.
Ведь что главное в CMS? Главное - такое ядро, чтобы в него никогда не лазать, чтобы дизайн менялся как можно проще и как можно сильнее, чтобы модули было легко разрабатывать и чтобы уже разработанные модули подчинялись тем же правилам: легкая смена дизайна, простота настройки для конкретного проекта.
В Drupal из перечисленного нет ничего. Да, к системе разработано много модулей. Есть даже любимый мною адаптированный htmlarea, который, справедливости ради скажу, дает себя в Drupal устанавливать, конфигурировать и т.д, но отчего-то нигде не отображается в ожидаемых местах. Толи я ожидаю не там, толи еще где-то что-то подкрутить надо, но это уже не дело.
Что из достоинств...
Есть модуль для "украшения" урлов. Работает, видимо, как-то так: http://mysite.com/?id=10&text=super заменяет на http://mysite.com/id/10/text/super или на http://mysite.com/page-085md0899hdf90.html или еще на что-то подобное.
Почему "видимо"? Просто потому, что Drupal решил, что мой web-server не поддерживает ModRewrite и отказался этого делать. Отчего он так решил - ума не приложу (да и не хочу). Но и typo3 и bitrix и что-то самописное нормально у меня url rewriting делают, живут..
Есть модуль форумов в поставке. Удобство его вы можете видеть, например,  на http://www.russian-belgium.be/forum (и вообще сайт на друпале теперь, после дыры в phpBB, узнаваемая морда) - в принципе, неплохой, вроде, форум. Не знаю, правда, может тоже в PHP поковырялись, чтобы его таким сделать ;) Но поддержка RSS там уже есть ;)

Что бы еще хорошего сказать... Не знаю даже.. Про качество программирования тоже ничего сказать не могу... ругать не стану, не вникал, но вот такой подход как вам: если модуль называется, скажем, "mymodule", то в главном его файле должны быть функции с именами "mymodule_help()", "mymodule_menu()" и т.д.. Я не знаю, кому в голову пришел этот архитектурный бред и после какой банки пива, но они называют это "имплементацией". Возможно, так они выеживаются от незнания ООП, столь дико решая столь простую задачу, возможно что-то еще, но на вопрос "почему ТАК ивратно" я ответа не смог придумать.

Резюме. Возможно, кто-то тут меня покритикует и расскажет что-то новое, светлое и доброе об этой системе, но Друпал - одна из последних CMS, которые я стал бы использовать в своей работе. А вероятно, что и одна из тех, которые бы и вовсе не стал. Что-то мне подсказывает, что для решения в частности на первом этапе такого узенького круга задач, но на более качественном уровне, мне было бы проще написать свое ядро на ASP.NET.
И, да, я уже говорил, что в Друпале все как-то жестко зашито и заточено под чье-то конкретное видение? Наверное, да.. ;)


Отправил blackstar в 10:24 21.07.2005[Ответить]
Textpattern
Мне очень нравится, все легко, просто и удобно, хотя возможно подойдет не для всех сайтов. Использует div для форматирования. Для внедрения своего дизайна придется покопаться. Иногда бывают глюки, спишем это на RC.


Отправил Patrol в 11:30 21.07.2005[Ответить]
Вот мне интересно...
Кому вообще нужны CMS, для "внедрения" дизайна в который нужо что-то там курочить и копаться?
Кому нужны CMS с собственными встроенными дизайнами?
Ведь CMS - система, на которой строится сайт, а уникальность, оригинальность дизайна - это основопологающий момент сайта (один из)?
О чем думают писуны CMSок, когда жетско зашивают "верх-низ-право-лево" в свои CMS, да еще и предлагают дизайн-темы  писать на языках программирования, жестко подразумевая, что в них будут функции типа "header(), footer(), right(), left()"?
Когда я вижу такое, мне начинает казаться, что систему проектировал какой-нибудь студент 1-го курса, не ознакомившись ни с потребностями пользователей, ни с чем-либо иным...

Я это не про Текстпаттерн говорю, его я не видел, в основном относится к другим CMS типа PHP-Nuke, например...


Отправил Veritas в 11:39 21.07.2005[Ответить]
А в этом, кстати, есть свои плюсы... Может я и не прав, но такой подход дает гораздо больше гибкости, нежели шаблоны...

Вот например надо мне в тело новости встроить вызов случайного баннера - я в функции news_body() просто пропишу вызов show_banner() к примеру.

Хотя иметь в используемом сейчас RunCMS шаблоны типа smarty я бы не отказался, да. Это здорово бы облегчило жизнь. Вот сейчас в очередном разрабатываемом модуле у меня так и будет - дизайн страниц и блоков на smarty - весьма удобно. Но это для конкретного модуля, правда.


Отправил Patrol в 15:38 21.07.2005[Ответить]
Спорно весьма..
Например, я в Typo3, когда мне нужен баннер, просто показываю, что мне на странице такой-то в таком-то месте нужно вставить модуль баннера.. шаблон страницы - вот этот вот HTML-файл, шаблон модуля баннера - вот такой вот HTML-файл. Все. Никакого серверного кода в шаблонах, никакой привязки к "верх-низ-лево-право", как HTML-код шаблона страницы и шаблона модуля баннеров полностью на моей совести - каким хочу, таким и сделаю..
И если мне в дальнейшем захочется переместить модуль баннеров с середины экрана в футер, я не полезу менять вызов функции из news_body() в news_footer(), я вообще об этом помнить не обязан, а в идеале я и знать не хочу, что там за функции.. :)
Метод "черного ящика", понимаешь ли :) Дизайнер работает с HTML-шаблоном, ему пофиг что там делается на уровень ниже, какие там функции и т.д...

{Хотя иметь в используемом сейчас RunCMS шаблоны типа smarty я бы не отказался, да}
smarty, если я не ошибаюсь, это как раз и есть нормальное отделение кода от представления, да?


Отправил Пaшкa в 16:04 21.07.2005[Ответить]
U menya skladyvaetsa stoikoe os4us4enie, 4to nash phyzik-termoyaders4ik, po sovmestitel'stvu online sertificirovannii v php marketolog KT, ne predstavlyaet sebe, 4to takoe sozdavat' stranicy saita na letu, ne vyzyvaya ni stro4ki koda. 4to dlya togo 4toby sozdat' stranicu pustuyu dostato4no sdelat' paru clickov myshkoi, vvesti ee nazvanie, vybrrat' ee shablon (template). Zatem v zaranee ukazannyh mestah (placeholders) prosto pokazat' kakie moduli budut raspolagat'sa, i s kakimi nastroikami (k primeru, vot na takoi-to strani4ke sprava sverhu budut novosti, vyglyadet' oni budut tak-to, na stranice ih budet stol'ko-to poslednih, brat'sa oni budut iz opredelennoi guppy). A vot tut budet takoii-to document, v kratkom vide. A uzh pri 4em tut vysovy php, i uzh tem bolee nafiga pisat' kakoi-to kod, ne ponyatno. Esli etot cod - ne cod kakogo-to custom'nogo modulya.


Отправил Veritas в 16:24 21.07.2005[Ответить]
Ничё не понял... По-русски когда писать научишься - приходи, кликальщик мышкой...


Отправил Пaшкa в 16:14 21.07.2005[Ответить]
Smarty, Xaraya i SAPID - to, 4ego ya by hotel, 4toby ty poproboval i rasskazal :-)

SAPID: sapid.sf.net

Alex, po povodu besed s Veretazom, ty vspomni, 4to eto 4elovek, kotorii otvergaet OOP, i sledovatel'no o modeli MVC vryad li slyshal.

Xtati, Don Knuth pro napisanii CMS ni4ego novogo ne napisal? A-to vot ne slezhu za ego rabotami na rossiskom rynke.


Отправил Patrol в 20:50 21.07.2005[Ответить]
{Smarty, Xaraya i SAPID - to, 4ego ya by hotel, 4toby ty poproboval i rasskazal :-)}

Паша, а чего сам-то? ;) САПИДа, вон, и УРЛ знаешь даже.. Давай-ка, подключайся ;)


Отправил Пaшкa в 11:19 22.07.2005[Ответить]
Mne len' posle raboty rabotoi zanimat'sa ;-) Ya voobs4e lenivii, poetomu avtomatizaciei vsyakogo i zanimayus'.

U menya vot ne znayu, zhiva trap-assasinka 71-go urovnya, ili sdohla, potomu 4to ladder upal pered uhodom na rabotu. (Diablo II Lord Of Destruction 1.10, ladder: alkar ( http://games.alkar.net/ )


Отправил Veritas в 16:37 21.07.2005[Ответить]
>>smarty, если я не ошибаюсь, это как раз и есть нормальное отделение кода от представления, да?

Не ошибаешься.
Вот тут подробнее: http://mag.phpclub.ru/may2004/php3_2004.pdf
(вообще хороший весьма журнал)

Но, как мне кажется, не стоит молиться на smarty, как не стоит молиться на любую другую технологию. Тем более, что в основе своей - это просто объектная обертка, для единственной почти функции - строковой замена в шаблонах {URL} на $url.

>>я вообще об этом помнить не обязан, а в идеале я и знать не хочу, что там за функции.. :)

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

P.S. В том же нелюбимом тобой RunCMS есть кстати свой шаблонизатор и весьма неплохой. Вопрос в том, что те, кто пишет модули почему-то им не пользуются и поэтому он не развивается. К сожалению.


Отправил Patrol в 17:18 21.07.2005[Ответить]
А я тебе скажу, почему не развивается.
Потому, что "шаблонизатор" - это не та вещь, которая развивается, когда ею пользуются. Этот модуль представляет собою четко ограниченную функциональность четко определенной направленности.
Поставив необходимые задачи типа "шаблонизатор должен уметь делать то-то и так-то" для модулей такого типа можно однозначно их решить. Все дальнейшие моификации, которые коснутся этого модуля (увеличение скорости, уменьшение ресурсоемкости), пройдут незамеченными просто потому, что _внешне_ он, в связи с концепцией "черного ящика", не изменяется. Тот, кто пользует шаблонизатор, вообще не должен знать что что-то изменилось и переделывать в этой связи что-то.
Такие вещи проектируются 1 раз, пишутся 1 раз и в дальнейшем используются везде, а модификации их, повторюсь, прозрачны.

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

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

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

Но я все же придерживаюсь своей точки зрения: пока не научатся отделять код от представления - это все блажь какая-то. А когда научатся - тогда будет все равно какой шаблонизатор используется и где, ибо для шаблона я меняю всего лишь _представление_, то есть, HTML, а что там делает код и как - понятия не имею и иметь не хочу :)

Кстати, про MVC написано и в приведенной тобою ссылке :)
А если уж говорить о "просто обертках" - так ведь так о чем угодно можно сказать.. PHP, вон, тоже просто сложная обертка обычного эха в поток...

Кстати, еще о Smarty.. Статья бестолковая несколько, я не очень понял, это я должен в файле шаблона теперь вместо PHP-кода писать Smarty-код? Замена шила на мыло получается какая-то... :)


Отправил Veritas в 17:41 21.07.2005[Ответить]
>>я должен в файле шаблона теперь вместо PHP-кода писать Smarty-код

Ага. Но он значительно проще, чем PHP-код. И значительно более редактируем, нежели php, средствами обычных html-редакторов. В этом и выгода. Ну может быть еще один плюс - программная смена шаблонов реализуется одной строчкой. Да, и забыл кэшируемость получаемого html (которую в статье упорно называют компиляцией). Пожалуй, все.

Ну еще и программисту с объектно-ориентированными мозгами становится проще, поскольку оператор echo можно не применять :))

>>Кстати, про MVC написано и в приведенной тобою ссылке

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

ЗЫ
Но я все равно не понимаю, чем
<table>
<tr>
  <td>
   <?php echo $item; ?>
  </td>
</tr>
</table>
(php)

хуже, нежели

<table>
<tr>
  <td>
   {Item}
  </td>
</tr>
</table>
(smarty)

Блажь какая-то :))


Отправил Patrol в 18:12 21.07.2005[Ответить]
Ну.. Не знаю.. Мне не нравится наличие любого года в представлении..

{Но я все равно не понимаю}
Объясняю:
1) второе может написать дизайнер. Ты ему объясняешь специфику, он пишет, ему не надо знать какие там у тебя переменные и как оно работает, например:

<h1>{Title}</td>
<table>
<tr>
<td>{Banner}</td>
<td>{Item}</td>
...

2) Такой шаблон легко читается и легко просматривается. Мне наиболее удобным показался еще такой вариант:

<table>
<tr>
<td>
<!-- ###BANNER### start -->
<h1>My Banner</h1>
<img src="..">
<!-- ###BANNER### end -->
</td>
</tr>
</table>

Такой шаблон не просто удобочитаем и компактен, но его дизайнеру легко создать, сделав пример баннера, а потом пометив эту зону комментариями. Его можно посмотреть в броузере и он будет отображаться как цельная страница. Его легко можно поредактировать в редакторе.
А CMS потом можно просто сказать, что в Subpart c именем BANNER нужно вставить баннер..

3) Такая отвязка от кода удобна в том случае, когда вместо $item ты захочешь выводить туда что-то другое. Например, отправить туда поток..

4) Ты можешь "собрать" со страницы все контейнеры типа {Banner}, {News}, {Username}, {leftColumn}, {Login} и т.д, сделать ассоциативный массив, обработать инфу, которая должна там содержаться _в соответствие с конфигурацией_, в которой сказано, что в контейнере с именем leftColumn должно валяться то-то, то-то и еще то-то, произвести замену, получить конечный HTML, скешировать его и отдавать.
И это позволит потом для того, чтобы что-то добавить в ту же leftColumn просто прописать в конфигурацию, например, новый модуль. А контроллер, пробегающий по конфигурации и собирающий значения ассоциативного массива, просто подцепит, выполнит и вставит.
И не нужно будет менять НИЧЕГО ни в коде, ни в шаблоне, ни в  контроллере, и всегда можно будет добавить в шаблон (или убрать) новых контейнеров, опять-таки, не меняя НИЧЕГО и НИГДЕ больше.

А если пойти немного дальше и сделать контейнер объектом, имеющим методы, например, Wrap, EnableLinks, что-то еще... То тогда в конфигурации можно вообще указывать значения этих свойств и, таким образом, убивать ссылки в контейнере или "оборачивать" его во что-то.. :)
Делая это, опять же, лишь конфигурированием..
Но это уже серьезные аспекты, это уже ООП... Я просто хочу показать,  насколько проще развивать проект, если у тебя изначально есть абстракция ;)

Словом, бОльшая абстракция в этом случае - хороший плюс :)


Отправил blackstar в 11:49 21.07.2005[Ответить]
Да, "внедрение дизайна" - забавно получилось. Может быть такие CMS нужны людям, которые могут все сами написать с нуля, но либо не хотят, либо нет времени?