18 октября 2021, 19:28 Оберните вывод в DIV с классом rows: <div class="cell-lg-8 cell-xs-10 decot-post-left" id="pdopage"> <div class="rows"> [[!pdoPage? &parents=`[[*id]]` &tpl=`Articl.tpl` &showHidden=`1` &limit=`4` &includeTVs=`date` &ajaxMode=`default` &tvFilters=`type_content==Статья` &sortby=`{ "id":"DESC" }` ]] </div> <div class="blog-item"> <nav> [[!+page.nav]] </nav> </div> </div> Вопросы / PdoPage не обновляет результаты при переключении страниц в пагинации 5 0
18 октября 2021, 10:33 А если так? $parent = $modx->getObject('modResource', $pid); $result[] = '<a href="'.$modx->getOption('site_url').$parent->get('uri').'">'.$parent->get('pagetitle').'</a>'; $table = $modx->getOption('table_prefix').'ms2_product_categories'; $sql = "SELECT * FROM {$table} WHERE `product_id` = {$rid}"; $q = $modx->prepare($sql); $q->execute(); $resources = $q->fetchAll(PDO::FETCH_ASSOC); foreach ($resources as $row) { $resource = $modx->getObject('modResource', $row['category_id']); $result[] = '<a href="'.$modx->getOption('site_url').$resource->get('uri').'">'.$resource->get('pagetitle').'</a>'; } return implode($delimeter, $result); Вопросы / Вывод списка категорий для товаров через сниппет сильно тормозит сайт 6 0
18 октября 2021, 09:45 Babel реализует только связь между ресурсами в разных контекстах на фронте (при переключении языков, к примеру) и в админке. Больше он ничего, по сути, не делает. Если у Вас одинаковые структуры (наборы страниц) для каждого города, то Babel поможет. Если разные, то смысла в нем нет. А редирект по IP реализуйтеь плагином на OnHandleRequest, к примеру. Babel тут не при чем. Вопросы / настройка мультирегиональности, варианты? 2 +1
17 октября 2021, 15:20 А так? [[!pdoResources? &offset=`5` &tpl=`cityes.tpl` &limit=`0` &parents=`[[BabelTranslation? &resourceId=`5`]]` &tpl_n23=`cityes20.tpl` &sortby=`{ "pagetitle":"ASC" }` ]] Вопросы / [ pdoResources ] Не правильно сортирует ресурсы. 2 0
13 октября 2021, 11:18 Если количество товара выводится не только на странице самого товара, а еще, к примеру, в категориях, то лучше после парсинга чистить кеш всего сайта и вместо приведенного Вами кода поставить это: $modx->cacheManager->refresh(); Если выводится только на странице товара (и если в массиве $contentids у Вас ID обновленных ресурсов), то так: // очищаем кэш обновленных ресурсов $ids = array_unique($contentids); foreach($ids as $id){ $resource=$modx->getObject('modResource',$id); $cacheKey = $resource->getCacheKey(); $modx->cacheManager->refresh(array('resource' => array('key' => $cacheKey))); } Вопросы / Вопрос по обновлению кэша на сайте на MODX после парсинга. 3 0
07 октября 2021, 18:02 Сделайте плагин на событие OnManagerLogin: <?php $user_id = 5; // ID юзера $resource_id = 12; // ID страницы if($user->get('id') == $user_id){ $modx->sendRedirect(MODX_MANAGER_URL.'index.php?a=resource/update&id='.$resource_id); } Вопросы / Ресурс по умолчанию в админке. 2 +1
06 октября 2021, 12:53 А если так?: <script> if(typeof pdoPage !== 'undefined') { pdoPage.callbacks.after = function(config, response) { $('.fancyboxModal ').fancybox({ // ..... }); $('#pdopage').removeClass('loading'); $('#pdopage').css('opacity', 1); }; } Вопросы / Проблема (купить в 1 клик, модальное окно). pdoPage, Ajax [РЕШЕНО] 6 0
06 октября 2021, 12:36 Добавить этот код на страницу, прописав вместо //… опции fancybox, которые у Вас используются для при клике на ссылку с классом fancyboxModal. Вопросы / Проблема (купить в 1 клик, модальное окно). pdoPage, Ajax [РЕШЕНО] 6 0
06 октября 2021, 11:26 Попробуйте переинициализировать fancybox по callback от pdoPage: <script> if(typeof pdoPage !== 'undefined') { pdoPage.callbacks.after = function(config, response) { $('.fancyboxModal ').fancybox({ // ..... }); }; } </script> Вопросы / Проблема (купить в 1 клик, модальное окно). pdoPage, Ajax [РЕШЕНО] 6 0
03 октября 2021, 09:57 Надо в эту TV добавить какие-то символы, обрамляющие ID. Например: -6-,-58-,-66- И тогда: &tvFilters=`user_id==%-[[!+modx.user.id]]-%` Вопросы / Фильтр ресурсов по id пользователя. 3 0
29 сентября 2021, 10:31 А так пробовали? [[!pdoUsers:default=`Ничего не найдено`? ... ]] Вопросы / Фильтр пользователей 6 +1
28 сентября 2021, 16:17 Лучше сниппетом сделайте. <?php if($tv == 'Да'){ if($modx->getPlaceholder('total_number') == 1){ //... }else{ //... } } И его в чанке вызывайте: {'!snipetName' | snippet: [ 'tv' => $_pls['tv.answer'] ]} Вопросы / Как перевести параметр totalvar pdoresources в чанк на fenom 1 +1
23 сентября 2021, 18:49 Да, с опциями он не работает. Либо делать через TV, либо писать плагин на событие mSyncOnProductImport, там ловить данные и прописывать в опции. Вопросы / Компонент mSync - синхронизация 4 0
06 сентября 2021, 20:05 Просто ловите в плагине $_POST['email'] и проверяете его. Если неправильно, то: $modx->event->output('Проверьте правильность заполнения email'); Вопросы / Office валидация email 3 0
06 сентября 2021, 19:49 В доках есть пример плагина на OnBeforeUserFormSave — там можно проверять любое поле. Вопросы / Office валидация email 3 0
30 августа 2021, 20:18 Используйте getChunk. Например: <?php $sth = $modx->query("SELECT * FROM reg_users"); $result = $sth->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $data) { $regNums .= $modx->getChunk($tpl, array('regNum' => $data['regNum']); } return $modx->getChunk($tplWrapper, array('output' => $regNums)); В вызове указывайте параметры: [[SnippetName? &tplWrapper=`chunk1` &tpl=`chunk2` ]] Ну а там уже оформляйте как угодно. В chunk2, к примеру: <ul>[[+output]]</ul> В chunk2: <li>[[+regNum]]</li> Вопросы / Вывод данных из БД 20 0 1
23 августа 2021, 14:17 А так? {$values[$index] | replace: '.' : '' | replace: '/' : '' } Вопросы / Как убрать c помощью replace два значения через fenom 4 0
12 августа 2021, 11:17 Пишете сниппет, который выводит id товаров через запятую в нужной последовательности например так: <?php $ids1 = $modx->runSnippet('pdoResources', array( 'parents' => 12, // ID первой категории 'returnIds' => 1, 'limit' => 0, 'templates' => 3 // ID шаблона товара ))); $ids2 = $modx->runSnippet('pdoResources', array( 'parents' => 3,-12, // ID каталога и исключение ID первой категории 'returnIds' => 1, 'limit' => 0, 'templates' => 3 // ID шаблона товара ))); return $ids1.','.$ids2; И подставляете этот сниппет в вызов mFilter2: ... &resources=`[[!snippetName]]` &sortby=`ids` ... Вопросы / Вывод товаров msProducts сначала из конкретной категории, а потом всех остальных 2 +1
03 августа 2021, 14:04 <?php $tvid = 1; // Замените на ID Вашей TV $docid = $modx->getOption('docid', $scriptProperties, $modx->resource->get('id')); if(!$tvo = $modx->getObject('modTemplateVarResource', array('tmplvarid' => $tvid,'contentid' =>$docid))) return; if(!$tv = $modx->getObject('modTemplateVar', $tvid)) return; $tvv = str_replace("\n", '', $tv->get('elements')); $vals = explode('||', $tvv); $cities = array(); foreach($vals as $val){ $v = explode('==', $val); $cities[ $v[1] ] = $v[0]; } $tvr = $tvo->get('value'); $arr = explode('||', $tvr); $out = array(); foreach($arr as $d){ $out[] = $modx->getChunk($tpl, array( 'name' => $cities[$d], 'id' => $d )); } return implode(', ', $out); Вызов: [[Snippet? &tpl=`chunk_name`]]или [[Snippet? &docid=`[[+id]]` &tpl=`chunk_name`]] В чанке chunk_name доступны плейсхолдеры [[+name]] и [[+id]]. Вопросы / Как вывести (TV Список множественный выбор) через кому? 23 +1
03 августа 2021, 13:58 ID чего? Вопросы / Как вывести (TV Список множественный выбор) через кому? 23 +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 баг исправлен
Если у Вас одинаковые структуры (наборы страниц) для каждого города, то Babel поможет. Если разные, то смысла в нем нет.
А редирект по IP реализуйтеь плагином на OnHandleRequest, к примеру. Babel тут не при чем.
Если выводится только на странице товара (и если в массиве $contentids у Вас ID обновленных ресурсов), то так:
Например:
И тогда:
И его в чанке вызывайте:
Либо делать через TV, либо писать плагин на событие mSyncOnProductImport, там ловить данные и прописывать в опции.
Если неправильно, то:
Например:
В вызове указывайте параметры:
Ну а там уже оформляйте как угодно.
В chunk2, к примеру:
В chunk2:
И подставляете этот сниппет в вызов mFilter2:
Вызов:
или
В чанке chunk_name доступны плейсхолдеры [[+name]] и [[+id]].