- PVSM.RU - https://www.pvsm.ru -

Альтернативная пометка в Wayfiner, квадратики в SimpleSearch и полезные ссылки для Modx Revolution

Перепост из моего блога [1] — может кому-нибудь пригодится

Начал делать новые проекты на Revo — переход с Evo происходит со скрипом, т.к. в Evo помнил все наизусть. После установки голой системы необходимо развернуть полезные пакеты, а так же немного их модифицировать, чтобы приступить к верстке и программированию. Однако дефолтные установленные пакеты при всей их гибкости не всегда помогают — в частности решить задачу альтернативной разметки строк меню.

Джентльменский набор пакетов для MODx Revolution

  1. Ace — подсветка редактора исходного кода
  2. Batcher — замена DocManager из Evo для проведения массовых операция над документами (менять шаблоны и т.д.)
  3. Breadcrumbs — стандартные хлебные крошки
  4. getPage — для постраничной навигации в getResources
  5. getResources — замена Ditto для вывода документов
  6. GoogleSiteMap — сниппет для создания sitemap.xml
  7. phpThumbOf — для автоматического изменения размеров изображений и не только (например наносить водяные знаки)
  8. SimpleSearch — поиск по сайту
  9. tagLister — замена tvTagCloud из Evo для работы с документами с TV под теги
  10. TinyMCE — визуальные редактор для документов
  11. translit — модуль для автоматической генерации транслитерированных из русского псевдонимов ЧПУ
  12. Wayfinder — генератор меню

Квадратики в результатах SimpleSearch

Если SimpleSearch при поиске на русском языке выдает в результатах поиска «квадратики», а точнее ромбики, неправильной кодировки (как случилось у меня на хостинге [2] Masterhot), то необходимо модифицировать файл /core/components/simplesearch/model/simplesearch/simplesearch.class.php и закоментировать строчку 177 (источник [3]) — после этого все ищется нормально.

//if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));

Альтернативная разметка меню Wayfinder классами для четных и нечетных строк

Иногда бывает хочется сделать вертикальное меню с чередующейся расцветкой строк. Wayfiner не позволяет это сделать стандартными средствами — есть три варианта решения:

  1. использовать getResources  - плохо сказывается на производительности, теряется гибкость
  2. написать свой сниппет — лениво :)
  3. использовать jQuery — быстро, но это читерство :)

Но поскольку я очень ленивый, то идем в поиск, долго гуглим в различных комбинациях слова modx, revolution, wayfinder, odd, even, alternate и наконец находим тему на форуме [4] и тикет в wishlist на github [5] двухлетней давности.

После продолжительного поиска была найдено готовое решение [6], которое успешно работает (на момент написания статьи версия Wayfiner 2.3.3)

Чтобы не следовать долгой и нудной инструкции, скачайте модифицированные исходники Wayfinder для MODx Revolution wayfinder-revo-alternate-mod.zip [7]   и внесите следующие изменения в снипет:

после

'self' => isset($selfClass)? $selfClass: '',
'weblink' => isset($webLinkClass)? $webLinkClass: ''

добавить

, 'odd' => isset($oddClass)? $oddClass: ''

чтобы получилось

'self' => isset($selfClass)? $selfClass: '',
'weblink' => isset($webLinkClass)? $webLinkClass: '',
'odd' => isset($oddClass)? $oddClass: ''

Теперь можно вызвать Wayfiner с необходимым классом, например

[[Wayfinder?
&startId=`2`
&where=`[{«template:!=»: «2»}]`
&outerClass=`leftnav`
&oddClass=`odd`
&displayStart=`1`
&startItemTpl=`tplCatalogCaption`
]]

Полезные ссылки

Регулярно пользуюсь следующими разделами документации

Автор: Aramaki


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/modx/10484

Ссылки в тексте:

[1] Перепост из моего блога: http://www.belaychuk.ru/posts/alternativnaja-pometka-wayfiner-kvadratiki-simplesearch-poleznye-ssylki-dlja-modx-revolution

[2] хостинге: https://www.reg.ru/?rlink=reflink-717

[3] источник: http://community.modx-cms.ru/blog/fast-solution/5832.html

[4] тему на форуме: http://forums.modx.com/index.php?topic=50661.0

[5] тикет в wishlist на github: https://github.com/splittingred/Wayfinder/issues/1

[6] готовое решение: http://www.feedus.net/2012/05/13/creating-odd-even-menu-classes-in-modx-revolution-and-wayfinder/

[7] wayfinder-revo-alternate-mod.zip: http://www.belaychuk.ru/wp-content/uploads/2012/06/wayfinder-alternate-mod.zip

[8] Системные теги: http://rtfm.modx.com/display/revolution20/Commonly+Used+Template+Tags

[9] Замена PHx: http://rtfm.modx.com/display/revolution20/Input+and+Output+Filters+(Output+Modifiers)

[10] Замена Ditto: http://rtfm.modx.com/display/ADDON/getResources

[11] Wayfinder: http://rtfm.modx.com/display/ADDON/Wayfinder