Рас уж пошла такая пьянка, выкладываю свою статью именно в сообществе, а не на блоге, как планировал.
Для начала предлагаю просто определиться для чего MODx подойдет, а для чего нет.
Подойдет для сайтов типа:
- Визитка
- Блог
- Сайт для компании (с каталогом или без)
- Коллективный блог (сложно)
- Интернет магазин до 1000 позиций
- Не «навороченный» новостной портал.
Не подойдет:
- Крупный интернет — портал
- Интернет магазин более 2000 позиций
- Сайт под нагрузкой более 10000 чел/день
- И прочее дороже 100000 рублей.
Итак если вы попали в первый список то срочно скачиваем MODx с сайта
modxcms.com.
Скачали? Уже хорошо первый шаг сделан.
Далее. Вы открыли архив и не знаете что с ним делать? Тогда вам просто необходимо почитать о том что такое
сервер,
denwer,
MySQL,
phpmyadmin и прочие приятные вещи без которых вы просто не стронетесь с этого места. Не бойтесь, это не так страшно. Мы обязательно вас дождемся!
Ну а с теми «кто в теме» продолжаем разговор,
установка проще не бывает:
- Распаковываем в корень,
- Создаем базу,
- Переходим на
http://moisait/
жмакаем установить,
- Выбираем русский язык,
- Проверяем коннект с базой,
- Указываем админа,
- Соглашаемся со всем что там нам предлагают (кстати GPL так что не напугаешь)
- Отмечаем все чанки и сниппеты (уже страшно от таких слов да?)
- Ижмем установить!
Все, дело сделано, назад дороги нет. Все встало на свои места, но только когда заходишь в админку
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 свернуть / развернутьShadber
abadello
Shadber
Carw
завтро буду тестировать на нагрузки.
Результаты выложу
fobazzz
abadello
И важный момент(для utf8) во время установки лучше пользоваться английским языком. А русский выбрать уже после установки.
Тогда не будет глюка с кодировкой при первом заходе в админку
fobazzz
Ясно дело, при таких — то CSS стилях! Даже у параграфов отступов не назначено, заголовки отключены, да черти чего еще…
Сейчас привожу потихоньку в божеский вид…
Ну да ладно, первый блин комом :)
abadello
Ну и в целом статья похоже рассчитана именно на новичков, которые до этого использовали что-то типа Joomla. Возможно им это будет понятно, но я бы лично разбил статью на несколько частей (хотя бы заголовками). И если статья действительно рассчитана на тех, кто раньше использовал Joomla, то я бы сделал сравнение более явным (вроде как, а помните здесь вы делали так, а тут все делается вот так).
Некоторые моменты (вразброс):
Возможно, что тут не хватает еще самих документов.
Это может запутать. Конечно же шаблоны нужны, но под ними понимается немного другое :-)
Там видимо лучше использовать site.ru/?w=23&asf=98543fff, так как параметры разделяются именно таким знаком.
А это для чего?
Это, кстати, не очень хорошая практика для новичков.
Ну вот так примерно. В целом — здорово, но стоит определить аудиторию для статьи более точно и добавить нужное / убрать лишнее.
Carw
Спасибо за замечания, уже работаю :)
abadello
Это для вывода Ditto в документ. Редактор дописывает теги , это не есть гуд.
Я планировал что человек сначала создаст структуруы, подключит плагины и сниипеты (если надо) а после этого займется непосредственно контентом.
И вот уже на этом этапе визуальный редактор нужно включить.
Нормальная практика, поскольку в Joomla именно так :) и если не включить путанницы будет…
abadello
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.