29 апреля 2024, 12:40 Если $data — массив с номером, товарами и датой, можно так: <?php $pdo = $modx->getService('pdoTools'); $data['count_products'] = count($data['products']); return $pdo->getChunk('pdfHtmlTemplate', $data); В чанке pdfHtmlTemplate: {$num} {$date} {$products} {$count_products} Вопросы / Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom? 2 +1
24 апреля 2024, 13:08 Да, плагин не нужен. Кстати, кроме aftersave, которое срабатывает после сохранения, есть еще beforecave и validate Вопросы / Migx событие 4 +1
24 апреля 2024, 11:00 В конфигурации можно указать сниппет-хук: Данные доступны в $_POST. Вопросы / Migx событие 4 +1
10 апреля 2024, 17:36 Это да, но при следующем обновлении miniShop2 этот файл перепишется и изменения пропадут. С плагином так не случится. Вопросы / Добавление поля в базе для объекта msProduct 3 0
10 апреля 2024, 11:13 Добавьте поле в таблицу (например, new_field) и сделайте плагин на событие OnMODXInit <?php $modx->loadClass('msProduct'); $modx->map['msProduct']['fields']['new_field'] = ''; $modx->map['msProduct']['fieldMeta']['new_field'] = array( 'dbtype' => 'varchar', 'phptype' => 'string', 'precision' => '190', 'null' => false, 'default' => '', ); Естественно, тип данных может быть разным. Примеры полей можно посмотреть в файле core/components/minishop2/model/minishop2/mysql/msproduct.map.inc.php Вопросы / Добавление поля в базе для объекта msProduct 3 0 1
04 апреля 2024, 12:02 Можно пойти другим путем: @EVAL $gp = $modx->runSnippet('grandparent'); return $modx->runSnippet('pdoResources',array( 'parents' => $gp, 'templates' => 4, 'limit' => 0, 'tpl' => '@INLINE [[+pagetitle]] ([[+id]])==[[+id]]', 'outputSeparator' => '||' )); Вопросы / Как получить дедушку в @SELECT запросе в TV поле? 2 0 2
20 марта 2024, 20:08 Они шлют прямыми запросами на assets/components/ajaxform/action.php. Сделайте сниппет chkbot: <?php $_SESSION['afchk'] = 1; return true; Добавьте его в &preHooks: [[!AjaxForm? &preHooks=`chkbot` &hooks=`spam,email` ... ]] А в файле assets/components/ajaxform/action.php на 23 строке добавьте: if($_SESSION['afchk'] != 1){ echo $AjaxForm->success('Сообщение успешно отправлено.'); die(); } unset($_SESSION['afchk']); Вопросы / Спам через AjaxForm 13 +2 2
28 февраля 2024, 11:18 Есть системная настройка mse2_index_fields, где можно указать что индексировать. Попробуйте оставить там только pagetitle:5 и переиндексируйте. Вопросы / Как ускорить работу mSearch2? 1 0
20 февраля 2024, 12:07 Либо добавьте свой пакет в системную настройку extension_packages, либо используйте параметр loadModels. И если в базе нет поля publishedon, то укажите сортировку по существующему полю: {'pdoResources' | snippet : [ 'loadModels' => 'название пакета', 'class' => 'Cities', 'sortby' => '{ "id":"DESC" }' ]} Вопросы / Migxbd + pdoResources как вывести данные из своей таблицы? 2 0
15 февраля 2024, 14:25 Да, естественно. Можно добавить в скрипт: <?php $tvid = 123; // ID TV-шки $vendor = 'Производитель' // Название производителя $template = 6; // ID шаблона товара if(!function_exists('removeDirectory')){ function removeDirectory($dir){ if ($objs = glob($dir."/*")) { foreach($objs as $obj) { is_dir($obj) ? removeDirectory($obj) : unlink($obj); } } rmdir($dir); } } $sql = "SELECT * FROM {$modx->getTableName('modTemplateVarResource')} WHERE tmplvarid = {$tvid}"; $q = $modx->prepare($sql); $q->execute(); $tvs = $q->fetchAll(PDO::FETCH_ASSOC); foreach($tvs as $tv) { if($tv['value'] != $vendor) continue; // если название не то, пропускаем if(!$resource = $modx->getObject('modResource', array('id' => $tv['contentid'], 'template' => $template)) continue; // если нет ресурса с таким ID и шаблоном, пропускаем $dir = MODX_ASSETS_PATH.'images/products/'.$tv['contentid'].'/'; removeDirectory($dir); $resource->remove(); // удаляем ресурс } Вопросы / Как удалить товары с определенным значением tv 4 +1
15 февраля 2024, 12:20 Все ID и классы оберток присутствуют? По умолчанию должно быть так: <div id="pdopage"> <div class="rows"> [[!pdoPage? /// параметры ]] </div> [[!+page.nav]] </div> Вопросы / Человекопонятная навигация не работает ajax загрузка, как исправить? 3 0
15 февраля 2024, 12:09 Что-то типа этого (бэкап базы только сделайте): <?php $tvid = 123; // ID TV-шки $vendor = 'Производитель' // Название производителя $template = 6; // ID шаблона товара $sql = "SELECT * FROM {$modx->getTableName('modTemplateVarResource')} WHERE tmplvarid = {$tvid}"; $q = $modx->prepare($sql); $q->execute(); $tvs = $q->fetchAll(PDO::FETCH_ASSOC); foreach($tvs as $tv) { if($tv['value'] != $vendor) continue; // если название не то, пропускаем if(!$resource = $modx->getObject('modResource', array('id' => $tv['contentid'], 'template' => $template)) continue; // если нет ресурса с таким ID и шаблоном, пропускаем $resource->remove(); // удаляем ресурс } Вопросы / Как удалить товары с определенным значением tv 4 0 1
10 января 2024, 12:36 В колонке назовите это поле как-нибудь иначе: В рендере используйте реальное имя. Если pdoTools установлен и поле называется «project», то так: Вопросы / MIGX renderChunk: вывести title ресурса по его ID 2 +1 1
22 ноября 2023, 16:36 А в коде страницы что (если Ctrl+U нажать)? Вопросы / pdoSitemap Рендерит xml со второй строчки, как исправить? 5 0
22 ноября 2023, 15:04 А для чего тут pdoPage? Просто используйте pdoSitemap с limit (остальные параметры тут не нужны): {'pdoSitemap' | snippet : [ 'limit' => 100, ]}Ну и шаблон должен быть пустым. Вопросы / pdoSitemap Рендерит xml со второй строчки, как исправить? 5 0
09 ноября 2023, 19:30 Версия MODX 2.8.6? Если да, то попробуйте это: modx.pro/news/24265#comment-140918 PS Уже написали )) Вопросы / ms2gallery купленный, перестали генерироваться превью. 3 +1
15 октября 2023, 10:36 Попробуйте так: [[getImageList? &docid=`123` &where=`{ "part-name:LIKE":" %***% " }` &tpl=`tpl.part` ]]123 — ID ресурса с TV migxTable *** — критерий для отбора в поле Название Чанк tpl.part <div class="part-data"> <h2>[[+part-name]]</h2> <p>Изображение заведения: <img src="[[+part-image]]"></p> <p>Адрес заведения: [[+part-adress]]</p> </div> Вопросы / Вывод данных MGIX элемента на другой странице 1 0
18 сентября 2023, 12:47 Автор — Павел Гвоздь. Протестировать любое дополнение можно на тестовом тарифе Modhost. Вопросы / Дополнение для парсинга 4 0
12 сентября 2023, 15:31 В /core/components/console/files/ Вопросы / Место сохранения файла из Consele. 1 +1
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 баг исправлен
В чанке pdfHtmlTemplate:
Кстати, кроме aftersave, которое срабатывает после сохранения, есть еще beforecave и validate
Данные доступны в $_POST.
С плагином так не случится.
Естественно, тип данных может быть разным.
Примеры полей можно посмотреть в файле core/components/minishop2/model/minishop2/mysql/msproduct.map.inc.php
Сделайте сниппет chkbot:
Добавьте его в &preHooks:
А в файле assets/components/ajaxform/action.php на 23 строке добавьте:
Попробуйте оставить там только pagetitle:5 и переиндексируйте.
И если в базе нет поля publishedon, то укажите сортировку по существующему полю:
По умолчанию должно быть так:
В рендере используйте реальное имя.
Если pdoTools установлен и поле называется «project», то так:
Просто используйте pdoSitemap с limit (остальные параметры тут не нужны):
Ну и шаблон должен быть пустым.
Если да, то попробуйте это: modx.pro/news/24265#comment-140918
PS
Уже написали ))
123 — ID ресурса с TV migxTable
*** — критерий для отбора в поле Название
Чанк tpl.part
Протестировать любое дополнение можно на тестовом тарифе Modhost.