Разделы

Установка и первичная настройка MODx

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

  • Блог

  • Сайт для компании (с каталогом или без)

  • Коллективный блог (сложно)

  • Интернет магазин до 1000 позиций

  • Не «навороченный» новостной портал.


Не подойдет:
  • Крупный интернет — портал

  • Интернет магазин более 2000 позиций

  • Сайт под нагрузкой более 10000 чел/день

  • И прочее дороже 100000 рублей.



Итак если вы попали в первый список то срочно скачиваем MODx с сайта modxcms.com.
Скачали? Уже хорошо первый шаг сделан.

Далее. Вы открыли архив и не знаете что с ним делать? Тогда вам просто необходимо почитать о том что такое сервер, denwer, MySQL, phpmyadmin и прочие приятные вещи без которых вы просто не стронетесь с этого места. Не бойтесь, это не так страшно. Мы обязательно вас дождемся!

Ну а с теми «кто в теме» продолжаем разговор, установка проще не бывает:
  1. Распаковываем в корень,

  2. Создаем базу,

  3. Переходим на
    http://moisait/
    жмакаем установить,

  4. Выбираем русский язык,

  5. Проверяем коннект с базой,

  6. Указываем админа,

  7. Соглашаемся со всем что там нам предлагают (кстати GPL так что не напугаешь)

  8. Отмечаем все чанки и сниппеты (уже страшно от таких слов да?)

  9. Ижмем установить!



Все, дело сделано, назад дороги нет. Все встало на свои места, но только когда заходишь в админку
http://moisait/manager
кодировка моя твоя не понимай. Не страшно!

Выставляем в браузере кодировку CP-1251 (Windows-1251) и бягом в админку —

в верхнем меню «Инструменты»-> «Конфигурация» -> «Язык системы» и «Кодировка» ставим на «Russian — UTF8» и «UTF8» соответственно.

После этого сохраняем настройки и выставляем в браузере обрятно UTF8 (я забыл вас предупредить что это основная кодировка для современного человека?).

Далее необходимо убрать WYSYWIG редактор — по умолчанию в MODx это TinyMCE, он нам понадобится позже, на этапе наполнения контентом, но сейчас он нам не нужен.

Для этого идем в раздел ИнструментыКонфигурацияИнтерфейс и представление. Пункт "редактор" выставляем — "Нет".
Далее во вкладке «Сайт» пункт «Публиковать по умолчанию» выставляем — да.

Во вкладке «Семантические URL» включаем непосредственно Семантические URL. Что это такое? Это когда вместо
http://site.ru/?w=23,asf=98543fff
выводится
http://site.ru/about
в целом не очень нужная, но приятная штуковина, по другому называется ЧПУ(человеко понятные URL).

Для того, что бы все работало корректно необходимо наличие модуля apache — mod_rewrite. О том что это такое и почему у вас его нет (обычно есть) — прошу обращятся к спец. литературе и вашему хост — провайдеру.

Непосредственно к основам:
Система делится на Документы,Шаблоны, Чанки, Сниппеты, TV параметры, Модули и Плагины.

Обо всем по порядку:
1. Шаблоны.
Итак в настройках полазили,
интерфейс посмотрели, но в целом система непонятна. Так же вы попытались как любые пользователи Joomla, Drupal, Wordpress и др. поискать шаблоны в сети и, естественно, ваши попытки потерпели полное фиаско.

Итак сразу поясню- шаблоны не нужны. Во всяком случае, шаблоны как выпривыкли их видеть у той же Jooml'ы.
Нужен просто сверстанный на HTML + CSS + JS шаблон совершенно стандартного образца.
Никаких извращений, 21 век не терпит шаблонизации по принципу Drupal. Валидно, легко просто- вот что нынче в моде.

Итак вы берете и вставляете html код файла index вашего шаблона в раздел:
-РесурсыУправление ресурсамиШаблоныОсновной (можете переименовать).
-Сохраняете.
-Распаковываете сопутствующие шаблону файлы в корень сайта.
-Всё.

Ну почти всё, осталось
расставить специальные теги (Плэйсхолдеры).
Привожу основные- остальные по этому адресу

— [(site_name)]- название сайта;
— [(base_url)] или [(site_url)]- адрес сайта;
— [(modx_charset)]- используемая кодировка;
— [*pagetitle*]- заголовок документа;
— [*longtitle*]- расширенный заголовок документа;
— [*description*]- описание документа;
— [*introtext*]- аннотация документа;
— [*content*]- содержимое документа;
— [*alias*]- псевдоним документа;
— [*id*]- идентификатор (номер) документа;
— [*unpub_date*]- дата завершения публикации;
— [*createdby*]- Идентификатор пользователя, создавшего документ;
— [*createdon*]- Дата создания документа;
— [*editedby*]- Идентификатор пользователя, редактировавшего документ;
— [*editedon*]- Дата редактирования документа;
— [*parent*]- номер (ID) родительского документа;
— [*isfolder*]- является ли документа папкой(1|0);

Ну вот- вставляем нужные теги в нужные места: название- [(site_name)], содержимое меняем на [*content*] и т.д.
Совершенно ничего сложного, значительно легче Jooml'ы. Для вывода меню и динамического контента типа ленты новостей используются сниппеты, об этом
позже.

2.Чанки.
Чанк- кусок HTML кода который вставляется в любое место в шаблоне в неограниченном количестве.

Пример: у вас три шаблона, в каждом есть баннер «cкидка» который на разных шаблонах будет в разных местах.

Вы создаете чанк с именем «banner», вписываете в него html код баннера и в нужных местах вставляете на ваших страницах его так: {{banner}} и всё, где угодно, в шаблоне, в контенте, где хотите у вас выведется код баннера. Так же чанки используются в снипетах, но об этом в следующих сериях.
И на последок задание: в примере шаблона- найдите плейсхолдеры и чанк :)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='yandex-verification' content='5c8e1a74d41057a7' />
<meta name="verify-v1" content="9DdDvPNxo00DqYNzPhqTd8sQAPrbJp0eCKOYV/ciL+g=" />
<meta name='yandex-verification' content='5a35ab4df646d61d' />
<link rel="stylesheet" href="images/style.css" type="text/css"  />
<title>[(site_name)] | [*pagetitle*]</title>
</head>
<body>
<div id="header">
</div>
<div id="header-low">
<div id="nav">
    	<div id="nav-bar">
[[Wayfinder? &startId=`0` &selfClass=`selected` &level=`1`]]
  		</div>
</div>
</div>
<div id="wrap">
{{RIGHT}}
  	<div id="content">
[[Breadcrumbs? &showHomeCrumb=`0`]]
	<h1>[*pagetitle*]</h1>
 [*content*]
</div>
</div>
  <div id="footer">
  <div align="center">© 2009 <strong>WebPro Studio</strong> | Valid <a href="http://validator.w3.org/check?uri=referer">XHTML</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> | Design by: <a href="http://www.wpst.ru/">WebPro Studio</a>      <a href="#">Home</a> | Sitemap</div>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8850379-1");
pageTracker._trackPageview();
} catch(err) {}</script>

</div>
</body>
</html>

Комментарии (11)

RSS свернуть / развернуть
0
Почему MODx не подойдет для портала?
avatar

Shadber

  • 13 июля 2009, 13:46
0
Субъективная оценка, полученная мною в общении с людьми у которых свыше 10000 записей сайт еле ползал, которая возникла возможно из-за незнания или кривых рук. Опровергните меня, буду вам очень признателен.
avatar

abadello

  • 13 июля 2009, 14:10
0
Опровергнуть пока не могу, самому стало интересно, возможно ли построение приличного портала на MODx. По функционалу, кажется, он позволяет очень много всего, а вот по нагрузке не знаю, к сожалению.
avatar

Shadber

  • 13 июля 2009, 14:16
0
Возможно, но потрудиться придется. Система кеширования плохо приспособлена. Скорее всего на 2.0 можно будет легко.
avatar

Carw

  • 13 июля 2009, 14:47
0
Ох не хочется мне эксперименты на реальных сайтах ставить.
завтро буду тестировать на нагрузки.
Результаты выложу
avatar

fobazzz

  • 13 июля 2009, 14:51
0
Так же внес поправки в статью.
avatar

abadello

  • 13 июля 2009, 14:16
0
Нечитабельная статья.
И важный момент(для utf8) во время установки лучше пользоваться английским языком. А русский выбрать уже после установки.
Тогда не будет глюка с кодировкой при первом заходе в админку
avatar

fobazzz

  • 13 июля 2009, 14:37
0
Нечитабельная статья.

Ясно дело, при таких — то CSS стилях! Даже у параграфов отступов не назначено, заголовки отключены, да черти чего еще…
Сейчас привожу потихоньку в божеский вид…
Ну да ладно, первый блин комом :)
avatar

abadello

  • 13 июля 2009, 14:50
0
Весьма хорошее начало, хотя конечно над читабельностью еще стоит поработать тоже. Кое-где строки разорваны. Код стоит внести в тег
<code>

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

Некоторые моменты (вразброс):

Система делится на Шаблоны, Чанки, Сниппеты, TV параметры, Модули и Плагины.


Возможно, что тут не хватает еще самих документов.

Итак сразу поясню — шаблоны не нужны.


Это может запутать. Конечно же шаблоны нужны, но под ними понимается немного другое :-)

когда вместо «site.ru/?w=23,asf=98543fff» выводится «site.ru/about»


Там видимо лучше использовать site.ru/?w=23&asf=98543fff, так как параметры разделяются именно таким знаком.

Пункт «редактор» выставляем — «Нет».


А это для чего?

Далее во вкладке «Сайт» пункт «Публиковать по умолчанию» выставляем — да.


Это, кстати, не очень хорошая практика для новичков.

Ну вот так примерно. В целом — здорово, но стоит определить аудиторию для статьи более точно и добавить нужное / убрать лишнее.
avatar

Carw

  • 13 июля 2009, 15:05
+1
ОК
Спасибо за замечания, уже работаю :)
avatar

abadello

  • 13 июля 2009, 15:32
0
Пункт «редактор» выставляем — «Нет».

Это для вывода Ditto в документ. Редактор дописывает теги
<p></p>
, это не есть гуд.
Я планировал что человек сначала создаст структуруы, подключит плагины и сниипеты (если надо) а после этого займется непосредственно контентом.
И вот уже на этом этапе визуальный редактор нужно включить.

Это, кстати, не очень хорошая практика для новичков.

Нормальная практика, поскольку в Joomla именно так :) и если не включить путанницы будет…
avatar

abadello

  • 13 июля 2009, 15:52

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.