Sergey (Sentinel) · 07 декабря 2018, 09:56 Модификатор телефонного номераможно же fenom {var $app_mobile = 'phone'|option} {var $app_mobile_clear = $app_mobile|preg_replace:'/[^0-9]|/': ''}Результат: <a href="tel:+{$app_mobile_clear}">{'phone'|option}</a> Готовые решения / Пару модификаторов для MODX 27 +3 2
Николай Загумённов · 02 сентября 2017, 12:19 Хочу поделиться сниппетом, аналог pdoField, так как я часто пользуюсь pdoField. Сниппет getLocalizatorField <?php $sp = &$scriptProperties; $resource_id = $modx->getOption('resource_id', $sp, $modx->resource->id); $field = $modx->getOption('field', $sp, 'pagetitle'); $key = $modx->getOption('key', $sp, $modx->getOption('cultureKey')); $q = $modx->newQuery( "localizatorContent" ); $q->where( array( "`resource_id` = '" . $resource_id . "'", "`key` = '" . $key . "'" ) ); $q->select( array( $field ) ); $s = $q->prepare(); // print $q->toSQL(); die; $s->execute(); $array = $s->fetch(PDO::FETCH_ASSOC); $field_value = $array[$field]; return $field_value;Вызов: {'getLocalizatorField' | snippet : [ 'resource_id' => 20, 'field' => 'content' ]} Новые дополнения и их версии / [localizator] Мультиязычность, СЕО, автоперевод... 353 +2 2
mngatoff · 06 августа 2017, 01:52 а я влез в тикетовый процессор web/upload/file, и в методе process() дописал после проверки на дубли: // Check for files limit if ($filesLimit = $this->modx->getOption('tickets.max_files_upload')) { $checkLimit = $this->modx->newQuery($this->classKey, array('class' => $this->class)); if (!empty($this->ticket->id)) { $checkLimit->andCondition(array('parent:IN' => array(0, $this->ticket->id))); } else { $checkLimit->andCondition(array('parent' => 0)); } $checkLimit->andCondition(array('createdby' => $this->modx->user->id)); if ($this->modx->getCount($this->classKey, $checkLimit) >= $filesLimit) { @unlink($data['tmp_name']); return $this->failure('Вы не можете загрузить больше '.$filesLimit.' файлов'); } }и джаваскрипт можно не трогать, и надежнее. Хочется попросить Василия что-то подобное таки включить в релиз, полезная штука. Вопросы / TicketForm - количество загружаемых файлов 31 +1 3
Дмитрий Меркурьев · 21 октября 2016, 14:37 Если нужна синхронизация времени с сервером, то: 1. Пишем небольшой сниппет getWatch <?php $time = time(); //Если время сервера отличается от правильного то прибавляем или вычитаем от time кол-во секунд. Пример: //$time += 3600; return '<div id="digitalWatch" data-time="'.$time.'"></div>';2. Вставляем его туда, где нужно выводить часы, обязательно некешированным [[!getWatch]]3. Добавляем js в основной js-файл сайта $(function(){ var $dw = $('#digitalWatch'); if ($dw){ var delta = 0; function makeWatch(){ var currentDate = new Date().getTime(); currentDate += delta; var currentServerDate = new Date(currentDate); var hours = currentServerDate.getHours(); var minutes = currentServerDate.getMinutes(); var seconds = currentServerDate.getSeconds(); if (hours < 10) hours = "0" + hours; if (minutes < 10) minutes = "0" + minutes; if (seconds < 10) seconds = "0" + seconds; $dw.html(hours + ":" + minutes + ":" + seconds); setTimeout(makeWatch, 1000); } var serverTime = parseInt($dw.data('time'))*1000; var clientTime = new Date().getTime(); delta = serverTime-clientTime; makeWatch(); } }); Объявления о работе / Динамические часы 53 +4 2
Виктор · 17 мая 2016, 14:10 $(document).on('af_complete', function(event, response) { if (response.success) { var form = response.form; if (form.attr('id') == 'myModalbuy2') { form.attr('id').modal('hide'); yaCounterXXXXXXXX.reachGoal('metka'); return } } }); Вопросы / Цели яндекс метрика для ajax formit 30 +1 1
Илья Уткин · 14 марта 2016, 17:06 Немного дополнил плагин, так как не всегда $introtext = $content if ($modx->event->name == "OnDocFormSave") { $introtext = $resource->get('introtext'); $generateIntrotext = $resource->getIntroText($resource->get('content'), false); if (empty($resource->getProperty('disable_jevix'))) { $generateIntrotext = $resource->Jevix($generateIntrotext); } if ($introtext == $generateIntrotext) { $resource->set('introtext', ''); $resource->save(); } } Вопросы / Tickets introtext и Jevix 21 0 2
Alexander V · 16 июня 2015, 21:48 проверяйте пути, часто проблема в путях, если разрабатываете локально Для разработчиков / Шаблон Uikit для Tickets 27 0 1
Alexander V · 20 апреля 2015, 18:46 Ну тогда в топку Modx. Только PHP, только харкор! Для разработчиков / Шаблон Uikit для Tickets 27 +1 1
Alexander V · 14 января 2015, 23:01 Смотрел, красивый. Синтаксис немного непривычный и Grid какой-то странный. Для разработчиков / Twitter Bootstrap vs Uikit 70 0 1
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
Результат:
Сниппет getLocalizatorField
Вызов:
и джаваскрипт можно не трогать, и надежнее.
Хочется попросить Василия что-то подобное таки включить в релиз, полезная штука.
1. Пишем небольшой сниппет getWatch
2. Вставляем его туда, где нужно выводить часы, обязательно некешированным
3. Добавляем js в основной js-файл сайта