Донецкий техникум промышленной автоматики

Створення блогу в MODx Revolution

  1. Установка необхідних доповнень
  2. Створення шаблону блогу
  3. Шапка і Підвал блогу
  4. інформація поста
  5. вміст поста
  6. Додавання коментарів до постів
  7. установка Тегів
  8. створення розділів
  9. Налаштування чанка blogPost
  10. Установка і настройка домашньої сторінки вашого блогу
  11. Додавання постів
  12. Структура сторінки в середині розділів
  13. Додавання нового поста
  14. Установка і настройка Архівів
  15. Створення ресурсу Архіви
  16. Установка віджета Archivist
  17. Установка додаткових функцій
  18. Додавання міні-"Останні записи"
  19. Додавання міні-"Останні коментарі"
  20. Додавання міні-"Часто використовуються наразі"
  21. висновок

Рекомендую спочатку ознайомитися з системою синтаксису тегів Revolution перед тим, як ми почнемо.

Перед тим як ми почнемо, хочу зазначити, що даний урок досить великий і на ньому я розгляну як встановити потужний блог з системою написання записів, архівами, тегами, коментуванням і багатьом іншим. Якщо вам не потрібна якась частина, то можете просто пропустити цей непотрібний для вас елемент. MODX - гнучка система управління вмістом модульного типу і ваш блог може функціонувати будь-яким чином. Існують сотні способів створення блогу в MODX Revolution. Ми розберемо один з них.

Установка необхідних доповнень

Для початку необхідно завантажити та встановити деякі доповнення, які ми будемо використовувати в нашому блозі. Нижче наведено список найбільш часто використовуваних додатків для створення блогу:

Необхідні доповнення MODX Revolution для створення блогу:

  • getResources - для списку записів, сторінок і інших ресурсів.
  • getPage - для проставлення номерів списків.
  • Quip - різноманітні функції коментування.
  • tagLister - для управління тегами і створення тегів навігації.
  • Archivist - для управління розділом архіви.

можливі доповнення

  • Breadcrumbs - для відображення навігаційного сліду «хлібні крихти».
  • Gallery - для управління фото-галерея.
  • SimpleSearch - для додавання простого пошукового вікна у вашому сайті.
  • getFeed - якщо ви хочете розмістити в вашому сайті якісь фіди, типу фида Твіттера.
  • Login - функція коментування тільки для зареєстрованих користувачів.

Створення шаблону блогу

Для початку потрібен шаблон для нашого блогу. Цей урок має на увазі, що у вас вже є базовий шаблон для всіх сторінок вашого сайту. Ми будемо посилатися на такий шаблон надалі як на 'BaseTemplate'.

Давайте створимо ще один шаблон 'BlogPostTemplate'. Вміст буде виглядати так:

Давайте досліджуємо даний шаблон. Запам'ятайте, ви можете змінювати будь-який з елементів, змінювати параметри і їх розміщення. Це всього лише базова структура - якщо ви, наприклад, хочете, щоб внизу були теги - просто передвінте їх туди. MODX не обмежує вас в цьому.

Шапка і Підвал блогу

По-перше, зверніть увагу на два чанка: "pageHeader" і "pageFooter". Етм чанкі містять мої загальні HTML теги, які я поклав в підвал і шапку мого сайту, тому я можу їх використовувати у моєму сайті в різних шаблонах. Тобто, якщо вам потрібно змінити вміст шапки або підвалу, то ви можете поміняти вміст тільки одного чанка і автоматично пройдуть зміни у всіх шаблонах. Після цього я дам назву Ресурсу і зроблю посилання на цю ж сторінку.

інформація поста

Далі відредагуємо "info" нашого поста - в основному це автор і теги поста. В деталях це виглядає так:

Перша частина бере поле Ресурсу publishedon, форматує і приводить його в нормальний вигляд.

Другою частиною ми далі відображаємо список тегів для цього запису блогу. Зверніть увагу як ми посилаємося на змінну шаблону "tags" - ми її ще не створили, але не хвилюйтеся - потім ми вставимо її як реквізит сниппета 'tolinks'. Сніппет tolinks йде разом з доповненням tagLister і переводить окремі теги в посилання. Це означає, що наші теги стають розмітки! Ми визначили Ресурс 1 як 'target' або наша домашня сторінка. Якщо ваш блог знаходиться на іншій сторінці, то поміняйте для нього ID.

Нарешті, ми завантажили швидкий рахунок кількості коментарів разом з розмітки якір-посиланнями для їх завантаження. Зверніть увагу як наш реквізит 'thread' у виклику сниппета QuipCount (і пізніше у виклику Quip) використовує 'blog-post - [[* id]]'. Це означає, що MODX автоматично створить новий потік для кожного створеного поста. Крууууто!

вміст поста

Відмінно, давайте повернемося до нашого шаблоном. Ми знаходимося в секції контенту, зверніть увагу, що ми починаємо з [[* introtext]]. Це корисне поле MODX ресурсу - думайте про це як початок уривка поста блогу, який показується на нашій головній сторінці, де міститься список останніх записів поста.

Додавання коментарів до постів

Дуже добре, тепер ми дійшли до частини коментування нашого шаблону BlogPostTemplate. Як видно, ми використовуємо додаток Quip для системи коментування. Ви можете використовувати іншу систему, таку як Disqus. У цьому уроці ми будемо використовувати Quip. Наш код буде виглядати наступним чином:

Відмінно. Зверніть увагу: у нас виклики двох фрагментів - один для відображення коментарів для цього потоку ( Quip ) І інший для відображення форми відповіді ( QuipReply ).

У нашому виклику сниппета Quip, ми визначили ID потоку вищеописаним способом і далі встановили деякі настройки. Наші коментарі будуть відображатися потоком (за замовчуванням), тому нам потрібно визначити ID Ресурсу, де буде наша відповідь (це детально описано в Quip Документації . Я рекомендую почитати цю документацію, щоб зрозуміти як це все встановити.) З реквізитом 'replyResourceId'.

Далі, що потрібно визначити в обох Quip і Quip Reply виклики - реквізит 'closeAfter'. Це говорить Quip автоматічесткі закрити коментірованіе на тих потоках, на яких пройшло 30 днів з часу створення потоку (коли ми завантажували його).

У нашому виклику QuipReply, ми хочемо повідомляємо Quip, що модерувати всі пости і модератори наших постів задані в групі Moderators User Group.

Є ще багато інших Quip налаштувань, які ми можемо поміняти, але залишимо це на майбутнє, кому интерестно, то можете знайти опис цих налаштувань в Quip docs .

установка Тегів

Отже, ми встановили і налаштували шаблон, тепер потрібно встановити змінну шаблону 'tags', яку ми будемо використовувати для нашої системи тегів.

Давайте створення змінну шаблону 'tags' і дамо їй опис як "Теги поточного Ресурсу через кому". Переконаємося, що вона має доступ до шаблону 'BlogPostTemplate', створеному нами раніше.

Переконаємося, що вона має доступ до шаблону 'BlogPostTemplate', створеному нами раніше

Ну ось! Тепер ми можемо додавати теги до будь-якого посту, який ми створили, просто редагуючи свій Ресурс і додаючи туди теги через кому.

створення розділів

Якщо ви хочете, щоб блог містив 'Секції' (Категорії), то вам необхідно спочатку створити ці Ресурси - ресурси-контейнери, які міститимуть пости даних категорій.

У цьому уроці ми створимо два розділи: "Personal" і "Technology". Давайте створимо 2 Ресурсу в корені вашого сайту і визначимо їх як контейнери - 'containers'. Визначимо їх псевдоніми (аліаси) як 'personal' і 'technology', таким чином записи блогу будуть мати розумне відображення.

Тут ми обговоримо, що наші розділи мають ID 34 і 35.

Переконайтеся в тому, що ви не використовуєте шаблон BlogPostTemplate, а замість цього використовуєте ваш шаблон Base Template. Ці сторінки будуть мати в кінцевому підсумку шлях, який дозволить переглянути всі повідомлення в певному розділі. У вмісті цих ресурсів помістіть наступне:

Давайте тепер поясню це. Сніппет getResourcesTag - це сниппет-обгортка для getResources і getPage , Який автоматично фільтрує результати змінної шаблону 'tags'. В основному, нам потрібно взяти все опубліковані ресурси в середині цього розділу (також ми можемо відфільтрувати по тегу, тобто можемо вставити параметр '? Tag = TagName' в URL).

Нижче вихова getResourcesTag, ми вставляємо наші посилання на пагінацію (проставлення сторінок), так як за замовчуванням getResourcesTag показує тільки 10 постів на сторінку.

Для відображення нумерації з російськими словами для першої (Перша) і останньої (Остання) сторінок додаємо два параметра з шаблонами в виклик getResourcesTag

Таким чином наш виклик буде виглядати так:

Налаштування чанка blogPost

У цьому виклику у нас також є реквізит з ім'ям 'tpl', який ми встановили в 'blogPost'. Це наш чанк, який показує кожен результат для списків постів нашого блогу. Він повинен містити наступний код:

Зверніть увагу tolinks використовує параметр & keyTag = `tag`, а не & key як зазначено в документації

Відмінно! Ми почали з клікабельно посилання до посту і змістом ресурсу pagetitle як назвою. Далі ми встановили частина 'posted by' і список тегів (схожі дії ми робили в нашому шаблоні BlogPostTemplate).

Далі, ми покажемо уривок з контенту, який ми зберігаємо в полі 'introtext' контенту.

Після цього ми зробимо посилання 'read more' яка посилається на пост і далі наші коментарі і дата публікації. От і все!

Установка і настройка домашньої сторінки вашого блогу

На головній сторінці нашого блогу, яка у нас міститься в Ресурсі ID 1 - початок нашого сайту - у нас йде це:

Це дозволяє нам показувати всі пости з двох розділів, які ми зробили, в ресурсах 34 і 35. Це також дозволяє нам фільтрувати за тегами (так як наші виклики 'tolinks' і 'tagLister' мають target рівну 1 (це ID ресурсу). Іншими словами, розмістивши тут виклик getResourcesTag у нас автоматично з'являться теги.

Ви можете легко зробити це з іншої сторінки з якої ваш сайт починається (або ID 1) - просто убедідесь в тому, що змінили параметр 'target' в ваших викликах сніпетів tagLister і tolinks.

Додавання постів

Дуже добре, тепер все налаштовано і ми готові додавати пости.

Структура сторінки в середині розділів

Перед тим як почнемо, важливо відзначити, що структура ваших постів в середині розділу залежить цілком від вас. Можете додати контейнер року і місяця Resources, щоб розміщувати там пости або просто постити в середині розділу. Все залежить від вас.

Якщо ви хочете зробити субконтейнерів дати / року, переконайтеся, що у них проставлені чекбокси «Приховати від меню», таким чином вони не з'являться при викликах getResources.

Пам'ятайте про те, що не важливо яку структуру ви робите під розділами, це не вплине на вашу навігацію - Archivist подбає про все. Він визначить якими буду URL ваших постів.

Додавання нового поста

Давайте створимо новий ресурс і визначимо для нього шаблон 'BlogPostTemplate'. Тепер ви можете почати писати ваш пост. Ви можете визначити в поле 'introtext' витримку з вашого поста і далі написати повний зміст вашого поста в поле вмісту.

Нарешті, коли ви все зробите, переконайтеся в тому, що ви визначили теги вашого поста в тільки що зроблених змінних шаблону 'tags'!

Установка і настройка Архівів

Відмінно - тепер у нас є перший запис в блозі! І ви можете добратися до неї через розділи. Тепер, напевно, ви захочете мати можливість переглядати старі записи вашого блогу. Для цього нам знадобиться 'Archvist'.

Створення ресурсу Архіви

Давайте розмістимо ресурс в корені і назвемо його "Archives 'і дамо йому псевдонім (алиас) -' archives '. В середині контенту вставте цей код:

Виглядає знайомо? Все це дуже схоже з тегом getResourcesTag, описаному вище на сторінці розділів. Зараз getPage обгорнутий в сниппет getArchives і повідомляє про те, що ми хочемо взяти записи в Ресурсах 34 і 35 (наша сторінки Розділів). Ми встановимо результат в заповнювач з ім'ям 'archives', на який пошлемося пізніше.

Потім, нижче після цього, ми додамо кілька наповнювачів, які показують поточні місяць і рік. І в самому кінці ми встановимо пагінацію. Відмінно! Ми це все зробили. Наш Ресурс Resource, для створення посилань на нього, має ID = 30.

Установка віджета Archivist

Дуже добре, тепер ми маємо Ресурс, щоб мати доступ до старих записів, але вам ще потрібно згенерувати місяці для записів. Це насправді дуже просто: де-небудь на вашому сайті (скажімо в підвалі) вставте цей шматок коду:

Таким чином сниппет Archivist генерує помісячний список ваших записів (ви можете додати будь-які інші функції, з цією метою загляньте в документацію ). Ми говоримо про те, що хочемо, щоб ці посилання вели до нашого Ресурсу Archives (30) і брали тільки записи в Ресурсах 34 і 35 (ресурси розділів).

От і все! Archivist автоматично зробить всю роботу, включаючи URL генерацію для архівів - archives / 2010/05 / згенерує для всіх записів травня 2010 року, і archives / 2009 / згенерує для всіх записів 2009 року. Відмінно, чи не так?

Установка додаткових функцій

Додавання групи модераторів

Раніше в нашому виклику QuipReply, ми визначили нашу групу moderatorGroup 'Модератори'. Давайте просунемося далі і створимо групу користувачів.

Натисніть Security -> Access Controls і створіть нову групу користувачів і назв її 'Moderators'. Додайте будь-якого користувача в групу (включаючи себе!) І дайте йому будь-яку посаду (роль).

Далі, Ви повинні зайти на вкладку Context Access (Доступ до вмісту). Додайте ACL (ряд доступу до вмісту) який дає цій групі користувачів доступ до 'mgr' вмісту в с мінімальної роллю члена - Member (9999) і політикою доступу 'QuipModeratorPolicy'.

Це дозволить будь-якому члену групи користувачів 'Moderators' модерувати записи в ваших потоках і також повідомляти їм через імейл про нові записи в блозі. Вони можуть увійти в менеджер сайту для модерування коментарів або клацнути прямо на засланні в імейл для затвердження або вилучення коментаря. Ваш ACL повинен виглядати приблизно так:

Збережіть вашу призначену для користувача групу і все! Вам може знадобиться оновити сесію (Security -> Flush Sessions) і перелогінітся, щоб оновити ваші права, про решту подбає Quip.

Додавання міні-"Останні записи"

Ще можна встановити віджет "Останні записи" де-небудь на вашому сайті і не бійтеся - це дуже просто.

Спочатку потрібно встановити наступний виклик в місці, де ви хочете, щоб ваш віджет з'явився:

Ми даємо команду getResources видати нам список з останніх 5 записів ресурсу в наших розділах ресурсів (34,35) і впорядкувати їх за датою публікації.

Далі, створіть чанк `latestPostsTpl`, який ви визначили викликом 'tpl' у виклику сниппета getResources. Вставте цей код в цей чанк:

Бум! Останні записи відображаються у вас на сайті:

Додавання міні-"Останні коментарі"

Для відображення останніх коментарів у доповненнях Quip є відмінний невеликий сниппет, званий QuipLatestComments , Який дуже просто використовувати.

Додайте виклик списку коментарів, де вам потрібно:

Тепер створіть чанк з назвою 'latestCommentTpl':

Перед тим, як ми продовжимо, необхідно відзначити, що QuipLatestComments автоматично обріже коментарі (за замовчуванням до 30 символів) і додасть еліпсис після реквізиту & bodyLimit. По-друге, зверніть увагу, що тут ми використовували 'ago' Output Filter . Цей фільтр вбудований в MODX Revolution і переводить час до запису виду 'two hours, 34 minutes' (або інші метричні системи: хв / сек, рік / місяць, місяць / тиждень).

Зверніть увагу, що за замовчуванням він показує останні 5 коментарів. Результат роботи сниппета:

Ви можете звернутися до документації сниппета для більш точного конфігурування.

Додавання міні-"Часто використовуються наразі"

Ця частина просто до очуменія проста; за вас все зробить tagLister . Просто помістіть його, де вам зручно:

tagLister перевірить змінні шаблону 'tags' і створить посилання на мету (в нашому випадку, Ресурс з ID 1) з 10 найбільш часто використовуваними тегами. Є ще купа конфігураційні , Але ми залишимо все як є.

висновок

Отже ми встановили і налаштували наш блог. Він буде мати приблизно такий вигляд в дереві ресурсів:

Знову підкреслюю те, що можна додати ще дуже багато функцій до нашого блогу. Цей урок є просто точкою старту, відчувайте себе вільно в налаштуванні вашого блогу, додайте потрібну функціональність. Великим плюсом MODX є те, що можна налаштовувати як завгодно, розширювати функціональність будь-якого вашого рішення: включаючи блог!

оригінал статті Creating a Blog in MODX Revolution

Акож ми можемо відфільтрувати по тегу, тобто можемо вставити параметр '?
Відмінно, чи не так?