Перепост из моего блога — может кому-нибудь пригодится
Начал делать новые проекты на Revo — переход с Evo происходит со скрипом, т.к. в Evo помнил все наизусть. После установки голой системы необходимо развернуть полезные пакеты, а так же немного их модифицировать, чтобы приступить к верстке и программированию. Однако дефолтные установленные пакеты при всей их гибкости не всегда помогают — в частности решить задачу альтернативной разметки строк меню.
Джентльменский набор пакетов для MODx Revolution
- Ace — подсветка редактора исходного кода
- Batcher — замена DocManager из Evo для проведения массовых операция над документами (менять шаблоны и т.д.)
- Breadcrumbs — стандартные хлебные крошки
- getPage — для постраничной навигации в getResources
- getResources — замена Ditto для вывода документов
- GoogleSiteMap — сниппет для создания sitemap.xml
- phpThumbOf — для автоматического изменения размеров изображений и не только (например наносить водяные знаки)
- SimpleSearch — поиск по сайту
- tagLister — замена tvTagCloud из Evo для работы с документами с TV под теги
- TinyMCE — визуальные редактор для документов
- translit — модуль для автоматической генерации транслитерированных из русского псевдонимов ЧПУ
- Wayfinder — генератор меню
Квадратики в результатах SimpleSearch
Если SimpleSearch при поиске на русском языке выдает в результатах поиска «квадратики», а точнее ромбики, неправильной кодировки (как случилось у меня на
//if (!empty($str)) $this->searchString = strip_tags($this->modx->sanitizeString($str));
Альтернативная разметка меню Wayfinder классами для четных и нечетных строк
Иногда бывает хочется сделать вертикальное меню с чередующейся расцветкой строк. Wayfiner не позволяет это сделать стандартными средствами — есть три варианта решения:
- использовать getResources - плохо сказывается на производительности, теряется гибкость
- написать свой сниппет — лениво :)
- использовать jQuery — быстро, но это читерство :)
Но поскольку я очень ленивый, то идем в поиск, долго гуглим в различных комбинациях слова modx, revolution, wayfinder, odd, even, alternate и наконец находим тему на форуме и тикет в wishlist на github двухлетней давности.
После продолжительного поиска была найдено готовое решение, которое успешно работает (на момент написания статьи версия Wayfiner 2.3.3)
Чтобы не следовать долгой и нудной инструкции, скачайте модифицированные исходники Wayfinder для MODx Revolution wayfinder-revo-alternate-mod.zip и внесите следующие изменения в снипет:
после
'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