Виталий Серый

Виталий Серый

Был в сети 16 ноября 2021, 22:01
Заказы не принимаю
Условие можно вынести за пределы сниппета.
{set $tpl = '@INLINE <option value="{$id}">{$pagetitle}</option>'}
{if $id==$from}
	{set $tpl = '@INLINE <option selected="selected" value="{$id}">{$pagetitle}</option>'}
{/if}

{$_modx->runSnippet('!pdoResources', [
      'parents'=>$_modx->config.cities,
      'sortby'=>'menuindex',
      'sortdir'=>'ASC',
      'limit'=>0,
      'tpl'=>$tpl
])}
Ну а условие изначально не видно скорее всего из-за кавычек.
<?php
switch ($modx->event->name) {
   case 'OnBeforeUserFormSave':
      if(!preg_match('/^[A-Za-z0-9_-]+$/', $user->username))
      {
         $modx->event->output('Пожалуйста, используйте для имени пользователя только латинские буквы, цифры, знаки тире и подчеркивание.');
      }
   break;
Интересно, спасибо.
Версионность сайта реализована только за счет Vrmedia и соответственно любые правки только через него?
Логика работы через OnPageNotFound подобна той, что была описана Ильей Ершовым на минской встрече, это связано с оставшимися таблицами от старого сайта?
Фронтовая админка круто получилась, были ли какие-то сложности при реализации или они были решены при создании Office?
Например, такой базовый шаблон:
<!DOCTYPE html>
<html lang="en">
	<head>
		[[$Head]]
	</head>
	<body>
    		{block 'navbar'}
    			[[$Navbar]]
    		{/block}
		{block 'content'}
			[[$Content]]
		{/block}
		{block 'footer'}
        		[[$Footer]]
		{/block}
	</body>
</html>

В Head или Navbar прописать:
{set $cult = $_modx->config.cultureKey}
{set $parent = [
    "ru" => "3",
    "en" => "12",
    "fr" => "21",
    "de" => "30",
    "jp" => "39",
    "sg" => "48",
    "tk" => "57",
]}

А в Content и Footer уже использовать:
{$_modx->runSnippet('pdoResources',[
        'parents' => $parent.$cult
	'tpl' => 'tpl.incontent.row'
])}

-------------------------------------------------

{$_modx->runSnippet('pdoResources',[
        'parents' => $parent.$cult
	'tpl' => 'tpl.infooter.row'
])}

Однако, стоит проверить детальнее на практике. В теории должно работать.
Кому надо, тот во всю пользуется)
Если еще поизвращаться, то можно вынести присваивание в какой-нибудь глобальный чанк. Тогда переменными можно оперировать везде где вздумается и править только в одном месте придется, если понадобится.