Павел Мезенцев

Павел Мезенцев

С нами с 14 июля 2017; Место в рейтинге пользователей: #305
21 июня 2018, 20:50
0
Идиотия…
я просто забыл закрывающие скобки для сниппета (((((((

Спасибо, что откликнулись =), а так может хоть скрипт кому пригодиться.
На всякий случай, правильный вызов:
[[!pdoPage?
    &element=`mySnippet`
    &chunk=`tpl.Review`
    &limit=`2`
]]
[[!+page.nav]]
19 июня 2018, 18:26
0
Вызываю так:
[[!pdoPage?
    &element=`mySnippet`
    &chunk=`tpl.Review`
    &limit=`2`
[[!+page.nav]]
29 мая 2018, 17:36
0
Спасибо большое, Илья! Воспользуюсь первым вариантом из Вашего совета, на первое время хватит ), так как категорий не более 20 пока, вряд ли будет больше…
18 марта 2018, 14:30
0
Добрый день!
Была такая задача, выводил так: товары в каталог выводил через
[[!pdoPage?
....
 &element=`msProducts` 
 &tpl=`my.msProduct.chank`
....
 ]]
далее, в чанке my.msProduct.chank уже делал вызов msGallery, передав в параметре id ресурса, галерею которого нужно вывести (то есть обрабатываемого в данный момент)
[[!msGallery? tpl=`my.tpl.msGallery.catalog`  &product=`[[+id]]`]]
На товар было около 5-6 изображений, от этого страничку сильно грузило, я решил отказаться от этой затеи…
17 марта 2018, 21:45
0
1 — пустое поле, скрытое через css
Вы имеете в виду замена атрибута name у инпутов?
Например, эти поля прячем за пределы экрана (не display:none, а именно за пределы экрана, например left: -99999px; position:absolute;
<input  class="forminpun" type="text" name="name" placeholder="Как к Вам обращаться?" value="" />
<input class="forminpun" type="email" name="email" placeholder="Введите электронную почту" value="" />
а себе в обработку берем данные из других полей, с нестандартными именами, например:
<input type="text"  name="aaa" placeholder="Как к Вам обращаться?" required value="[[!+fi.aaa]]"  />
<input type="email" name="bbb" value="[[!+fi.bbb]]" placeholder="Введите электронную почту" required />
вместо ааа и bbb что угодно можно написать.
Это все в связке с хуком spam меня спасает
&hooks=`spam,email,FormItAutoResponder,redirect`
29 октября 2017, 20:35
0
Для 1го моего вопроса Fenom рулит (благо, вывожу тикеты 2 шаблонами)
{if 0 | ismember : 'Admin'}
 //показываем ресурс админу
{else}
 {if $_modx->user.id == $_modx->resource.createdby}
 //показываем ресурс, если пользователь не админ, но его автор
 
  {else}
 //показываем сообщение об ошибке доступа 
  {/if}

 {/if}
кстати, такой вывод съел мне нервы и мозг, и не заработал

[[!+modx.user.id:memberof=`Admin`:then=` `:else=` `]]
29 октября 2017, 18:36
0
2 — плагин проверяет, если ресурс Ticket, то присоединить к группе Users. Плагин на событие OnDocFormSave

<?php
if ($modx->event->name == "OnDocFormSave") {
   if ($resource->class_key == 'Ticket'){
       $resource->joinGroup('Users');
   }
}
16 июля 2017, 07:57
0
«И вызов скрипта после...»
тут должен был быть вызов дефолтного скрипта минишоп2, то есть — калбэк вызывать после
<script type="text/javascript" src="/assets/components/minishop2/js/web/default.js?v=******"></script>
15 июля 2017, 17:50
0
В общем, остановился на этом способе, чуточку приукрасил:
В шаблон корзинки добавил в тело странички:
<div id="before-load">
  <!-- Иконка Font Awesome -->
  <i class="fa fa-spinner fa-spin"></i>
</div>
Стили для блока:
#before-load {
    display: none;
  position: fixed; /*фиксированное положение блока*/
  left: 0; /*положение элемента слева*/
  top: 0; /*положение элемента сверху*/
  right: 0; /*положение элемента справа*/
  bottom: 0; /*положение элемента снизу*/
  background: #fff; /*цвет заднего фона блока*/
  z-index: 1001; /*располагаем его над всеми элементами на странице*/
}
#before-load i {
  font-size: 70px; /*размер иконки*/
  position: absolute; /*положение абсолютное, позиционируется относительно его ближайшего предка*/
  left: 50%; /*слева 50% от ширины родительского блока*/
  top: 50%; /*сверху 50% от высоты родительского блока*/
  margin: -35px 0 0 -35px; /*смещение иконки, чтобы она располагалась по центру*/
}
И вызов скрипта после

<script>
    miniShop2.Callbacks.Order.submit.before = function() {
        //miniShop2.Message.info('Заказ обрабатывается!');
         $('#before-load').find('i').fadeIn().end().delay(400).fadeIn('slow');
        return true;
    }
</script>
За лоадер спасибо этому сайту https://itchief.ru/lessons/javascript/preloader-for-site
15 июля 2017, 17:19
+1
Пока что изыскания привели только к одному способу — калбаки=)
<script>
	miniShop2.Callbacks.Order.submit.before = function() {
    		miniShop2.Message.success('Заказ обрабатывается!');
    		return true;
	}
</script>