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

Ленты новостей с других сайтов


В Интернет широко используется публикация лент новостей с других сайтов. Такой прием позволяет, не заходя на сайты видеть свежие материалы. MODx позволяет встраивать в страницы сайта такие ленты, а также давать возможность получать новости с вашего сайта.

 

Как встроить новости чужого сайта?

 Это делается так:

1. Создаем документ, в котором будет показываться чужая лента.

2. Вставляем в этот документ вызов сниппета

[ [NewsParser2?url=http://www.kremlin.ru/export/index.xml|xq|section|xe|nieuws&limit=6&image=true&descr=true] ]

Здесь http://www.kremlin.ru/export/index.xml - ссылка на транслируемую ленту.

  В результате на странице нашего сайта будет транслироваться лента новостей, например:

Пример ленты новостей

Пример ленты новостей

Где получить ссылки на ленты?

Разумеется, на разных сайтах. Там может быть и специальная страница с инструкциями, например как на сайте Президента РФ, и просто маленькие значки, наподобие Ссылка на ленту новостей или Ссылка на ленту новостей

Существуют и сайты, коллекционирующие ссылки на ленты новостей.

Замечания

1. При трансляции лента новостей принимает вид, заданный таблицами стилей вашего сайта. В показанной на скриншоте ленте Президента заголовки смотрятся не очень хорошо - они приняли наш вид, а мы на своем сайте заголовки в виде ссылок не используем.

2. Некоторые ленты транслируются с ошибками, и это не ошибки сниппета. Если ошибки регулярные, такую ленту лучше не показывать.

3. Если лента показывается в неправильной кодировке - ищите ошибку на своем сайте.

4. Сниппет NewsParser2 мы заимствовали из CMS Etomite и немного переделали - именно чтобы избежать проблем с кодировками лент.

 

Как дать возможность читать новости нашего сайта?

Это делается так:

1. Создаем в скрытой папке документ с псевдонимом, например rss с пустым шаблоном и типом содержимого text/xml.

2. Делаем вызов сниппета:

[ !Ditto? &startID=`1498` &format=`rss` &tpl=`ditto_rss_tpl`! ] 

 

Здесь в параметре  &startID надо указать ID папки, в которой находятся транслируемые документы, а в параметре &tpl - имя чанка - шаблона для вывода документов в ленту. Например, чанк ditto_rss_tpl выглядит так:

<item> <title></title> <link>http://cad.kurganobl.ru/[~~]</link> <description><![CDATA[ ]]></description> <pubDate></pubDate> <guid isPermaLink="false">http://cad.kurganobl.ru/[~~]</guid> <dc:creator>ruCAD - интегрированная система на базе AutoCAD</dc:creator> </item> 

 3. Где-то на сайте дать ссылку на страницу rss.html. При обращении к этой странице лента вашего сайта будет иметь различный вид в зависимости от браузера:

Вид ленты в Firefox:

  Вид ленты в Firefox

Вид ленты в Firefox

Вид ленты в Cafari:

Вид ленты в Safari

Вид ленты в Safari

 

Вид ленты в Internet Explorer:

Вид ленты в IE

Вид ленты в IE

Мы видим, что Internet Explorer просто выдаёт XML-код ленты, а другие браузеры пытаются её показать. В Internet Explorer ленты надо просматривать через Избранное-RSS, тогда наша лента будет иметь вид:

RSS в IE

RSS в IE

Лента, встроенная в посторонний сайт, может выглядеть, например, так:

Лента новостей на чужом сайте

Лента новостей на чужом сайте

 

 

28-02-2009 11:44:55



    Содержание раздела «RSS-ленты»:
Комментарии любых посетителей

Написать комментарий


 
Anonymous
Комментарий
Re: Ленты новостей с других сайтов
Реплика №2: 15.11.2009, 21:27:49
Сорри, всё работает, был глюк в браузере.
Anonymous
Комментарий
Re: Ленты новостей с других сайтов
Реплика №1: 15.11.2009, 21:27:05
Спасибо за качественный учебник, но поправьте, пожалуйста, скриншоты.