Илья Уткин · 11 октября 2016, 15:08 У меня есть вот такой файлик, который позволяет большие числа переводить в 60-ричную систему для сокращения количества символов: <?php class SixtyCoder { public $table = '0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ'; public function to60($number = 0) { $number = (int) $number; $output = ''; return $this->divide($number); } public function from60($letters = '0') { $length = strlen($letters); $number = 0; for ($i = 0; $i < $length; $i++) { $pos = strpos($this->table, $letters[$i]); if ($pos === false) { return 0; } $pow = $length - ($i+1); $number = $number + $pos * pow (60, $pow); } return $number; } public function divide($number = 0, $letters = '') { if ($number < 60) { $letters = $this->getLetter($number) . $letters; } else { $rest = $number % 60; $letters = $this->getLetter($rest) . $letters; $number = ($number - $rest) / 60; $letters = $this->divide($number, $letters); } return $letters; } public function getLetter($number) { return substr($this->table, $number, 1); } } $coder = new SixtyCoder(); $time = time(); echo 'Long: ' . $time; $short = $coder->to60($time); echo ' Short: ' . $short; echo ' Long from short: ' . $coder->from60($short); Пошаговые инструкции / Короткие ссылки средствами modx 9 +3 2
Николай Загумённов · 07 октября 2016, 14:56 Решение для редактора TinyMCE Rich Text Editor 1. Создать файлик config.json в папке /assets/components/tinymcerte/js/mgr/extras/ с вот таким содержимым: { "relative_urls":false, "document_base_url":"/", "remove_script_host":true }2. Прописать путь до этого файла в настройке tinymcerte.external_config {assets_path}components/tinymcerte/js/mgr/extras/config.json Вопросы / TyniMCE RTE и мультиязычный сайт 4 0 3
Павел Романов · 27 сентября 2016, 16:41 Поправочка (всё-таки ошибся))): {var $av = $_pls['tv.aviable']} {if $av == 0} Нет в наличии {else} {if $av > 1 && $av < 10} <i class="fa fa-circle"></i> {else} {if $av >= 10 && $av < 30} <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> {else} {if $av >= 30} <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> <i class="fa fa-circle"></i> {/if} {/if} {/if} {/if} Вопросы / Вопрос о phx 4 +1 2
but1head · 12 сентября 2016, 18:48 https://github.com/fenom-template/fenom/blob/master/docs/ru/tags/foreach.md {foreach $list as $value} <div>{if $value@first} first item {/if} {$value}</div> {/foreach} или {foreach $list as $value first=$first} <div>{if $first} first item {/if} {$value}</div> {/foreach} Вопросы / Условие по номеру элемента в fenom для галереи 9 +2 2
Сергей Шлоков · 07 сентября 2016, 08:45 А так ... &where=`["TVeventdate.value >= NOW()"]`или так ... &where=`["EventDate >= NOW()"]` Вопросы / Помогите разделить вывод мероприятий по дате 6 +1 1
Сергей Шлоков · 07 сентября 2016, 08:28 [[!pdoResources? &tpl=`ImmediateEvents` &includeTVs=`1` &includeContent=`1` &includeTVs=`EventImage, EventDate` &processTVs=`1` &limit=`4444` &where=`["TVEventDate.value >= NOW()"]` &showLog=`1` ]]Вызывать обязательно некэшированным. Вопросы / Помогите разделить вывод мероприятий по дате 6 0 1
Andrey · 01 сентября 2016, 20:39 Нашел строчку: $context = array_map('trim', explode(',', $this->getProperty('context', $this->modx->context->key)));Может надо её как то изменить? Или поковыряться в этом файле: core/components/tickets/processors/web/section/getlist.class.php На правильном ли я пути? Вопросы / Публикация из фронта на другие контексты Tickets 10 0 1
Владимир · 30 августа 2016, 21:09 Большое спасибо за помощь. В итоге у меня получился такой чанк [[!Snipet? &field1=`[[*link_attributes]]` &field2=`[[*longtitle]]` ]]И такой снипет <?php if(!empty($field1) && !empty($field2)) { $res=$modx->getChunk('chunk1'); } else { $res=$modx->getChunk('chunk2'); } return $res;Работает именно так как и задумано, если указанные поля не пустые отрабатывает первый чанк, если хоть одно из двух полей пустое, отрабатывает второй чанк. Работает не значит правильно. Нет ли здесь косяков? Вопросы / Снипет для выбора чанков 10 0 1
Илья Уткин · 16 августа 2016, 12:37 Не надо ничего мудрить. Даже отдельный шаблон не нужен. Я обычно так делаю: <div> [[pdoResources? &parents=`0` &limit=`0` &tpl=`@INLINE <p>{$pagetitle}</p>{if $idx % 5 == 0}</div><div>{/if}` ]] </div> Но тут человек хотел именно сам разобраться с тем, как писать сниппеты для MODX. Он получил большой опыт за небольшое время. Ну и далеко не все наткнутся где-нибудь на моё решение, а если это будет отдельный сниппет, начинающие будут им пользоваться. Для разработчиков / groupIt - обертка результатов. 25 +5 4
Володя · 05 августа 2016, 22:35 можно добавить так создать плагин на pdoToolsOnFenomInit, в нем добавить модификатор detector <?php switch ($modx->event->name) { case 'pdoToolsOnFenomInit': if (!$fenom = $modx->getOption('fenom', $scriptProperties)) { return; } if (!$MobileDetect = $modx->getService('mobiledetect', 'MobileDetect', MODX_CORE_PATH . 'components/mobiledetect/')) { return; } $key = $MobileDetect->config['force_browser_variable']; $device = !empty($_GET) && array_key_exists($key, $_GET) ? $modx->stripTags($_GET[$key]) : ''; if (empty($device)) { $device = $MobileDetect->getSettings(); } if (empty($device)) { $detector = $MobileDetect->getDetector(); $device = ($detector->isMobile() ? ($detector->isTablet() ? 'tablet' : 'mobile') : 'standard'); $MobileDetect->saveSettings($device); } $fenom->addModifier("detector", function ($value) use ($device) { return $value == $device; }); break; } и теперь в любом месте можно делать так {if 'mobile'|detector} mobile {/if} {if 'tablet'|detector} tablet {/if} {if 'standard'|detector} standard {/if} Вопросы / Fenom + MobileDetect + NGINX + PHP5-FPM = 502 bad gateway 9 +5 21
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
1. Создать файлик config.json в папке /assets/components/tinymcerte/js/mgr/extras/ с вот таким содержимым:
2. Прописать путь до этого файла в настройке tinymcerte.external_config
или так
Может надо её как то изменить? Или поковыряться в этом файле:
core/components/tickets/processors/web/section/getlist.class.php
На правильном ли я пути?
В итоге у меня получился такой чанк
И такой снипет
Работает именно так как и задумано, если указанные поля не пустые отрабатывает первый чанк, если хоть одно из двух полей пустое, отрабатывает второй чанк. Работает не значит правильно. Нет ли здесь косяков?
Но тут человек хотел именно сам разобраться с тем, как писать сниппеты для MODX. Он получил большой опыт за небольшое время. Ну и далеко не все наткнутся где-нибудь на моё решение, а если это будет отдельный сниппет, начинающие будут им пользоваться.
создать плагин на pdoToolsOnFenomInit, в нем добавить модификатор detector
и теперь в любом месте можно делать так