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

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

С нами с 14 июля 2017; Место в рейтинге пользователей: #337
Павел Мезенцев
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>