Анатолий
С нами с 20 марта 2018; Место в рейтинге пользователей: #412Вывод ресурсов на fenom без сниппета
            Вывожу ресурсы через microModx:
        
        
        
    {var $resources = $_modx->getResources(
    ['published' => 0, 'deleted' => 0],
    ['parents' => 2],
    ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 0]
)}
{foreach $resources as $resource}
    {$_modx->getChunk('@INLINE <a href="#{$id}">{$pagetitle}</a>', $resource)}
{/foreach}Понадобилось добавить ресурс и поместить его между существующих. Упорядочил ресурсы по menuindex. Теперь когда заменил 'sortby' => 'id' на 'sortby' => 'menuindex' то ничего не изменилось: добавленный ресурс вывелся последним как будто отсортировано по id. Более того, заметил что если менять сортировку на DESC тоже ничего не происходит, как будто этот код закэшировался… В чем может быть причина?        Fenom и json_decode
            Есть многомерный массив полученный из migx который я декодирую:
        
        
        
    {set $rows = json_decode($_modx->resource.device,true)}На выходе получается массив, но вложенные массивы второго уровня остаются не декодированными и снова к ним приходится применять функцию json_decode.array(1) {
  [0]=>
  array(3) {
    ["MIGX_id"]=>
    string(1) "1"
    ["device"]=>
    string(6) "iPhone"
    ["vendor"]=>
    string(86) "[{"MIGX_id":"9","model":"7","img":"","services":""},{"MIGX_id":"10","model":"7 Plus","img":"","services":""}]"
  }
}Есть ли способ за один прогон получить декодированный массив в fenom?        Обернуть каждые N элементов массива в Fenom
            Здравствуйте уважаемые друзья! Вопрос в том как вывести элементы массива с учетом того что каждые четыре должны быть обернуты в тег? Например вот стандартный чанк ms2gallery:
        
        
        
    {if $files?}
    <div class="slider">
        {foreach $files as $file}
            <div class="slide">
		        <img src="{$file['url']}">
	        </div>
        {/foreach}
    </div>
{/if}А нужно (просто привожу схематично структуру):{if $files?}
    <div class="slider">
           <div class="slide">
		    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
	    </div>
        {/foreach}
    </div>
{/if}Понимаю что нужен какой-то цикл for 1..4 но как его реализовать не решу…        Вывод ошибки в AjaxForm
            Друзья, проверяю форму на заполненность одного поля из двух. Вот вызов сниппета:
        
        
        
    {'!AjaxForm' | snippet : [
       'snippet'=>'FormIt'
       'hooks'=>'spam,email'
       'emailFrom'=>'noreply@test.loc'
       'form'=>'tpl.callBack'
       'emailTpl'=>'tpl.callBackMail'
       'emailTo'=>'inbox@mail.local'
       'emailSubject'=>'Обратная связь с сайта'
       'validate'=>'name:required,phone:oneOfTwoFields,email:email:oneOfTwoFields,link:blank'
       'customValidators' => 'oneOfTwoFields'
       'validationErrorMessage'=>'Пожалуйста, заполните необходимые поля.'
       'successMessage'=>'Ваше обращение отправлено. Мы свяжемся с вами!'
    ]}А вот сниппет кастомного валидатора:<?php
$success = true;
$phone = trim($_POST['phone']);
$email = trim($_POST['email']);
if (empty($phone) && empty($email)) {
    $success = false;
    $validator->addError($key, 'Заполните поле Телефон или Email.');
}
return $success;Валидация работает, но не могу понять как выводить во всплывающем окне эту ошибку (когда не заполнены оба поля)? Всегда выводится 'Пожалуйста, заполните необходимые поля.'        Получить Option в плагине
            Пишу fenom модификатор который должен получить значение опции и далее ее обработать.
Опция создана в ClientConfig.
        
        
        
    Опция создана в ClientConfig.
$fenom->addModifier('phonelink', function ($input, $class = 'phonelinks') {
            if (!empty($input)) {
                $el = $modx->getOption($input);
                return $el;
            }
        });Это вызывает ошибку: Fatal error: Uncaught Error: Call to a member function getOption() on null in…        Вопрос по $options
            Обратил внимание что в сниппете dateAgo есть такой код:
Или этот код позволяет использовать параметры сниппета в качестве модификатора?
        
        
        
    if (!empty($options) && $options = $modx->fromJSON($options)) {
    $scriptProperties = array_merge($scriptProperties, $options);
}Вопрос что это за переменная $options, чем она отличается от $scriptProperties?Или этот код позволяет использовать параметры сниппета в качестве модификатора?
Тернарный оператор
            Друзья, не пойму простого, как в чанке вывести longtitle в теге если longtitle заполнен?
        
        
        
    {$longtitle ? '<small>({$longtitle})</small>' :'' }Так выводятся пустые скобки…        Убрать элемент из массива
            Есть массив $files содержащий в себе другие элементы-массивы.
Вопрос, как на fenome удалить любой элемент из этого массива?
Например первый. Или разобрать массив $files со второго элемента с помощью {foreach}?
        
        
        
    Вопрос, как на fenome удалить любой элемент из этого массива?
Например первый. Или разобрать массив $files со второго элемента с помощью {foreach}?
Перебор массива в fenom
            Друзья, сломал голову, как обернуть определенным тегом только первый элемент массива?
        
        
        
    {foreach $files as $file}
        {if $file@first} <i>{$file['id']}</i>{/if}
        <b>{$file['id']}</b>
 {/foreach}Но так в теге <i> оказываются все элементы.        Fenom. Вынос сниппетов в файлы
            Подскажите, если выносить шаблоны, чанки в файлы, то как поступать с родными сниппетами дополнений? Оставлять их в БД? В файлы писать только свои сниппеты? В документации к феному пишут делать все в файлах и ничего не создавать в админке. А как быть со сниппетами pdotools, msgallery, например? Каковы правила хорошего тона в таком случае?