16 декабря 2023, 15:54 Я использую простенький, но рабочий способ на JS: const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent) ? true : false; ну и далее используем переменную isMobile как угодно. Способ простой и не закрывает все потребности, но учитывая, что 98% посетителей сейчас — это Android или iPhone/iPad устройства — то для определения устройства посетителя этого вполне хватает. Вот думаю, есть ли смысл подключать MobileDetect или Detect.js, т.к. до сих пор не сталкивался с проблемами из-за такой реализации. Пошаговые инструкции / Вариант определения мобильных устройств 15 0 1
04 декабря 2023, 14:12 Зачем? это из ЧатГПТ скопировано? Во время установки панели всё должно установиться и так, а все настройки можно сделать прямо в панели. У некоторых хостеров можно выбрать готовые образы сразу с предустановленной панелью. Уроки / Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7 13 0
29 ноября 2023, 15:46 php-erorrs.log ругается на плагин с id 8. Вот тут обсуждали похожую тему: modx.pro/help/19871 Уроки / Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7 13 +1
29 ноября 2023, 15:41 Да Уроки / Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7 13 +1
29 ноября 2023, 14:51 Сам конфиг nginx не менял, его и не надо менять, т.к он переопределяется настройками в панели. Если вы переносили сайт, а не чистую установку делали — на всякий случай проверьте все пути в конфигах config.core.php и /core/config/config.inc.php, они должны быть вида /var/www/site_user/data/www/site.ru/… — при условии что вы создавали пользователя site_user через панель и там же добавляли сайт. Также посмотрите настройки url в системных настройках: сис. настройки -> core -> дружественные URL. Уроки / Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7 13 +1
25 ноября 2023, 16:58 В моём способе вы, находясь на одной странице, получаете ссылки на редактирование любого ресурса, на который есть ссылка на данной странице (навели курсор на ссылку на фронте — получили в popup ссылку для редактирования ресурса, на который ведет эта ссылка), текущий ресурс можно отредактировать наведя курсор на заголовок h1. Ваш метод позволяет перейти по ссылке только на один конкретный ресурс, на котором вы сейчас находитесь на фронте. На практике мне оказалось удобнее иметь ссылки на все видимые на странице ресурсы, и я могу быстро открыть для редактирования сразу несколько ресурсов, не переходя при этом на другие страницы. Например, в случае с интернет-магазином, когда вы находитесь в каталоге товаров, можно открыть сразу несколько карточек товаров и что-то быстро отредактировать. При частой работе с контентом и внезапных изменениях (ошибки какие-нибудь исправить и т.п.) такой подход показался мне удобным. Для разработчиков / Быстрый доступ к редактированию ресурсов из фронта 3 +1
04 ноября 2023, 01:11 minishop2 4.3.0-pl, modx 2.8.5-pl, MySQL 8.0.35, php 7.4.33 — работает нормально вроде, не замечал ничего такого… Вопросы / Ошибка при установке miniShop2 20 0
16 октября 2023, 17:04 Дополню пост. Возникла проблема при выводе даты на странице категории товаров. При использовании mFilter после фильтрации товаров дата «слетает». Сниппет переписан следующим образом: <?php $id = $modx->getOption('id', $scriptProperties, $modx->resource->id); $field = $modx->getOption('field', $scriptProperties); $tpl = $modx->getOption('tpl', $scriptProperties, 'msTimeStampTpl'); if ($modx->getObject('msProduct', $id )->get($field) == null) { return false; } $tablePrefix = $modx->getOption('table_prefix'); $table = $tablePrefix.'mstimestamp_product'; $sql = "SELECT * FROM $table WHERE product_id = $id AND field = '$field'"; $statement = $modx->query($sql); $date = $statement->fetch(PDO::FETCH_ASSOC); if(!empty($date)){ return $modx->getChunk($tpl, ['date' => $date['valid_until']]); } return false; Также, вместо отображения даты, может быть удобнее вывести оставшееся количество дней. Я сделал это прямо в шаблоне на fenom: {if $favorite} {set $favoriteDate = '!msTimeStampDate' | snippet: ['id' => $id, 'field' => 'favorite']} {if $favoriteDate != ''} {set $nowDate = $date | date_format:"%s"} {set $daysLeft = (($favoriteDate - $nowDate)/60/60/24) | number : 0 : '' : ''} {if $daysLeft > 0}Ещё {$daysLeft | declension : 'день|дня|дней' : true}{else}Успейте сегодня!{/if} {/if} {/if} Спасибо @Артур Шевченко за помощь и @Денис Усманов за данное полезное дополнение. Критика и комментарии приветствуются. Готовые решения / Вывод даты msTimeStamp полей MiniShop2: new, favorite, popular... 3 +2
08 октября 2023, 21:06 Добрый день! Можете поделиться шаблоном из СБИСа? Вопросы / Ищу html-шаблон универсального передаточного документа (УПД) 9 0
06 октября 2023, 10:35 Добрый день. Обнаружил в компоненте особенность или баг: чтобы в админке сбросить дату у метки (и удалить её из БД) — нужно всегда снимать галочку и сохранять товар. Если просто очистить поле с датой и сохранить — запись не удаляется и при обновлении страницы — появляется вновь. То есть нет проверки на пустоту поля для удаления записи из БД. Новые дополнения и их версии / msTimeStamp - Снятие метки новинка, особый или популярный по времени 18 0
26 сентября 2023, 00:11 Добрый день! Подскажите, пожалуйста, как получить дату в шаблоне или чанке? Хочу прикрутить таймер обратного отсчёта на js. Новые дополнения и их версии / msTimeStamp - Снятие метки новинка, особый или популярный по времени 18 0
11 сентября 2023, 20:16 Привет, Артур! Спасибо тебе за твои труды. Есть вопрос по п.3: Импорт опций товаров из тэгов «param» (опции создаются автоматически). Правильно ли я понимаю, чтобы сопоставить уже созданные опции на своём сайте с param из xml, нужно переименовывать param'ы в файле xml? или это можно сделать через importconfig.inc.php? Если в будущем добавлять новые товары из того же xml, то придется каждый раз переименовывать все param? И второй вопрос: тут уже задавался про обновление по id из фида, но я бы хотел обновлять товары не по id, а по vendorCode, для этого у меня в каждом товаре создано дополнительное поле sku. Как можно поменять обновление по этому ключу? Для разработчиков / [СДЕЛАЙ САМ] Импорт товаров MiniShop2 из xml фида Яндекс.Маркета 43 0
15 августа 2023, 18:14 Спасибо за помощь, Алексей! Только у меня почему-то не переопределяется параметр fileSize. Я указываю &fileSize = `10485760`, а [[++upload_maxsize]] всё равно берется из системных настроек, у меня по умолчанию 1048576000 байт, то есть 1000 Мб. Извините, я ещё плохо знаком с modx, поэтому не всё пока понятно( Новые дополнения и их версии / easyComm 1.11.0. Прикрепление файлов (фотографий) 30 0
14 августа 2023, 11:37 Благодарю за ответ, Алексей! Могли бы вы уточнить ещё пару моментов, пожалуйста: В чанке ec_Form.tpl всё на fenom, это можно перевести на синтаксис modx? Условие {if $files}formenctype="multipart/form-data"{/if} и {'upload_maxsize'|option} Спасибо. Новые дополнения и их версии / easyComm 1.11.0. Прикрепление файлов (фотографий) 30 0
13 августа 2023, 14:50 Добрый день! Уточните, пожалуйста, 2 вопроса: — fileTypes (string) — типы разрешенных файлов (по-умолчанию jpg,jpeg,png,gif,webp);Как правильно перечислить типы файлов? $data['file_types'] = $modx->getOption('fileTypes', $scriptProperties, 'jpg,jpeg,png');? Второй вопрос: — fileSize (int) — ограничение на размер каждого файла (по-умолчанию 0 — не ограничивается!); тут в мегабайтах указывается или в чем? как указать максимальный размер 10 Мб? $data['file_size'] = $modx->getOption('fileSize', $scriptProperties, 10);? Новые дополнения и их версии / easyComm 1.11.0. Прикрепление файлов (фотографий) 30 0
01 августа 2023, 11:58 Здравствуйте, Алексей. Я, почему-то, не могу по вашему компоненту написать через ТП на сайте, хоть и загружал его из репозитория… Его просто нет там. Новые дополнения и их версии / mvtSeoData 75 0
29 июля 2023, 12:43 Да, разобрался, спасибо вам за подсказку. Вопросы / Как можно узнать об изменении файла и внести в чанк/сниппет изменения? 8 0
29 июля 2023, 12:21 Спасибо. Возможно я неправ, но в данном способе для fenom всё по красоте сделано, без лишних записей в системные настройки) я думал, что также можно и для стандартного синтаксиса сделать… Видел ещё вот такой способ arahort.pro/blog/modx-izmenenie-versii-fajlov-cssjs/ но тут есть ещё один минус: версия будет прописываться одинаковая для всех файлов, к которым будет примерен плагин… Вопросы / Как можно узнать об изменении файла и внести в чанк/сниппет изменения? 8 0
29 июля 2023, 11:47 Отличный плагин, необходимый. А на стандартный синтаксис как такое сделать? Вопросы / Как можно узнать об изменении файла и внести в чанк/сниппет изменения? 8 0
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
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 баг исправлен
ну и далее используем переменную isMobile как угодно. Способ простой и не закрывает все потребности, но учитывая, что 98% посетителей сейчас — это Android или iPhone/iPad устройства — то для определения устройства посетителя этого вполне хватает.
Вот думаю, есть ли смысл подключать MobileDetect или Detect.js, т.к. до сих пор не сталкивался с проблемами из-за такой реализации.
Ваш метод позволяет перейти по ссылке только на один конкретный ресурс, на котором вы сейчас находитесь на фронте. На практике мне оказалось удобнее иметь ссылки на все видимые на странице ресурсы, и я могу быстро открыть для редактирования сразу несколько ресурсов, не переходя при этом на другие страницы. Например, в случае с интернет-магазином, когда вы находитесь в каталоге товаров, можно открыть сразу несколько карточек товаров и что-то быстро отредактировать. При частой работе с контентом и внезапных изменениях (ошибки какие-нибудь исправить и т.п.) такой подход показался мне удобным.
Также, вместо отображения даты, может быть удобнее вывести оставшееся количество дней. Я сделал это прямо в шаблоне на fenom:
Спасибо @Артур Шевченко за помощь и @Денис Усманов за данное полезное дополнение.
Критика и комментарии приветствуются.
И второй вопрос: тут уже задавался про обновление по id из фида, но я бы хотел обновлять товары не по id, а по vendorCode, для этого у меня в каждом товаре создано дополнительное поле sku. Как можно поменять обновление по этому ключу?
Только у меня почему-то не переопределяется параметр fileSize. Я указываю &fileSize = `10485760`, а [[++upload_maxsize]] всё равно берется из системных настроек, у меня по умолчанию 1048576000 байт, то есть 1000 Мб. Извините, я ещё плохо знаком с modx, поэтому не всё пока понятно(
В чанке ec_Form.tpl всё на fenom, это можно перевести на синтаксис modx?
Условие
и
Спасибо.
Как правильно перечислить типы файлов?
?
Второй вопрос:
тут в мегабайтах указывается или в чем? как указать максимальный размер 10 Мб?
?