Advertisement
krot

modx cheat sheet

Oct 2nd, 2018
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.15 KB | None | 0 0
  1. Basic Cheatsheet
  2. Основные понятия, терминология, синтаксис вывода, фильтры/модификаторы, хуки, системные переменные.
  3. https://neolot.com/wp-content/uploads/2012/01/MODx-Revo-Basic-Cheatsheet_1.0.pdf
  4.  
  5. API Cheatsheet
  6. Функции для работы с API ModX, основной инструментарий разработчика.
  7. https://neolot.com/wp-content/uploads/2012/01/MODx-Revo-MODx-API-Cheatsheet-1.0.pdf
  8.  
  9. Resource API Cheatsheet
  10. Функции для работы с документами.
  11. https://neolot.com/wp-content/uploads/2012/01/MODx-Revo-Resouce-API-Cheatsheet-1.0.pdf
  12.  
  13. User API Cheatsheet
  14. Функции для работы с пользователями.
  15. https://neolot.com/wp-content/uploads/2012/01/MODx-Revo-User-API-Cheatsheet-1.0.pdf
  16.  
  17. Permissions Cheatsheet
  18. Подробное описания принципов работы система контроля доступа в ModX.
  19. https://neolot.com/wp-content/uploads/2012/01/MODx-Revo-Permissions-1.2.pdf
  20.  
  21.  
  22.       <meta charset="[[++modx_charset]]">
  23.       <meta name="viewport" content="width=device-width" />
  24.       <title>[[*pagetitle]] - [[++site_name]]</title>
  25.       <base href="[[!++site_url]]" />
  26.  
  27. [[*longtitle:default=`[[*pagetitle]]`]]
  28.  
  29.  
  30.  [[getImageList?
  31.   &tvname=`BannerImg`
  32.   &tpl=`BannerImgTpl`
  33. ]]
  34.  [[test?a=1&b=2]]
  35. <?php
  36. if ($id>0){
  37. $res = $modx->getObject('modResource',$id);
  38. return $res->get($val);
  39. }
  40.  
  41.  [[+from:notempty=`<td>[[+from]]</td><td>[[+until]]</td>`:default=`<td colspan="2">Closed</td>`]]
  42.  
  43. --
  44. if(!$doc = $modx->getObject('modResource', $docID)){
  45.     return '';
  46. }
  47. return $doc->get('content');
  48. Далее выводим его, вписываем в нужное место в шаблоне Base:
  49.  
  50. [[mySnippet?docID=`7`]]
  51. Второй вариант, более понятный для клиента
  52. Создаем шаблон с именем SiteSettings, пустой.
  53. Делаем несколько TV полей (например блок акции, подпись сайта и тд). Присваиваем их к шаблону SiteSettings.
  54. Создаем новый ресурс с именем НАСТРОЙКИ САЙТА и присваиваем ему шаблон SiteSettings
  55. Скачиваем и устанавливаем пакет getResourceField. В шаблон где надо выводить эти TV вписываем:
  56. [[getResourceField? &id=`4` &field=`TVLogo` &processTV=`1`]]
  57.  
  58. где 4 - id ресурса НАСТРОЙКИ САЙТА, TVLogo- имя TV
  59.  
  60.  
  61. Wayfinder - это меню
  62. Breadcrumbs - хлебные крошки
  63. getResources - для создания новостей и статей
  64. getPage - для создания новостей и статей
  65. Gallery - галерея
  66. GoogleSiteMap - создание карты сайта для поисковиков
  67. CodeMirror - подсветка кода
  68. phpThumbOf - для резания картинок автоматом
  69. SimpleSearch - поиск
  70. TinyMCE Rich Text Editor - редактор текста
  71. translit - для URL
  72. If  - для создания условий
  73. FormIt  - для создания форм
  74. GroupEdit - быстрое редактирование ресурсов
  75. <?php
  76. return time();
  77.  
  78. вызов
  79. [­[today:date=`%d.%m.%Y`]]
  80.  
  81.  [[~12]] -ссылка на ресурс
  82.  [[*ResourceField/TvName]]
  83.  
  84. Snippet:        [[SnippetName]]
  85. Chunk:          [[$ChunkName]]
  86. System Setting:     [[++SettingName]]
  87. TV:             [[*fieldName/TvName]]
  88. Link tag:       [[~PageId? &paramName=`value`]]
  89. Placeholder:        [[+PlaceholderName]]
  90.  
  91. [[~[[++site_start]]]] ссылка на сайт
  92.  
  93. no token — snippet.
  94. $ — chunk.
  95. * — resource fi eld/template variable (TV).
  96. + — placeholder.
  97. ++ — setting.
  98. ~ — link.
  99. % — language.
  100. [[SnippetName? &color=`red` &size=`large`]
  101. [[*published:is=`1`:`Yes`:else=`No`]]
  102. Как создать собственный модификатор?
  103.  
  104. Очень просто. Нужно всего лишь создать сниппет с входным параметром $input и вернуть из него какой-то результат.
  105. Создадим модификатор, возвращающий входную строку с "Hello, " в начале. Создадим сниппет с названием hello_user
  106. ?
  107. 1
  108. return 'Hello, '.$input.'!';
  109. Применение модификатора выведет нам "Hello, admin!"
  110.  
  111. ?
  112. 1
  113. [ [+modx.user.username:hello_user] ]
  114. В большинстве случаев этого достаточно для создания своего модификатора. Более подробно расписано в официальной документации
  115.  
  116. $ar = array('name' => 'John');
  117. $str = $xpdo->toJSON($ar);
  118.  
  119. $value = $modx->getOption('имя настройки', null, 'значение по умолчанию');
  120. -----------------------
  121. modx option  
  122. hidemenu_default Не показывать в меню по умолчанию
  123.  
  124. Название сайта
  125. site_name
  126.  
  127. <title>[[*pagetitle:htmlent]][[*longtitle:!empty=` | [[*longtitle:htmlent]]`]]</title>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement