NetAuditor » MODx » Школа MODx » MODx с нуля и до победного - Настройка

MODx с нуля и до победного - Настройка

Следующие шаги в нашей многосерийной повести направленны на настройку системы MODx. Объяснение значения слов шаблоны и чанки в контексте MODx.

Непосредственно к основам:

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

Обо всем по порядку:

1. Шаблоны.

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

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

Нужен просто сверстанный на HTML + CSS + JS шаблон совершенностандартного образца.

Никаких извращений, 21 век нетерпит шаблонизации по принципу Drupal. Валидно, легко просто — вот что нынче вмоде.

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

Сохраняете.

Распаковываете сопутствующиешаблону файлы в корень сайта.

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

Привожу основные — остальные по адресу - http://www.modx.im/

[(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 кода которыйвставляется в любое место в шаблоне в неограниченном количестве.

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

И на последок задание: в примере шаблона — найдите плейсхолдеры и чанк :)

<!doctype html>
<html class="no-js" lang="ru">
<head>
    {{HEAD}}
</head>
<body>
    {{TOP}} 
	[[if?&is=`[*id*]:=:1`&then=`{{index_top}}`]]
	<div class="row">
        <div class="large-9 medium-9 columns">
            <h1>[*pagetitle*]</h1>
            <div class="row">
                <div class="large-12 columns">
                    [[nocontent]]
                </div>
            </div>
        </div>
        [!cstart!]
        <div class="large-3 medium-3 columns">
            <div class="callout panel">
                <p>Six columns</p>
            </div>
        </div>
    </div>
    <script src="[(site_url)]assets/js/vendor/jquery.js"></script>
    <script src="[(site_url)]assets/js/foundation.min.js"></script>
    <script src="[(site_url)]assets/js/foundation/foundation.topbar.js"></script>
    <script>
    $(document).foundation();
    </script>
</body>
</html>