Всего 123 773 комментария

Константин
21 сентября 2023, 12:58
0
Пробую, вызов mfilter2 на странице каталога:
<!DOCTYPE html>
<html lang="ru">
<head>
    {$_modx->getChunk('meta')}
</head>
<body class="common-home res layout-4">
    <div id="wrapper" class="wrapper-fluid banners-effect-5">
    <!-- Header Container  -->
    <header id="header" class=" typeheader-4">
        {$_modx->getChunk('header')}
    </header>
    <!-- //Header Container  -->
    
   <!-- Main Container  -->
    <div class="main-container container">
        {$_modx->runSnippet('!pdoCrumbs', [
	'showHome' => '0',
	'exclude' => '24',
	'tplWrapper' => '@INLINE <ul class="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList">{$output}</ul>',
	'tplHome' => '@INLINE <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a itemprop="item" title="{ $menutitle }" href="{$link}"><i class="fa fa-home"></i> <span itemprop="name" class="crumb-item">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></a></li>',
	'tplCurrent' => '@INLINE <li class="mr-2" itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="item" class="current"><span itemprop="name">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></span></li>',
	'tpl' => '@INLINE <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a itemprop="item" title="{ $menutitle }" href="{$link}"><span itemprop="name" class="crumb-item">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></a></li>',
        ])}
    
                <!--Middle Part Start-->
            <div id="" class="col-md-12 col-sm-12">
{set $allpara = $_modx->getChildIds(31,4,['template' => 3])}
{set $allpara2 = $_modx->getChildIds(29,4,['template' => 3])}

{foreach $allpara2 as $nyam}
  {set $allpara[] = $nyam}
{/foreach}
{$_modx->setPlaceholder('noarticle', $allpara)}

{$_modx->runSnippet('!mFilter2', [
'paginator' => 'pdoPage',
	'element' => 'msProducts',
	'class' => 'msProduct',
	'showEmptyFilters' => 1,
	'limit' => 10,
	'tplOuter' => 'mFilter2OuterTpl',
	'tpl' => 'listProductTpl',
	'includeTVs' => 'available,marka,model',
	'includeThumbs' => 'medium',
	'sortby' => '{ "parent":"ASC","menuindex":"ASC" }',
	'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
	'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
	'tplPagePrevEmpty' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
	'tplPageNextEmpty' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
	'suggestionsRadio' => 'tv|marka,
        tv|model',
	'filters' => 'tv|marka,
        tv|model,
        msvendor|description,
        parent:parents',
	'aliases' => 'msvendor|description==vendor-status,
        tv|marka==marka,
        tv|model==model',
        
        'fields' =>
		  'msvendor|description==vendor-status,
		  tv|marka==marka,
		  tv|model==model,
		  parent:parents,
		  msoption|orign_n,
		  msoption|dop_n,
		  msoption|analogi,
		  ms|article',
		  
	'ajaxMode' => 'default',
	'filterOptions' => '{
			"more_tpl": "<div class=\"text-center\"><button class=\"btn btn-blue btn-rounded btn_more\">Загрузить еще</button></div>"
	}',
	
	'tplFilter.outer.default' => 'filterSelectOuter',
    'tplFilter.row.default' => 'filterSelectRow',
   
    'tplFilter.outer.vendor' => 'filterSelectOuter',
    'tplFilter.row.vendor' => 'filterSelectRow',
    
    'tplFilter.outer.marka' => 'filterSelectOuter',
    'tplFilter.row.marka' => 'filterSelectTvRow',
    
    'tplFilter.outer.model' => 'filterSelectOuter',
    'tplFilter.row.model' => 'filterSelectTvRow',
    
    'tplFilter.outer.resource|parent' => 'filterSelectOuter',
    'tplFilter.row.resource|parent' => 'filterSelectRow',
	
])}


{*'tplFilter.outer.default' => 'filterCheckboxOuter',
    'tplFilter.row.default' => 'filterCheckboxRow',*}

            </div>
        </div>
        <!--Middle Part End-->
    <!-- //Main Container -->


   {$_modx->getChunk('footer')}
    <!-- //end Footer Container -->
    </div>
<!-- End Color Scheme
============================================ -->
{$_modx->getChunk('scripts')}

</body>
</html>
Вызов mfilter2 на странице поиска:
<!DOCTYPE html>
<html lang="ru">
<head>
    {$_modx->getChunk('meta')}
</head>
<body class="common-home res layout-4">
    <div id="wrapper" class="wrapper-fluid banners-effect-5">
    <!-- Header Container  -->
    <header id="header" class=" typeheader-4">
        {$_modx->getChunk('header')}
    </header>
    <!-- //Header Container  -->
    
   <!-- Main Container  -->
    <div class="main-container container">
        {$_modx->runSnippet('!pdoCrumbs', [
        	'showHome' => '1',
        	'exclude' => '3,24',
        	'tplWrapper' => '@INLINE <ul class="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList">{$output}</ul>',
        	'tplHome' => '@INLINE <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a itemprop="item" title="{ $menutitle }" href="{$link}"><i class="fa fa-home"></i> <span itemprop="name" class="crumb-item">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></a></li>',
        	'tplCurrent' => '@INLINE <li class="mr-2" itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><span itemprop="item" class="current"><span itemprop="name">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></span></li>',
        	'tpl' => '@INLINE <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem"><a itemprop="item" title="{ $menutitle }" href="{$link}"><span itemprop="name" class="crumb-item">{$menutitle}</span><meta itemprop="position" content="{ $idx }"></a></li>',
        ])}
        <div class="row" >
                <!--Middle Part Start-->
            <div id="" class="col-md-12 col-sm-12">
  
            {$_modx->runSnippet('!mFilter2', [
            	'suggestionsMaxResults' => 10000,
            	'element' => 'msProducts',
            	'class' => 'msProduct',
            	'limit' => '12',
            	'tplOuter' => 'mFilter2OuterTpl',
            	'tpls' => 'listProductTpl',
                'parents' => '3'
            	'includeTVs' => 'available',
            	'includeThumbs' => 'medium',
            	'sortby' => '{ "parent":"ASC","menuindex":"ASC" }',
            	'ajaxMode' => 'default',
            	'tplPageWrapper' => '@INLINE <ul class="pagination">{$prev}{$pages}{$next}</ul>',
            	'tplPageActive' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
            	'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
            	'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
            	'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
            	'tplPagePrevEmpty' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
            	'tplPageNextEmpty' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
                'suggestionsRadio' => 'tv|marka,
            		          tv|model',
            	'filters' => 'tv|marka,
        tv|model,
        msvendor|description,
        parent:parents',
	'aliases' => 'msvendor|description==vendor-status,
        tv|marka==marka,
        tv|model==model',
        
        'fields' =>
		  'msvendor|description==vendor-status,
		  tv|marka==marka,
		  tv|model==model,
		  parent:parents,
		  msoption|orign_n,
		  msoption|dop_n,
		  msoption|analogi,
		  ms|article',
		  
		  
     	'tplFilter.outer.default' => 'filterSelectOuter',
    'tplFilter.row.default' => 'filterSelectRow',
   
    'tplFilter.outer.vendor' => 'filterSelectOuter',
    'tplFilter.row.vendor' => 'filterSelectRow',
    
    'tplFilter.outer.marka' => 'filterSelectOuter',
    'tplFilter.row.marka' => 'filterSelectTvRow',
    
    'tplFilter.outer.model' => 'filterSelectOuter',
    'tplFilter.row.model' => 'filterSelectTvRow',
    
    'tplFilter.outer.resource|parent' => 'filterSelectOuter',
    'tplFilter.row.resource|parent' => 'filterSelectRow',
    	
            ])}
            
            </div>
        </div>
        <!--Middle Part End-->
    </div>
    <!-- //Main Container -->


   {$_modx->getChunk('footer')}
    <!-- //end Footer Container -->
    </div>
<!-- End Color Scheme
============================================ -->
{$_modx->getChunk('scripts')}

</body>
</html>
К примеру, ищет по артикулу правильно — 1 результат, но в выпадающем списке предрезультатов нет: file.modx.pro/files/0/f/8/0f8266f6fe730c404eaada808169dd59.jpg
Не ищет по дополнительному номеру dop_n, но в предварительных результатах выпадающего списка 2 товара, на странице поиска результатов 0: file.modx.pro/files/4/e/3/4e3be68d9c2f897992bf2630873d4bb5.jpg
Константин
21 сентября 2023, 12:14
0
# url Ответ Результат
1 gc-polur.ru/ 200 доступна
2 gc-polur.ru/? 200 доступна
3 gc-polur.ru 200 доступна
Константин
21 сентября 2023, 12:13
0
Спасибо, воспользовался инструкцией, но сервис проверки на дубли вот что показывает: file.modx.pro/files/9/4/7/9477a4560a2f7ed7a7ebc3671ebca39f.jpg
Артур Шевченко
21 сентября 2023, 11:00
-1
Я не знаю, что лежит в formUrl, но вот тут очевидно, что редирект происходит на сервере. Если вы хотите изменить эту логику расширяйте обработчик заказа. Как это сделать написано в документации к minishop2.
R2m0x94 (Vasily)
21 сентября 2023, 10:45
0
Нет, Артур есть в response formUrl, о чем пишет лог ошибок, а вот как его получить в колбеке response data Order вопрос.

Ну хорошо, как хотябы в панеле разработчика не дать редирекнутся, чтобы найти в console.log(response) эту ссылку?

Да, и Артур mspSberbank возвращает ссылку на оплату иначе, как программировать оплату и её обрабатывать, если бы её не было я бы не задавал вопрос. Спасибо
Olga
21 сентября 2023, 10:37
0
Да, у меня evo cms, Спасибо за ответ, задам вопрос также на профильном форуме
Артур Шевченко
21 сентября 2023, 10:29
0
Modx Evo очень старая и давно неподдерживаемая CMS, рекомендую переехать либо на Modx Revo. Если же у вас Evolution CMS, то лучше поищите профильный форум, там вам скорее помогут.
Артур Шевченко
21 сентября 2023, 10:27
0
Ссылки на оплату в JS нет, редирект делает на сервере. Непонятно что вас не устраивает? Клиент оформляет заказ, получает уведомление об успешном оформлении, его перекидывает на страницу оплаты, после оплаты перекидывает на страницу которую вы указали в настройках mspSberbank
Баха Волков
20 сентября 2023, 10:42
0
Компонент recaptchav3 совместим с FetchIt, можете использовать его
Максим
20 сентября 2023, 08:53
0
Да, проблемы есть в modx-3…
alex87.ru
19 сентября 2023, 22:30
0
Проблемы есть везде) Wordpress много движков переживет, только из-за того что самый распиаренный и имеет тьму тем и дополнений) Школьник сможет сайт наклепать за день (часто за пару минут с премиум шаблонами, которые плагины поставят, все настроят и демо данные импортируют). С MODX немного другая история… С 3й версией, пока правда все печально для начинающих особенно: они ее ставят по старым инструкциям, ставят несовместимые плагины и все ломается) или обновляют рабочий сайт на 2йке и каюк сайту)) Даже в оф документации по 3ке по дополнениям (https://docs.modx.com/3.x/en/extras), указаны несовместимые компоненты (и их там хватает)
alex87.ru
19 сентября 2023, 21:44
0
Поправьте код на странице результатов поиска, там у вас вызов mfilter2, попробуйте в параметр &filters= прописать указанные выше поля, только в немного другом формате: msoption|name_options и т.д. + можно попробовать прописать параметр &fields (если не казан в него должны тянуться поля из системной настройки mse2_index_fields) и в нем руками прописать поля (мало ли глюк какой-нибудь, не тянется из mse2_index_fields), ну и логи можно включить если не помогло &showLog=`1` возможно там будет что-нибудь интересное)
alex87.ru
19 сентября 2023, 21:21
0
Удалите все что выше # For servers that support output compression, you should pick up a bit of и вставьте на место удаленного, вот эти правила: https://web-revenue.ru/modx-revo/htaccess#moy-nastroennyy-fayl-htaccess-pod-hosting
Константин
19 сентября 2023, 20:51
0
Спасибо, дело было в нем! Подскажите пожалуйста варианты избавления от спама.
Баха Волков
19 сентября 2023, 17:27
+1
Убедитесь, что хук spam отрабатывает правильно
Константин
19 сентября 2023, 14:13
0
Здравствуйте, пробую заменить AjaxForm на FetchIt, почему-то не срабатывает хук FormItSaveForm. Письма в админке не сохраняются. Вывожу так:
[[!FetchIt?
  &snippet=`FormIt`
  &form=`contactFormTpl`
  &hooks=`spam,FormItSaveForm,email`
  &formName=`Рассчитать стоимость здания`
  &emailSubject=`Тема письма`
  &emailTo=`[[++emailsender]]`
  &emailFrom=`no-reply@rmse.ru`
  &validate=`nospam:blank,name:minLength=^2^,phone:phone:required`
  &validationErrorMessage=`В форме содержатся ошибки!`
  &successMessage=`Сообщение успешно отправлено`
  &phone.vTextRequired=`На какой номер телефона Вам перезвонить?`
  &name.vTextRequired=`Укажите Ваше имя`
  &fieldNames=`name==Имя,phone==Телефон,pageurl==Страница отправки,message==Сообщение,pageId==ID Страницы`
		&validationErrorMessage=`В форме содержатся ошибки!`
		&successMessage=`Сообщение успешно отправлено`
]]
Артур Шевченко
18 сентября 2023, 22:25
0
Ну да, всё так. Только элемент надо правильно выбирать у которого класс удаляете. Я же написал как надо.
$('#success-modal').removeClass('d-none');
Константин
18 сентября 2023, 21:04
0
Сделал как написано в инструкции, причем на одном сайте работает, на этом нет, не могу понять в чем дело. Как я понимаю, мы отлавливаем событие af_complete, по его наступлению, мы удаляем у элемента с id=success-modal класс d-none
Артур Шевченко
18 сентября 2023, 19:53
0
Дорогой друг, вы явно не понимаете что делаете, почитайте про получение html-элементов в JS
Константин
18 сентября 2023, 19:46
0
Форма:
<form action="" method="post" class="ajax_form af_example">
                           <div class="row">
                              <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6">
                                 <div class="contact__input mb-30">
                                    <input type="text" id="af_name" name="name" value="[[+fi.name]]" placeholder="Ваше имя">
                                 </div>
                              </div>
                              <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6">
                                 <div class="contact__input mb-30">
                                    <input type="tel" id="af_phone" name="phone" value="[[+fi.phone]]" placeholder="Ваш телефон">
                                 </div>
                              </div>
                              <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6">
                                 <div class="contact__input mb-30">
                                    <input type="tel" id="af_email" name="email" value="[[+fi.email]]" placeholder="Почта для ответа">
                                 </div>
                              </div>
                              <div class="col-xxl-6 col-xl-6 col-lg-6 col-md-6">
                                 <div class="contact__input mb-30">
                                    <select id="af_theme" name="theme" value="[[+fi.theme]]">
                                       <option>Тема</option>
                                       <option>Подбор оборудования</option>
                                       <option>Консультация</option>
                                       <option>Запрос КП</option>
                                       <option>Заявка на обратный звонок</option>
                                    </select>
                                 </div>
                              </div>
                              <div class="col-xxl-12">
                                 <div class="contact__input mb-30">
                                    <textarea placeholder="Ваш вопрос"></textarea>
                                 </div>
                              </div>
                              <div class="col-xxl-12">
                                 <div class="contact__form-btn">
                                    <button type="submit" class="d-btn-corp">Отправить</button>
                                 </div>
                              </div>
                           </div>
                        [[+fi.success:is=`1`:then=`
  <div class="alert alert-success">[[+fi.successMessage]]</div>
  `]]
  [[+fi.validation_error:is=`1`:then=`
  <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
  `]]
  <p><input type="checkbox" name="checkme"/> Я прочитал(а) и согласен с <a href="[[~35]]" target="_blank">политикой конфиденциальности</a></p>
  <div id="success-modal" class="alert alert-info d-none">
  <p>Спасибо за обращение! Сообщение успешно отправлено, мы перезвоним Вам в течении 5 минут!</p>
</div>
                           </form>
Скрипт:
<script>
  $(document).on('af_complete', function(e,response){
if(response.success){
$(response.form).find('#success-modal').removeClass('d-none');
}
});
</script>
Не срабатывает, в консоли браузера смотрю, класс d-none не убирается