Raimei · 01 марта 2017, 15:01 Для тех, кто будет читать в будущем: Эта проверка написана на Fenom. Её можно использовать в чанках/шаблонах и т.д. Что она делает я писал выше. (Спасибо Максиму) Подправленный вариант будет выглядеть так: {if $_modx->user.id | ismember : 'Administrator' || $_modx->user.id == $_modx->resource.createdby} Тут что хочешь {/if} Вопросы / Запретить писать новые комментарии 9 +2 1
Павел Гвоздь · 17 июля 2016, 11:43 Так есть же [[!+pageCount]]… Вот на стандартном синтаксисе: [[!pdoPage? &parents=`0` &limit=`5` &tpl=`@INLINE <div>[[+id]] - [[+pagetitle]]</div>` ]] [[!+pageCount:ne=`1`:then=`[[!+page.nav]]`:else=`Без пагинации сегодня`]] А это на Fenom: {'!pdoPage' | snippet : [ 'element' => 'pdoResources', 'parents' => 0, 'limit' => 5, 'tpl' => '@INLINE <div>{$id} - {$pagetitle}</div>', ]} {if ('pageCount' | placeholder) != '1'} {'page.nav' | placeholder} {else} Без пагинации сегодня {/if} Вопросы / Как скрыть пагинацию pdopage на первой странице 8 +1 3
Павел Гвоздь · 11 октября 2015, 19:47 {$chunk = $_modx->getChunk('@FILE '~ $_modx->config.site_template ~'/my_chunk.tpl', [])} Новые дополнения и их версии / [pdoTools] Версия 2.1 - улучшения Fenom 74 +2 3
Семён Лобачевский · 16 мая 2015, 20:30 Решил, если кому пригодится: [[!getTickets? &loadModels=`ms2gallery` &parents=`1` &leftJoin=`{ "360x270": {"class":"msResourceFile","alias":"360x270", "on": "360x270.resource_id = Ticket.id AND 360x270.path LIKE '%/360x270/' AND 360x270.rank=0"} }` &select=`{"Ticket":"pagetitle,introtext,uri","360x270":"360x270.url as 360x270"}` ]] Вопросы / Tickets и ms2Gallery вывод изображения 1 +1 1
Василий Наумкин · 17 марта 2015, 10:11 Нужно немного подумать, как вообще работает gravatar. Как только ты вспомнишь, что ему нужен хэш от email юзера, сразу станет ясно, что делать: [[!TicketLatest? &tpl=`@INLINE <img src="https://gravatar.com/avatar/{{+email:strtolower:md5}}?s=50" />` ]] Вопросы / Gravatar в TicketLatest 16 0 2
Alexander V · 28 января 2015, 20:23 Где-то здесь было bezumkin.ru/sections/tips_and_tricks/472/ поищите. bezumkin.ru/sections/components/2957/ вот Вопросы / Как по умолчанию ставить шаблон созданным тикетам? 9 0 1
Наумов Алексей · 14 ноября 2014, 17:36 <?php if (!$modx->user->hasSessionContext('web') ) { die('Not logged!'); } $prefix = trim($modx->getOption('placeholderPrefix', $scriptProperties, 'user.')); $profile = $modx->user->getOne('Profile'); if(isset($_REQUEST['update']) && $_REQUEST['update'] == '1'){ // имя $fullname = (isset($_REQUEST['fullname']) && !empty($_REQUEST['fullname'])) ? $_REQUEST['fullname'] : $profile->get('fullname'); $fullname = trim(strip_tags($fullname)); if(empty($fullname)){ $fullname = 'Без имени'; } $profile->set('fullname', $fullname); //фото $clearphoto = (isset($_REQUEST['clearphoto']) && $_REQUEST['clearphoto'] == '1'); if($clearphoto){ $profile->set('photo', ''); }else{ $photoConfig = array('w' => 48,'h' => 48,'zc' => 1,'bg' => '#fff','f' => 'png'); // если выбран файл if(isset($_FILES['photo']) && isset($_FILES['photo']['tmp_name']) && !empty($_FILES['photo']['tmp_name'])){ $file_info = getimagesize($_FILES['photo']['tmp_name']); if(!empty($file_info)){ // пути $photoFileName = substr(uniqid(), 8).'.png'; $newPath = 'uploads/users/'.$modx->user->get('id').'/'; // проверяем каталог if(!file_exists(MODX_BASE_PATH.$newPath)){ if(!mkdir(MODX_BASE_PATH.$newPath, 0777, true)){ echo "Can`t create directory ".$newPath; } } // перемещаем файл if(move_uploaded_file($_FILES['photo']['tmp_name'], MODX_BASE_PATH.$newPath.$photoFileName)){ // подключаем phpthumb require_once MODX_CORE_PATH.'model/phpthumb/phpthumb.class.php'; // инициализируем $phpThumb = new phpThumb(); $phpThumb->setSourceFilename(MODX_BASE_PATH.$newPath.$photoFileName); foreach ($photoConfig as $k => $v) { $phpThumb->setParameter($k, $v); } // генерируем файл if ($phpThumb->GenerateThumbnail()) { if ($phpThumb->RenderToFile(MODX_BASE_PATH.$newPath.$photoFileName)) { // устанавливаем права на файл, это опционально, зависит от сервера chmod(MODX_BASE_PATH.$newPath.$photoFileName, 0666); // сохраняем изменения $profile->set('photo', $newPath.$photoFileName); } } } } } } // вызываем событие OnBeforeUserFormSave $modx->invokeEvent('OnBeforeUserFormSave',array( 'mode' => modSystemEvent::MODE_UPD ,'id' => $modx->user->get('id') ,'user' => &$modx->user ,'profile' => &$profile )); // сохраняем все изменения $profile->save(); $modx->user->save(); // вызываем событие OnBeforeUserFormSave $modx->invokeEvent('OnUserFormSave',array( 'mode' => modSystemEvent::MODE_UPD ,'id' => $modx->user->get('id') ,'user' => &$modx->user ,'profile' => &$profile )); // устанавливаем плейсхолдер, чтобы показать сообщение $modx->setPlaceholder($prefix.'success', '1'); } // устанавливаем плейсхолдеры для отображения информации $modx->setPlaceholder($prefix.'fullname', $profile->get('fullname')); $modx->setPlaceholder($prefix.'photo', $profile->get('photo')); return '';Форму надеюсь с полями сами сделаете. Поле clearphoto — это checkbox, типа «Удалить аватар». Вопросы / Загрузка аватарок 7 +1 2
Alexander V · 04 октября 2014, 11:35 Подскажите пожалуйста, как можно вывести юзера через GET? /?username=MyName Для вывода тикетов использую: Вывод тикетов пользователя, правда с ЧПУ не сложилось. Сейчас задача вывести карточку пользователя. Вопросы / Поиск по пользователям сайта 21 0 1
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 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... Да, планируется. Даже чуть больше, чем просто бонусная система)
Эта проверка написана на Fenom. Её можно использовать в чанках/шаблонах и т.д.
Что она делает я писал выше.
(Спасибо Максиму) Подправленный вариант будет выглядеть так:
Вот на стандартном синтаксисе:
А это на Fenom:
Как только ты вспомнишь, что ему нужен хэш от email юзера, сразу станет ясно, что делать:
bezumkin.ru/sections/components/2957/ вот
Поле clearphoto — это checkbox, типа «Удалить аватар».
Для вывода тикетов использую: Вывод тикетов пользователя, правда с ЧПУ не сложилось. Сейчас задача вывести карточку пользователя.