Условие внутри сниппета на Fenom

Подскажите как использовать условия в сниппете?? Вот так не работает:
{'MinifyX' | snippet : [
    'minifyCss' => 1,
	'minifyJs' => 1,
	'registerJs' => 'default',
	'registerCss' => 'default',
	'jsSources' => '
	    //code-ru1.jivosite.com/widget.js,
		/js/jquery.js,
	'
	'cssSources' => '
		/css/all.css,
		/css/icon.css,
		
		{if $_modx->resource.id == 1}
		/css/cat.css,
		/css/main.css,{/if}
		
		{if $_modx->user.id == 12}{if $_modx->resource.id == 21}/css/cart.css,{/if}{else}{if $_modx->resource.id == 21}/css/cart.css, /css/icon.css{/if}
	'
]}
Maxim
26 октября 2020, 17:44
modx.pro
922
0

Комментарии: 5

Руслан Алеев
26 октября 2020, 20:19
+2
Можно условие прописать выше сниппета, и передавать значение в переменную, а эту переменную уже использовать в сниппете. Например:
{if $_modx->resource.id == 1}
    {var $cssFiles = '/css/all.css, /css/icon.css, /css/cat.css, /css/main.css'}
{else}
    {var $cssFiles = '/css/all.css, /css/icon.css'}
{/if}

{'MinifyX' | snippet : [
    ...
    'cssSources' => $cssFiles,
    ...
]}
А вот условие внутри вызова сниппета не думаю, что сработает.
    Maxim
    27 октября 2020, 01:18
    0
    Спасибо, работает)
    Ivan
    27 октября 2020, 00:04
    +1
    Скорее всего еще можно использовать тернарные операции типа того
    'cssSources' => ($_modx->resource.id == 1 ? '/css/all.css, /css/icon.css, /css/cat.css, /css/main.css' : '/css/all.css, /css/icon.css')
      Maxim
      27 октября 2020, 01:18
      0
      Спасибо!
      Ярослав
      27 октября 2020, 10:08
      0
      FENOM рулит
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5