Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2011, 18:50   #1
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию Ваши отзывы о Модексе(Modx)

Собственно сабж, поделитесь впечатлениями. Сильные, слабые стороны cms и т.п. На первый взгдяд вроде стоящая вещь.

Официальный сайт: http://modxcms.com
Русскоязычные сообщества: http://modx.ru
Gorychev вне форума Ответить с цитированием
Старый 03.08.2011, 01:06   #2
savva-paladin
Пользователь
 
Аватар для savva-paladin
 
Регистрация: 09.07.2010
Сообщений: 89
По умолчанию

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

1. Как утверждают в "интернетах" -- на MODx практически невозможно провести SQL-инъекцию, поскольку он использует систему связи с БД xPDO. Эта ORB-библиотека не даёт использовать синтаксис sql для выборки данных из БД. К томуже она позволяет работать с несколькими типами БД - MySQL, PostgreSQL, MS SQL SRV и тд.

2. Папки, которые находятся в корне сайта (assets/, connectors/, manager/, core/), можно свободно переименовывать или вообще перемещать в другие места сайта (конечно, без правки конфиг-файлов не обойтись). Правда тут могут слететь жёстко привязанные к путям плагины, но это тоже поправимо.

3. Контексты. Контекст – это хранилище ресурсов в MODx. Ресурсом в MODx является любой документ, ссылка или статический html - файл. Во первых - контексты позволяют создавать сайты-поддомены, а во-вторых - создавать вообще 2 (и более) разных сайта на одном ядре. При этом пользователи, имеющие доступ к контексту web (front-end сайта), не будут иметь доступа к контексту менеджера сайта mgr (back-end сайта), если не прописано иное. Да и вообще, в MODx для системы безопасности служит девиз "что не разрешено - то запрещено".

4. Расширяемость - для MODx создано 100500 различных модулей, позволяющих создавать сайты любой тематики и сложности. А создать свой модуль не составляет вообще никакого труда.

5. Mощность - Как утверждают разработчики сего творения, MODx Revolution >= 2.1.x позволяет (в теории) практически безболезненно создавать и хранить до 1000000 страниц сайта. На практике же максимум с чем я сталкивался - 10000 страниц, при этом CMS вообще не "тупила" и не нагружала сервер.

6. Написание шаблонов, чанков - лично моё субьективное мнение, но переписать обычный html-файл в шаблон для MODx не составляет никакого труда. Приведу пример одного из моих шаблонов:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[[*pagetitle]] | [[++site_name]]</title>
<base href="[[++site_url]]" />
<link href="[[++site_url]]assets/templates/school/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
	<div id="header">
		<div id="logo">
			<h1><a href="[[++site_url]]">[[++site_name]]</a></h1>
			<p>design by <a href="http://www.freecsstemplates.org/">Savva-paladin</a></p>
		</div>
	</div>
	<!-- end #header -->
	[[!Wayfinder? &startId=`0 &limit=`8` &hideSubMenus=`true` &outerTpl=`topnav.outer` &rowTpl=`topnav.row` &firstClass=`` &hereClass=`current_page_item` &lastClass=``]]

	<!-- end #menu -->
	<div id="page">
	<div id="page-bgtop">
	<div id="page-bgbtm">
		<div id="content">
		  [[*content]]
		<div style="clear: both;">&nbsp;</div>
		</div>
		<!-- end #content -->
<div id="sidebar">
			<ul>
				<li>
					<div id="search" >
					<form method="get" action="#">
						<div>
							<input type="text" name="s" id="search-text" value="" />
							<input type="submit" id="search-submit" value="GO" />
						</div>
					</form>
					</div>
					<div style="clear: both;">&nbsp;</div>
				</li>
				<li>
					<h2>Aliquam tempus</h2>
					<p>Mauris vitae nisl nec metus placerat perdiet est. Phasellus dapibus semper consectetuer hendrerit.</p>
				</li>
				<li>
					<h2>Учителя</h2>
                                  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
				<li>
					<h2>Новости</h2>
                                  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
				<li>
					<h2>Архив фотографий</h2>
				  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
			</ul>
		</div>
		<!-- end #sidebar -->
		<div style="clear: both;">&nbsp;</div>
	</div>
	</div>
	</div>
	<!-- end #page -->
</div>
	<div id="footer">
		<p>Copyright &copy; 2008 [[++site_name]]. All rights reserved. Design by <a href="http://www.freecsstemplates.org/">Savva-paladin</a>.</p>
	</div>
	<!-- end #footer -->
</body>
</html>
Если кому станет интересно - прошу в документацию.
Принимаю критику.

Последний раз редактировалось savva-paladin; 03.08.2011 в 01:51.
savva-paladin вне форума Ответить с цитированием
Старый 03.08.2011, 10:17   #3
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Спасибо за содержательный ответ.
По поводу шаблона, почему он не порезан на более мелкие - хедер, футер?
Gorychev вне форума Ответить с цитированием
Старый 03.08.2011, 12:13   #4
savva-paladin
Пользователь
 
Аватар для savva-paladin
 
Регистрация: 09.07.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Gorychev Посмотреть сообщение
Спасибо за содержательный ответ.
По поводу шаблона, почему он не порезан на более мелкие - хедер, футер?
Ну, это уже моя прихоть. А можно сделать так:
Код:
Чанк header:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[[*pagetitle]] | [[++site_name]]</title>
<base href="[[++site_url]]" />
<link href="[[++site_url]]assets/templates/school/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
	<div id="header">
		<div id="logo">
			<h1><a href="[[++site_url]]">[[++site_name]]</a></h1>
			<p>design by <a href="http://www.freecsstemplates.org/">Savva-paladin</a></p>
		</div>
	</div>
	<!-- end #header -->
	[[!Wayfinder? &startId=`0 &limit=`8` &hideSubMenus=`true` &outerTpl=`topnav.outer` &rowTpl=`topnav.row` &firstClass=`` &hereClass=`current_page_item` &lastClass=``]]

	<!-- end #menu -->
	<div id="page">
	<div id="page-bgtop">
	<div id="page-bgbtm">
		<div id="content">
Код:
Чанк footer:
		<div style="clear: both;">&nbsp;</div>
	</div>
	</div>
	</div>
	<!-- end #page -->
</div>
	<div id="footer">
		<p>Copyright &copy; 2008 [[++site_name]]. All rights reserved. Design by <a href="http://www.freecsstemplates.org/">Savva-paladin</a>.</p>
	</div>
	<!-- end #footer -->
</body>
</html>
Код:
Чанк sidebar:
		<div style="clear: both;">&nbsp;</div>
		</div>
		<!-- end #content -->
<div id="sidebar">
			<ul>
				<li>
					<div id="search" >
					<form method="get" action="#">
						<div>
							<input type="text" name="s" id="search-text" value="" />
							<input type="submit" id="search-submit" value="GO" />
						</div>
					</form>
					</div>
					<div style="clear: both;">&nbsp;</div>
				</li>
				<li>
					<h2>Aliquam tempus</h2>
					<p>Mauris vitae nisl nec metus placerat perdiet est. Phasellus dapibus semper consectetuer hendrerit.</p>
				</li>
				<li>
					<h2>Учителя</h2>
                                  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
				<li>
					<h2>Новости</h2>
                                  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
				<li>
					<h2>Архив фотографий</h2>
				  [[!Wayfinder? &startId=`4` &limit=`5` &outerTpl=`sidebar.outer` &rowTpl=`sidebar.row`&ignoreHidden=`true` &sortOrder=`DESC`]]
				</li>
			</ul>
		</div>
		<!-- end #sidebar -->
Код:
Ну и код самого шаблона:
[[$header]]
[[*content]]
[[$sidebar]]
[[$footer]]
И так далее...
На выходе получаем шаблон, показаный мной выше.

Кстати, про синтаксис модикса можно почитать тут. Ну и в документации.

Последний раз редактировалось savva-paladin; 03.08.2011 в 12:22.
savva-paladin вне форума Ответить с цитированием
Старый 03.08.2011, 12:38   #5
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

спасибо, буду осваивать
попутно вопрос: в самом чанке можно php код выполнять или только статика?
Gorychev вне форума Ответить с цитированием
Старый 04.08.2011, 01:19   #6
savva-paladin
Пользователь
 
Аватар для savva-paladin
 
Регистрация: 09.07.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Gorychev Посмотреть сообщение
спасибо, буду осваивать
попутно вопрос: в самом чанке можно php код выполнять или только статика?
Чанк — кусок статического текста который можно встроить в шаблон, в другой чанк, либо вызвать в сниппете.
Сниппет — ​PHP код который исполняется во время обработки шаблона MODx.

По определению чанк не может содержать php-код, но он может вызывать из себя сниппеты, кокорые содержат нужный код. При этом в сниппете можно тоже вызывать нужные чанки и тд.
Например, Wayfinder ( [[Wayfinder]] или [[!Wayfinder]] ) - это сниппет, предназначенный для создания меню. Его ты можешь видеть в представленном мной выше коде. «!» указывает, что этот сниппет не кэшируется (подробнее о кэше)

Последний раз редактировалось savva-paladin; 04.08.2011 в 05:51.
savva-paladin вне форума Ответить с цитированием
Старый 04.08.2011, 13:37   #7
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Круто! Точто нужно! )
Gorychev вне форума Ответить с цитированием
Старый 06.08.2011, 08:21   #8
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

Вот пример сайтика на MODx. Там ещё уроки + видеоуроки по нему. Жду когда всё-таки появится уроки по веб-магазину или чего помощнее. Блог на MODx, - ну как-то не впечатляет.
P.S.
Только по-моему мощнее Drupal вряд ли, что есть. CCK (пользовательские типы контента) + Views (представление этого контента в любом виде), если надо Drupal API. Причём всё меняется от версии к версии. Отсутствует обратная совместимость.
+встроенная системы ролей-разрешений (полный контроль над тем, что посетителю разрешить делать, а что запретить).
Этим всё сказано. Хотя периодически на друпал.ру появляются нытики, типа Drupal
говно. Ну это пофиг, - меньше кривоюзеров, - меньше г. сайтов, меньше уязвимостей будет. Ну как с Linux.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 06.08.2011, 11:30   #9
savva-paladin
Пользователь
 
Аватар для savva-paladin
 
Регистрация: 09.07.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Alexei91 Посмотреть сообщение
Вот пример сайтика на MODx. Там ещё уроки + видеоуроки по нему. Жду когда всё-таки появится уроки по веб-магазину или чего помощнее. Блог на MODx, - ну как-то не впечатляет.
P.S.
Только по-моему мощнее Drupal вряд ли, что есть. CCK (пользовательские типы контента) + Views (представление этого контента в любом виде), если надо Drupal API. Причём всё меняется от версии к версии. Отсутствует обратная совместимость.
+встроенная системы ролей-разрешений (полный контроль над тем, что посетителю разрешить делать, а что запретить).
Этим всё сказано. Хотя периодически на друпал.ру появляются нытики, типа Drupal
говно. Ну это пофиг, - меньше кривоюзеров, - меньше г. сайтов, меньше уязвимостей будет. Ну как с Linux.
1. Неудачный пример. Там пример сайта на MODx Evolution, на которую обновления не выхорят с 2007 года, несоветую эту версию брать - лучше MODx Revolution использовать, но у них синтаксис слегка разный.

Поехали дальше.

2. Дело вкуса. Насчёт друпала не соглашусь - модикс его опережает по всем параметрам. Контроль доступа абсолютный и абсолютно ко всему, вплоть до определённых чанков или сниппетов для определённых групп юзеров или даже для отдельных юзеров. MODx API тоже не мешает никто использовать. Модикс защищённее друпала. Только пожалуй под Друпала больше готовых решений. А про типы контента и его представление - так это в каждой 2-ой CMS есть.

Вобщем 2 вывода: 1. CMS (Drupal) и CMF (MODx) - вещи трудносравнимые.
2. Холивар начинается...

Последний раз редактировалось savva-paladin; 06.08.2011 в 11:58.
savva-paladin вне форума Ответить с цитированием
Старый 23.08.2011, 23:00   #10
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

я штампую сайты на mod x - не плохая вешь.

кто то спрашивал можно ли в чанках php писать - НЕТ но можно из чанка вызвать сниппет а сниппет как раз таки php код
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CMS MODx Marsianin WordPress и другие CMS 2 23.03.2011 23:56
Нужны программисты ModX и VamShop Valkyrja Фриланс 0 25.11.2010 14:07
Нужен веб-программист - MODx deniska-piter Фриланс 1 12.09.2010 17:53
Flash-сайт под управлением MODx Antoha WordPress и другие CMS 3 27.12.2009 17:04
Отзывы о темах vicvtor О форуме и сайтах клуба 5 26.04.2007 13:01