Aleksandr Huz

Aleksandr Huz

С нами с 02 августа 2014; Место в рейтинге пользователей: #21
Aleksandr Huz
24 июня 2018, 14:36
0
Кстати, если включить сортировку
&sortby :'{"parent":0}',
то сначала будут выводиться ресурсы с родителем 0, а затем уже все дочерние.
Aleksandr Huz
24 июня 2018, 14:28
0
Все потому, что сортировка идет по menuindex
Дочерние ресурсы начинают отчет заново с 0, поэтому и выводиться сначала все ресурсы с menuindex = 0
Aleksandr Huz
22 июня 2018, 13:28
+1
Как вывести MIGX через Fenom с другой страницы
{var $gallery = 7 | resource: 'gallery' | fromJSON}
7 = id нужно страницы.

а вот хотелось бы на главной вывести 6 результатов, как это сделать?
{set $limit = 6}
{foreach $gallery as $idx => $item}
    {if $idx < $limit}
     ...
    {/if}
{/foreach}
Aleksandr Huz
21 июня 2018, 12:33
1
+1
Можно через модификатор:
$fenom->addModifier('tvname', function ($tvname) {
    // Получаем объект TV по имени
    $tv = $modx->getObject('modTemplateVar',array('name' => $tvname));
    // id текущего ресурса
    $id = $modx->resource->id;
    // значение tv
    $value = $tv->renderOutput($id);
    
    // Ищем необходимое значение и возвращаем навазние
    $tvlist = explode('||', $tv->get('elements'));
    foreach ($tvlist as $item) {
        $arr = explode('==',$item);
        if($arr[1] == $value) {
            return $arr[0];
        }
    }
    return $tvname;
});

В чанке:
{'name TV' | tvname}
Aleksandr Huz
19 июня 2018, 14:33
0
Спасибо))
Aleksandr Huz
19 июня 2018, 13:51
0
Подскажите, как разместить код по катом?
Aleksandr Huz
19 июня 2018, 12:06
0
Вы указали для каждой формы свой FormSelector?
Форма должна иметь уникальный класс, который прописан в FormSelector.
Aleksandr Huz
19 июня 2018, 10:45
+1
Укажите для каждой формы formSelector
Aleksandr Huz
15 июня 2018, 18:01
0
Попробуйте поменять событие на OnBeforeDocFormSave
Aleksandr Huz
15 июня 2018, 11:37
0
Попробуйте CustomUrls
Aleksandr Huz
13 июня 2018, 13:29
+1
Сделайте свой модификатор:
// array_chunk
$fenom->addModifier('array_chunk', function ($arr, $opt = 1) {
    if( is_array($arr) ) {
        $arr = array_chunk($arr, $opt);
    }
    return $arr;
});
И тогда можно разбить массив:
{set $newArr = $arr | array_chunk : '3'}
Aleksandr Huz
09 июня 2018, 20:13
0
Сергей, добрый день. Как получить значение группы?
Файл группы core/components/minifyx/config/groups.php:
return array(
    'lightgalleryCss' => '/assets/frontend/module/lightgallery/css/lightgallery.min.css',
    'lightgalleryJs' => '/assets/frontend/module/lightgallery/js/lightgallery.min.js'
);
В прехуке, хочу получить значение lightgalleryJs
$url = $MinifyX->getJsGroup('lightgalleryJs');
$url пустой.
Aleksandr Huz
31 мая 2018, 17:11
+2
Вам нужно написать модификатор, например вот:
$fenom->addModifier('svg', function ($input) use ($modx) {
    if( file_exists($input) ) {
        $info = new SplFileInfo($input);
        if( $info->getExtension() == 'svg' ) {
            $input = file_get_contents('./'.$input, FILE_USE_INCLUDE_PATH);
        }
    }
    return $input;
});
Aleksandr Huz
12 мая 2018, 18:15
+1
Ну, это точно не баг
Отправлю Василию pull request, посмотрим, что он скажет))
Aleksandr Huz
12 мая 2018, 14:41
3
+3
Кто знает, подскажите, почему так много запросов
Если распечатать содержимое ресурса, то можно увидеть, что к массиву добавляются все привязанные TV
{$_modx->resource | print}
Вот поэтому и разница в запросах.

можно ли что-то с этим сделать?
Можно заменить вот эту строчку:
$this->resource[$k] = $modx->resource->getTVValue($k)
на эту:
$this->resource[$k] = $v[1]
Aleksandr Huz
11 мая 2018, 12:15
+1
Попробуйте так:

1. Для начала нужно заменить эту строчку на
'priority' => $event_data['priority'] ?: 0,
2. Затем в пустой массив, что вы писали, добавить приоритет:
'priority' => -99
Aleksandr Huz
07 мая 2018, 19:31
+1
Это можно исправить так:
{$uri | replace: "index.html": ""}
или так:
{if $id == 1}{$link ~ $_modx->config.cultureKey ~ "/"}{else}{$uri}{/if}
Aleksandr Huz
07 мая 2018, 17:55
0
А если заменить $link на $uri?