0.00
84 читателя, 77 топиков

Timeago for MODX Revolution & Evolution

timeagoВы наверное наблюдали на github, twitter и.т.д… как время показываеться в реальном времяни. Т.е. 1 минута назад, 5 минут назад и.т.д… + время меняеться на ваших глазах. Вот в поисках такого решения при разработке расширения modxTalks, я и vanchelo , нашли самое лёгкое на наш взгляд решение такой задачи. Вот решил поделиться с вами плагином для jQuery, который автоматически может показывать время в реальном времяни.

Читать дальше →

[EVO] Ditto отказываемся от кучи шаблонов [+ditto_class+]

Очень часто бывает что нужно задать разные классы для вывода в каталоге
но в дитто для этого используются шаблон а создавать несколько шаблонов для того что б указать только один класс который отличается как то слишком.

Теперь все проще создал плейсхолдер [+ditto_class+]
который выводит even odd + first last или current

Читать дальше →

[EVO] Ditto и outerTpl

Переодически возникает вопрос как же вывести Ditto и обернуть его нужными html тегами
но при этом если нет ресурсов то скрыть все чем обернут Ditto

а решение оказалось простым всего в 1 строку:)

Читать дальше →

Передаем параметры в чанки или выжимаем все из modx::parseChunk

В MODX Revolution есть такая прикольная штука, как параметры у чанков. Т.е. вы можете создать чанк с какими-то плейсхолдерами. И при вызове чанка передать в нужный плейсхолдер значение. Т.е. выглядит это примерно так
[[$ChunkName? &name=`chunk` &mail=`parsechunk@example.com`]]

В чанке ChunkName заменяются плейсхолдеры name и mail на chunk и parsechunk@example.com соответственно.

Читать дальше →

Ajax и getResourceField

Установка расширения getResourceField, через систему управления пакетами.

Создание сниппета ajax

// Откликаться будет ТОЛЬКО на ajax запросы
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}

// сниппет будет обрабатывать не один вид запросов, поэтому работать будем по запрашиваемому действию
$action = $_POST['action'];

// Если в массиве POST нет действия - выход
if (empty($action)) {return;}

// А если есть - работаем
$res = '';
switch ($action) {
    // Создаём метод
    case 'field': 
        // Даём возможность задавать важные для запуска сниппета параметры,
        // в ajax запросе
        $params = array();
        $params['id'] = $_POST['id'];
        $params['field'] = $_POST['field'];
        $res = $modx->runSnippet('getResourceField', $params); break;
    // А вот сюда потом добавлять новые методы
}

// Если у нас есть, что отдать на запрос - отдаем и прерываем работу парсера MODX
if (!empty($res)) {
    die($res);
}

Читать дальше →

[EVO] По умолчанию, возвращаться после сохранения / Always Stay

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

Происходит это посредством использования плагина.

Создание плагина

Название, например: Always Stay
Описание, к примеру: Для автоматического выставления нужной позиции в списке режимов сохранения внутренних ресурсов системы
Содержимое:
$e = & $modx->Event;
if ($e->name == "OnDocFormRender" ||
    $e->name == "OnTempFormRender" ||
    $e->name == "OnChunkFormRender" ||
    $e->name == "OnSnipFormRender" ||
    $e->name == "OnPluginFormRender"
   ) {
      $html = "
          <script type='text/javascript'>
            if(!$('stay').value) $('stay').value=2;
          </script>
      ";
      $e->output($html);
}
Активизация во- время наступления событий:
  • OnDocFormRender
  • OnTempFormRender
  • OnChunkFormRender
  • OnSnipFormRender
  • OnPluginFormRender

Эта статья была составлена специально для пункта страницы.

Идея создания плагина и его код принадлежат bezumkin