Создание блога в MODx Revolution
Рекомендую вначале ознакомиться с системой синтаксиса тегов 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', созданному нами ранее.
Ну вот! Теперь мы можем добавлять теги к любому посту, который мы создали, просто редактируя свой Ресурс и добавляя туда теги через запятую.
Создание разделов
Если вы хотите, чтобы блог содержал 'Секции' (Категории), то вам необходимо вначале создать эти Ресурсы - ресурсы-контейнеры, которые будут содержать посты данных категорий.
В этом уроке мы создадим два раздела: "Personal" и "Technology". Давайте создадим 2 Ресурса в корне вашего сайта и определим их как контейнеры - 'containers'. Определим их псевдонимы (алиасы) как 'personal' и 'technology', таким образом записи блога будут иметь разумное отображение.
Убедитесь в том, что вы не используете шаблон BlogPostTemplate, а вместо этого используете ваш шаблон Base Template. Эти страницы будут иметь в конечном итоге путь, который позволит просмотреть все сообщения в определенном разделе. В содержимом этих ресурсов поместите следующее:
Давайте теперь объясню это. Сниппет getResourcesTag – это сниппет-обёртка для getResources и getPage, который автоматически фильтрует результаты переменной шаблона 'tags'. В основном, нам нужно взять все опубликованные ресурсы в середине этого раздела (также мы можем отфильтровать по тегу, то есть можем вставить параметр '?tag=TagName' в URL).
Ниже выхова getResourcesTag, мы вставляем наши ссылки на пагинацию (проставление страниц), так как по умолчанию getResourcesTag показывает только 10 постов на страницу.
Для отображения нумерации с русскими словами для первой (Первая) и последней (Последняя) страниц добавляем два параметра с шаблонами в вызов getResourcesTag
Таким образом наш вызов будет выглядеть так:
Настройка чанка blogPost
В этом вызове у нас также есть реквизит с именем 'tpl', который мы установили в 'blogPost'. Это наш чанк, который показывает каждый результат для списков постов нашего блога. Он должен содержать следующий код:
Отлично! Мы начали с кликабельной ссылки к посту и оглавлением ресурса pagetitle как названием. Далее мы установили часть 'posted by' и список тегов (похожие действия мы делали в нашем шаблоне BlogPostTemplate).
Далее, мы покажем отрывок из контента, который мы храним в поле 'introtext' контента.
После этого мы сделаем ссылку 'read more' которая ссылается на пост и далее наши комментарии и дата публикации. Вот и всё!
Установка и настройка домашней страницы вашего блога
На домашней странице нашего блога, которая у нас содержится в Ресурсе ID 1 – начало нашего сайта – у нас идёт это:
Это позволяет нам показывать все посты из двух разделов, которые мы сделали, в ресурсах 34 и 35. Это также позволяет нам фильтровать по тегам (так как наши вызовы 'tolinks' и 'tagLister' имеют target равную 1 (это ID ресурса). Другими словами, разместив здесь вызов getResourcesTag у нас автоматически появятся теги.
Вы можете легко сделать это с другой страницы с которой ваш сайт начинается (или ID 1) – просто убедидесь в том, что изменили параметр 'target' в ваших вызовах сниппетов tagLister и tolinks.
Добавление постов
Отлично, теперь всё настроено и мы готовы добавлять посты.
Структура страницы в середине разделов
Перед тем как начнём, важно отметить, что структура ваших постов в середине раздела зависит целиком от вас. Можете добавить контейнер года и месяца Resources, чтобы размещать там посты или просто постить в середине раздела. Всё зависит от вас.
Помните о том, что не важно какую структуру вы делаете под разделами, это не повлияет на вашу навигацию - 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
17-10-2011 приёмы MODx Revolution сниппеты чанки переменные шаблона Виктор Матушевский
Lola
01.11.2011 05:41А что-то blogPost не выводит тэги?
Viktorminator
01.11.2011 09:27Для каждого поста нужно заполнить переменную шаблона tags, перед этим нужно, конечно же, ее создать и назначить для шаблона поста.input type для tags - Auto-Tag (выставить в настройках для ПШ).
Viktorminator
11.11.2011 10:10Для показа кода используйте pastebin.com. Использование MODx Revo кода в комментариях нежелательно.
Lola
11.11.2011 11:08Проблема с выводом тэгов была в вызове getResourcesTag. Сейчас все нормально.
Lola
11.11.2011 13:11Виктор! А как вывести изображения на главной странице блога? У меня почему-то выводится только адрес картинки вместо самого изображения.
Viktorminator
11.11.2011 13:57input type (Input options) для переменной шаблона, которая является изображением для отдельного поста главной страницы блога должно быть Image, output type (Output options) - default.
Lola
11.11.2011 19:33Было Image-Image, теперь Image-default, но ничего не изменилось, к сожалению. Может быть как-то связано с не коректными ссылками на установку адресов к картинкам? Выводит ссылку на рисунок images/blog/pic.jpg, т.к. папка с рисунками images находится у корневом каталоге.
Viktorminator
11.11.2011 20:01зайдите на pastebin.com и сохраните ваш код и сюда ссылку или просто киньте ссылку с сайта, где должно быть изображение.
Lola
12.11.2011 12:18ссылка на сайт http://lalitamadhava.ru/blog/ а pastebin.com/5aqAt4xK, также я отослала через контактную форму содержание blogPost.
Viktorminator
12.11.2011 12:53http://pastebin.com/DBV3HDED - поменяйте код, выводящий изображение
MODx Revolution webstudio
12.11.2011 13:07Lola:у Вас нет sitemap.xml, robots.txt, meta keywords, meta description, 404 страницы. Сайт открыт для индексирования. Поэтому в индекс сейчас попадает всё, весь Lorem ipsum будет в гугле ассоциироваться с сайтом, что не очень хорошо.
Lola
12.11.2011 13:54Виктор! Спасибо! Все так просто оказалось. Сайт пока еще не готов, он открыт только был для вас. Постепенно все сделаю. Я еще не волшебница. только учусь. :)
Lola
13.11.2011 15:51Виктор! У вас при добавлении комментария появляется зелененькая надпись: "Ваш комментарий получен, будет рассмотрен и опубликован и т.д." Подскажите,как можно пристроить такое же сообщение?
MODx Revolution Webstudio
13.11.2011 16:26Квип содержит эти стили .quip-success {color: green;} .quip-error{color: red;} Я не помню наверняка. Если нет, то добавьте их в свой файл стилей .css
Lola
13.11.2011 21:37У меня вообще не появляется такое сообщение. Не вижу настроек, которые бы его выводили.Как можно сделать, чтобы оно появлялось?
MODx Webstudio
14.11.2011 00:00Потому что вы администратор сайта и смотрите на данные сообщения, когда вошли в менеджер. В менеджере нажмите Выйти (Log out) и попробуйте сделать комментарий под другим и-мейлом.
Lola
14.11.2011 10:41Виктор! Гениальное все просто! :)
Lola
23.11.2011 12:12Виктор! У вас дата выводится в формате, когда месяц на латинице. Конечно можно заменить на %d %m %Y, тогда месяц будет выводится цифрой. А как сделать, чтобы месяц выводился кириллицей?
Viktorminator
23.11.2011 14:22В файле config.core.php который в корне сайта, вставляете эту строку setlocale(LC_ALL,'ru_RU.UTF-8')
Quip компонент корявый и с каждым новым апдейтом он не становится лучше, но так как альтернативы нет...
Bhakti Lata
02.09.2012 17:58Виктор! Для новой версии MODx эта рекомендация не работает setlocale(LC_ALL,'ru_RU.UTF-8'). У вас установлена Loginza. Поделитесь опытом как ее интегрировать в MODx?
Viktor Minator
02.09.2012 18:15для новой версии в системных параметрах есть такой параметр: locale для него укажите ru_RU.UTF-8
Loginza легко находится в modx extras автор Bezumkin скрывается под именем Василий Наумкин =)
Bhakti Lata
02.09.2012 19:25Спасибо, Виктор!
Lola
23.11.2011 14:42Виктор! Огромное спасибо, чтобы я без вас делала. Перерыла всю документацию на аглицком. ничего не нашла.:)
Lola
23.11.2011 15:25А как вам новая версия MODx 2.2?
Viktorminator
23.11.2011 15:29Пока еще не рекомендовал бы устанавливать релиз-кандидат MODx Revolution 2.2, но разбираться уже с ним можно. Почитайте по ссылке какие там изменения. Есть там проблемы в виде несохранения переменных шаблона. Поэтому жду стабильной версии. Даже в 2.1.5 сейчас есть проблемы. Поэтому пока лучше сидеть на 2.1.3.
Lola
23.11.2011 15:32А я обновилась до 2.1.5, видимо опрометчиво.:) Но особых глюков, пока, не заметила.
Lola
26.11.2011 23:52Виктор! У меня в результате всего пропала навигация. Где может быть проблема? Просто напасть какая-то.
Lola
26.11.2011 23:52Прошу прощения. Пагинация.
Lola
01.12.2011 20:28Виктор! Еще один вопрос. У вас выводятся, когда вы кликаете по списку из облака тэгов все материалы, да еще разбиты по страницам. У меня же выводятся только 2-3 материала, хотя в скобках около тега указывается, что их 13. По некоторым тегам вообще выходят пустые страницы. В чем может быть проблема?
Lola
01.12.2011 20:31Там вообще не понятно. У вас указывается источник &target=`1`, а если нужно вывести из 5 ресурсов?
Viktorminator
01.12.2011 20:49&target - указываете родительский ресурс-контейнер, в котором содержатся все посты блога. Если у вас 5 ресурсов, попробуйте указать через запятую, хотя я не уверен.
Lola
01.12.2011 23:02Не работает для нескольких ресурсов. Нужно создавать, видимо, на каждый ресурс свой шаблон и там везде делать вызов. Ужасно.....
Антон
02.12.2011 13:53Не понятно как сделать вот это "Добавьте ACL (ряд доступа к содержимому) который даёт этой группе пользователей доступ к 'mgr' содержимому в с минимальной ролью Члена - Member (9999) и политикой доступа 'QuipModeratorPolicy'."
Опишите пожалуйста подробнее
Cubus
11.12.2011 03:45Хотелось бы подробней узнать о реализации форм регистрации и авторизации (Login и его альтернативы, если есть) и расширенное описание работы с галереей Gallery (с примерами реализации). С английским у меня туговато, поэтому оф. документацию штудирую с трудом. Думаю, ко мне многие присоединятся в этом пожелании.
Viktorminator
11.12.2011 10:35Урок создания галереи в MODx Revolution
prihod
15.12.2011 16:30Глюк с Archivist, если кликнуть на любой номер страницы который вывел getPage то данных в [[+arc_month_name]] [[+arc_year]] нет, это только у меня так ?
Viktorminator
15.12.2011 18:08Проверьте шаблон вывода. Архивы должны работать без проблем.
prihod
16.12.2011 11:46А причем тут шаблон вывода если кликнуть по ссылке на архив (my-site.com/archive/2011/12) то данные в [[+arc_month_name]] [[+arc_year]] , а если начать пролистывать архив по ссылкам (my-site.com/archive/?page=1) созданных getPage
то данных нет. Как видно из ссылок getPage не добавляет к ссылке на новую страницу год и месяц, т. е ссылка должна быть вида my-site.com/archive/2011/12?page=1
Viktorminator
16.12.2011 15:44А понял, то есть вы хотите, чтобы в при пролистывании Архивов, например, за месяц декабрь у вас выводилось Декабрь на месте [[+arc_month_name]] и 2011 на месте [[+arс_year]]. Посмотрел у себя - у меня тот же эффект, то есть вначале выдаёт значения, а при перелистывании, например, на 2ю страницу https://modx.ws/arhivy.html?page=2 (у меня ЧПУ) уже эти значения не выдаются. Возможно это баг getPage, как решить эту проблему - не знаю.
Lola
22.12.2011 05:33Виктор! Мы так и не разрешили вопрос с тэгами. У вас выводятся, когда вы кликаете по списку из облака тэгов все материалы, да еще разбиты по страницам. У меня же выводятся только 2-3 материала, хотя в скобках около тега указывается, что их гораздо больше. По некоторым тегам вообще выходят пустые страницы. В чем может быть проблема?
Lola
22.12.2011 05:45Прошу прощения! Так как я описала выше получается при щелкании по списку тэгов в посте. А при кликании по списку тэгов в виджете "Часто используемые тэги" просто выбрасывает на Главную страницу и не выводит ничего.
Lola
22.12.2011 08:13Причину удалось понять. Список тэгов tagLister выводит полный по всем категориям, а если кликаешь по ссылке в списке тэгов, то выводится только посты из того раздела, который указан в &target. Получается, что на каждый раздел нужно создавать собственный набор вызовов 'tolinks' и 'tagLister' ?
Skorohod
27.12.2011 19:15Помогите пожалуйста, делаю все по мануалу - !Archivist? &target=`30` &parents=`34,35`
Archivist зараза генерирует кракозябры :( XAMPP на win7, modx revo 2.2.0 rc3, перепробовал кучу способов, она выдается по-ходу в cp1251 (дефолт), хотя везде прописываю локаль ru_RU.utf-8. Как побороть? Прошу прощения, если что я новичок)
Bas
27.12.2011 19:56Foo bar
Skorohod
27.12.2011 20:26Или подскажите как сделать чтобы Archivist выводил даты формата 27/12/2011, а не ??????? 2011
Андрей
03.04.2012 17:07Где настраивается адрес статей? а то у меня почему-то статьи начали отображатся /год/месяц/день/алиас (ЧПУ-дружеский адрес включен)
Viktorminator
03.04.2012 17:22в псевдониме - алиасе. Настройки ЧПУ можете поправить в системных настройках.
Stan
04.04.2012 08:47Привет!
Сделал по мануалу, но после клика на тэг или ссылку в архиве перебрасывает на главную страницу. Как вылечить?
Bhakti Lata
02.10.2012 18:13Та же история, как вы решили проблему с выбросом на главную по клику на тэг в списке тэгов любого поста?
Stan
04.04.2012 09:19С тэгами разобрался, с архивом не совсем понятно.
Андрей
04.04.2012 14:34Спасибо! Понял.
У меня тут возникла проблема с Quip 2.3.0 в Internet Explorer (в данном случае версия 9, но отображается некорректно во всех версиях.)
Вот как в IE версиях: http://s019.radikal.ru/i617/1204/31/1a6a87e97184.jpg
Вот как в остальных браузерах (нормально): http://s019.radikal.ru/i606/1204/a7/47912b6668eb.jpg
Смотрю в исходных код в IE - текст есть, но не отображается совсем..
Версия Модекса: MODX Revolution 2.2.1-pl (traditional)[новый], на Денвере.
(+ предложение не в тему - Виктор, советую Вам создать форум по Modx на этом сайте..)
Viktorminator
04.04.2012 16:49Создать форум могу за полчаса, только боюсь что мало людей сюда будут писать. Думаю, что сделаю после редизайна.
Андрей
04.04.2012 17:00Виктор, мне кажется лучше чтобы больше активности было на форуме, а здесь - сам материал, информация. Форум будет очень полезная вещь.
Андрей
05.04.2012 13:45Спасибо, уже не надо. Проблема была в стилей QUIP (нужно было убрать float:right;)
У меня другой вопрос. Можно ли сделать чтобы комментарии были на одной странице, а форма добавления комментариев на другой? Мне нужно для одной задачи, типа.. для гостевой книги. Чтобы на той странице были только комментарии, а добавления в другой. Пробовал - не вышло. [[!QuipReply?]] не хочет отделять от [[!Quip?]]. Просто не добавляет новых комментов и все..
yaman
28.03.2013 19:51У меня та же проблема с ИЕ9, не могли бы уточнить - где именно закомментировать float:right; - в стиле это в нескольких местах имеется? Спасибо.
Viktor Minator
28.03.2013 22:04https://gist.github.com/modxws/5007070
Алишер
26.07.2012 09:03Здравствуйте, Виктор.
Я работаю над выводом записей на странице, но чтобы я ни делал, он все равно выводит 1 запись. вызов выглядит таким образом.
[[!getResources?
&tpl=`articleTpl`
&limit=`10`
&includeContent=`1`
&parents=`[[*id]]`
&hideContainers=`1`
&pageFirstTpl=`Первая`
&pageLastTpl=`Последняя`
]]
[[!+page.nav:notempty=`
[[!+page.nav]]
`]]
что делать?? подскажите пожалуйста.
Viktor Minator
26.07.2012 10:22добрый день. Вы забыли, что нужно делать вызов сниппета getPage, а не getResources:
getPage? &elementClass=`modSnippet` &element=`getResources` &tpl=`articleTpl`...
Алишер
26.07.2012 11:26Эту проблему решил. Я всего лишь статьи не опубликовал, хотя они были. Поэтому ничего не показывалось. Сейчас у меня другая проблема. У меня нет постраничной навигации. Я поставил лимит в 6 анонсов, но перехода на остальные страницы нет... что делать??
И спасибо за ответ
Алишер
26.07.2012 11:30Изменил запись, как вы сказали. Постраничная навигация появилась, но он выглядит очень не хорошо. страницы идут столбцом... как можно изменить этот момент? чтобы навигация шла в линию и как ее еще украсить?
Sergey Kalinin
28.08.2012 14:51а возможно ли выводить список всех тэгов в виде облака? в документации ничего по этому поводу не сказано
olaola
29.08.2012 00:17Здравствуйте! после добавления комментария пользователь не может удалить его - при нажатии на "удалить" просто обновляется страница. (модератор может) &allowRemove=`1`
Bhakti Lata
02.09.2012 20:47Виктор! А у вас нинде не описана методика работы с GitHub? Что-то у меня выводится только нижняя серая полоска, а текст внутри не выволится. Хитрая система.
Viktor Minator
03.09.2012 00:21каким устройством (браузером) пользуетесь?
Bhakti Lata
03.09.2012 05:52Преимущественно Firefox Mozilla.
Bhakti Lata
01.10.2012 16:45Здравствуйте, Виктор! А как так может быть, что в списке архива выводится два одинаковых месяца: сетябрь и сентябрь, а октябрь не выводится? Вообще все как-то странно. Щелкаешь по сентябрю выводится не 6 статей, а два. Похоже сниппет сошел с ума :)
Лола Елесина
05.10.2012 22:21Виктор! Пожалуйста, подскажите, пожалуйста, почему все же при клике на любой тэг, в записях, которые перечислены на странице скажем блога или новостей. выкидывает на гланую страницу?
Лола Елесина
07.10.2012 18:46Господа и дамы! Отвечаю на свой же вопрос. не копируйте слепо код из учебника по MODx http://rtfm.modx.com/display/revolution20/Creating+a+Blog+in+MODx+Revolution и все будет нормально.
Bad Trip
21.12.2012 15:46В уроке вы используете систему Quip, но как вы справились со следующими проблемами?
Хоть и утверждается что quip способен создавать древовидные комментарии, тем не менее это не обходится без танцев с бубном.Очевидный минус — необходимость перехода на новую страницу для ответа на комментарий.2-комментарии не работают, точнее при ответе на комментарий 2ого уровня картина такая;
— Reply to Thread
Комментарии (1)
— Отклонённые`]] //whf???
Admin:
Dec 21, 2012 at 05:18 PM
комментарий
---
— При ответе на комментарии 3его уровня список комменатриев выше уровнем вообще не генерируется.Вобщем какой-то бред.
Либо я где-то накосячил, что вряд ли, либо Quip просто не работет и было бы неплохо не вводить людей в заблуждение а сразу предупреждать.
Bad Trip
21.12.2012 15:48Да, как вижу у вас quip так же работает через Ж
Viktor Minator
21.12.2012 21:29это не из-за Quip, а из-за моей лени и кривых рук ;)
Viktor Minator
21.12.2012 21:40хотя признаюсь честно, Quip меня не устраивает. Думаю как использовать из тикетов систему комментариев...
Николай Николаевич
28.02.2013 16:44Спасибо за статью.
володя володин
21.03.2013 20:16насчет пагинации вопрос. хоть и вызывается она у меня некешируемой, но бывает проскакивают на страничкам остатки пагинации (хотя ее там быть не должно), если обновить страницу - то все нормально. это у всех так? просто впервые использую...
p.s. Виктор ваши уроки очень интересные и подробные. спасибо вам! уже второй месяц modx осваиваю...
уроки про Тикеты не планируете?
Viktor Minator
21.03.2013 21:58Ищите ошибки в коде. Не должно быть никаких "остатков"...
володя володин
21.03.2013 22:17если не трудно посмотрите пожалуйста! может у меня глаз замылился)
http://pastebin.com/qQhDrxfp
володя володин
21.03.2013 22:22допустим я сейчас на странице с пагинацией, она есть , перехожу по ссылке на другую страницу и вижу внизу остатки паганации с предыдущей страницы. обновляю - все ок, пагинация пропадает. как то так)))
надеюсь понятно обьяснил.
СПАСИБО!
володя володин
21.03.2013 22:39до меня вроде дошло вроде в чем дело, пагинация у меня для вывода результатов поиска на страницу.
все дело в нем. если я осуществлял поиск на одной странице, а затем перешел на другую, getpage видит что msearch был обновлен и выводит пагинацию, затем при обновлени страницы если я не использовал поиск все приходит в норму....так наверно)
володя володин
21.03.2013 23:14убрал проверку page.nav:notempty вроде все наладилось. почему то с этой проверкой он выдает тот же шаблон с пагинацией...если кто понял почему обьясните
Viktor Minator
22.03.2013 00:56с точки зрения кода - всё правильно...
володя володин
22.03.2013 18:39нет глюк не пропал...может есть еще какой то способ для пагинации?
володя володин
22.03.2013 19:04извините что не совсем в тему, вот пашет отлично
`
володя володин
22.03.2013 19:05+mse.query:notempty=`[!+page.nav]`
Андрей
29.03.2013 07:18А подскажите, пожалуйста, как удалить в форме комментария лишнюю строку. Например, у меня по умолчанию сделана строка "сайт" - хочу, чтобы она не отображалась и не требовалась для заполнения пользователем. Пример, как это выглядит, здесь http://designerjewelry.ru/coffeehouse
Viktor Minator
29.03.2013 20:06в форме удалите лишний инпут + в Словарях вместо "Post" создайте "Отправить"
Александер Янов
04.04.2013 09:59Добрый день! Вроде сделал все по уроку, новости выводятся, но почему-то вместе с ними висит пустая запись от "главной" странички (на сайте идет как Блог). Как ее спрятать и сделать так чтобы выводились только записи из "категорий"?
http://3bit-creations.ru/
Виля Боцян
05.06.2013 20:56Здравствуйте, а как сделать вывод категорий, уже все перепробовал, инфы нигде нету???? У вас я так понял теги выполняют роль категорий)
Viktor Minator
05.06.2013 22:09инфа есть везде!!!!! попробуйте использовать ресурсы-контейнеры для категорий
Andrei Dekelbaum
12.06.2013 07:16Добрый день, Виктор. Возникла проблема с пагинацией блога.
Сайт мультиязычный (Babel) и состоит из нескольких контекстов. Код вывода статей - pastebin.com/ewWS0s8z , все работает замечательно, кроме одного нюанса — пагинация работает только для главного контекста web: сайт/blog/?page=2 . Для других контекстов ссылка перехода на другую страницу такая же, как у web.
Вопрос к Вам, как сделать так, чтобы ссылки пагинации других контекстов были в виде сайт/ru/blog?page=2 ?
Заранее спасибо,
Андрей
Andrei Dekelbaum
12.06.2013 07:16Добрый день, Виктор. Возникла проблема с пагинацией блога.
Сайт мультиязычный (Babel) и состоит из нескольких контекстов. Код вывода статей - pastebin.com/ewWS0s8z , все работает замечательно, кроме одного нюанса — пагинация работает только для главного контекста web: сайт/blog/?page=2 . Для других контекстов ссылка перехода на другую страницу такая же, как у web.
Вопрос к Вам, как сделать так, чтобы ссылки пагинации других контекстов были в виде сайт/ru/blog?page=2 ?
Заранее спасибо,
Андрей
Юрий
12.07.2013 11:34Добрый день, Виктор, archives генерирует ссылки /2010/05/ при переходе на них не подгружает css так как - в путь к css добавляется /2010/ (www.site.ru/2010/css/style.css) как это поправить? в чем может быть ошибка?
Viktorminator
10.08.2013 02:51base href пропишите
Денис Алимов
18.07.2013 12:30Виктор здравствуйте!
Статья очень помогла в создании блога. Но есть вопрос с выводом статей по тегам, помогите пожалуйста.
Если кликнуть по тегу из самого поста, то все отлично работает. В самом же разделе, где идет лента постов этого раздела с кратким описанием поста, кликнув по тегу ничего не выводит. Заметил, что ссылки тега различаются. В самом посте в ссылке присутствует подраздел сайта, например: //site/razdel1/
А ссылка на теге в ленте постов имеет вид //site/
Я так понял за это отвечат снипет tolinks.
Помогите пожалуйста.
Заранее спасибо!
Viktorminator
10.08.2013 02:24Вот как вывожу ссылки для тегов https://gist.github.com/modxws/6198129
Светлана Закревская
18.08.2013 01:28Виктор, здравствуйте.
Подскажите, пожалуйста, как можно вывести не только год и месяц с помощью Archivist, но и список статей для определенного месяца? Понимаю, что надо копать в сторону ArchivistGrouper, только информации нет толком об этом.
Солнышком Облаках
20.12.2013 17:02Виктор, подскажите, пожалуйста, как вывести превью новости на главной странице с картинкой и текстом?
Создал TV - "Preview", тип ввода и вывода - Текстовые редактор, доступно и для шаблона блога и для шаблона постов.
В настройках чанка blogPost заменил на , но ничего не показывает.
Солнышком Облаках
20.12.2013 17:06заменил +introtext на *preview, парсер съел теги
Солнышком Облаках
20.12.2013 17:23нашел решение, *preview поменял на +tv.preview и добавил к includeTVs=`1` еще и processTVs=`1`
Константин Ерохов
13.02.2014 14:56Добрый день! Возникла проблема с выводом дат. Сделано как в примере - в отдельной статье движок выводит время публикации статьи, а вот там, где выводится список статей с аннотацией (с помощью чанка, формат вывода даты - ) - даты не выводит. Где зарыта собака?
Константин Ерохов
13.02.2014 15:07Поле вывода даты в отдельной статье pastebin.com/FwyRPj8R
Поле вывода даты в чанке - pastebin.com/iB6j8zSc
Viktor Matushevskyi
13.02.2014 16:46Должно выводить, вы всё правильно сделали...
Посмотрите лог ошибок
Юрий Владыка
04.03.2014 12:05Здравствуйте Виктор. Большое спасибо за ваши уроки. Но хочу позволить себе один вопрос. Просьба ногами не пинать ибо новичок.
Сниппет arhivist выдает по умолчанию ссылки в таком формате например:
Март 2013
Апрель 2013
А как можно организовать вывод примерно в таком виде:
Архив за 2013г.
- Март
- Апрель
Архив за 2014г.
- Январь
- Февраль и т.д.
Смысл в том чтобы в начале поставить ГОД, а потом уже ссылки помесячно. ????
Юрий Владыка
04.03.2014 16:27Может вложенный вызов Archivist как нибудь организовать?
mcrack
17.06.2014 21:58Здравствуйте, подскажите пожалуйста как сделать фильтр на сайте по тегам.
чтобы в сайдбаре у меня отображалить все теги определённого TV, и они были в виде чекбоксов, чтобы можно было по нажатии на них конкретизировать.
Я пробовал использовать tagmanager2, но в сайдбаре у меня отображается только один чекбокс со всеми значениями через запятую, а нужно сколько тегов столько и чекбоксов с фильтром по ним. У Вас есть какое нибудь готовое решение или подскажите как вообще это реализовать ?