Евгений

Евгений

Был в сети 14 апреля 2020, 05:09
Заказы не принимаю
Василий, посоветуйте, а как православно ловить ошибки? Я использую вот такие конструкции:
<div class="form-group">
        <div class="col-sm-10 col-sm-offset-1 [[!+fi.error.name:notempty=`has-error`]]">
            <input type="text" class="form-control" name="name" id="name" value="[[!+fi.name]]" placeholder="Ваше имя">
            <div class="error error_name">[[!+fi.error.name]]</div>
        </div>
    </div>
То есть мне нужно если существует ошибка добавить класс has-error к div'у. Почему-то этого сейчас не происходит. Как это правильнее сделать?
Делаю вот так: вызываю в шаблоне pdoMenu:
[[pdoMenu?
    &parents=`5`
    &level=`4`
    &hideSubMenus=`1`
    &tpl=`menu.UL`
]]
В чанке menu.UL лежит вот такая простенькая конструкция:
<li[[+classes]]>
    [[!checkParent?
    	&id=`[[+id]]`
    	&menutitle=`[[+menutitle]]`
    ]]
</li>
И всё это хозяйство вместе вызывает ваш сниппет:
<?php
$parents = $modx->getParentIds($id);

if (in_array($modx->resource->id, $parents)) 
{
    return $modx->runSnippet('pdoMenu', array('parents' => $id));
}else {
    $url = $modx->makeUrl($id, $modx->context->key, '', $modx->getOption('link_tag_scheme', null, '-1'));
	return "<a href=\"$url\">$menutitle</a>";
}
Возвращает только первый, верхний уровень меню.