Сниппет - проверка файла на существование
        Создал сниппет FileExists
выводит — images/4.jpg файла нет
если же я ручками прописываю $pid = '4';
то выводит — images/4.jpg файл есть
Что за волшебство такое? Непонятненько… Подскажите, в чем проблема?
    
    
                                                                                
            $pid = '[[*parent]]';                      //получаем id родителя (допустим 4)
$path = 'images/'.$pid.'.jpg';       //подставляем id родителя в путь (получается images/4.jpg)
if (file_exists($path)) {              
    echo $path. 'файл есть';
} else {
    echo $path. 'файла нет';
}вызываю сниппет на странице [[!FileExists]]выводит — images/4.jpg файла нет
если же я ручками прописываю $pid = '4';
то выводит — images/4.jpg файл есть
Что за волшебство такое? Непонятненько… Подскажите, в чем проблема?
Комментарии: 11
$pid = '[[*parent]]';Здесь всегда будет пусто, потому что теги внутри сниппета не работают.Нужно так:
if (empty($pid)) {
	$pid = $modx->resource->parent;
}            
                Василий, большое спасибо за столь оперативный ответ! Теперь всё работает, как надо. Спасибо еще раз)            
                    
                Добрый день! А как быть если я вызываю снимет внутри другого, например pdoMenu, и мне нужно получить id пункта меню и его обработать в своем сниппете?
например:
                    например:
[[pdoMenu?
&tpl=`@INLINE [[mySnippet?&id=`[[+id]]`]] .... `а внутри mySnippet мне нужно получить id пункта            
                Нужно вынести в чанк, в inline не будет работать.            
                    
                Я уже с устоявшейся периодичностью кидаю одну и ту же ссылку на документацию. Почему их никто не читает? Буквально два коммента назад писал.
П.С. Заметил, что у нас появился злой бот по имени Slava, который всем тупо минусы ставит. Вот и Андрея он не взлюбил. У меня ни одного коммента не пропускает. Какие-то проблемы у парня. Даже не знаю, чем ему помочь. Может побольше комментов писать, чтобы он душу отводил ставя минусы?
                    П.С. Заметил, что у нас появился злой бот по имени Slava, который всем тупо минусы ставит. Вот и Андрея он не взлюбил. У меня ни одного коммента не пропускает. Какие-то проблемы у парня. Даже не знаю, чем ему помочь. Может побольше комментов писать, чтобы он душу отводил ставя минусы?
                Он уже некоторое время у меня на карандаше.
Пока просто обнулил все отрицательные оценки, будет продолжать — отключу.
                    Пока просто обнулил все отрицательные оценки, будет продолжать — отключу.
                Я бы на его месте занялся саморазвитием. Поднимать самооценку делая гадости другим деструктивно действует на личность. В этом плане религия усиливает нравственный фундамент человека, раз уж государство сняло с себя обязательство по воспитанию детей. Я сейчас не про церковь говорю.            
                    
                Меня он тоже не любит, минусит =)))            
                    
                Спасибо!            
                    
                на всякий случай выложу готовый сниппет здесь, вдруг кому пригодится:
При этом не нужно создавать дополнительную ТV, и указывать её значение для каждого документа.
Достаточно закинуть все нужные файлы в папку i/pdf/
предварительно переименовав их, например, в 2-doc1.pdf, 2-doc2.pdf, 10-doc1.pdf, что легко делается через ТоталКоммандер.
                    <?php
$pid = $modx->resource->parent;
$childname= $modx->resource->pagetitle;
$path = 'i/pdf/'.$pid.'-'.$childname.'.pdf';
if (file_exists($path)) {
    echo '<a href="'.$path.'" class="download" title="Скачать PDF '.$childname.'">Скачать PDF-каталог '.$childname.'</a>';
}Пригодится он для того, чтобы можно было выводить ссылку на файл, прикрепленный к документу, если он(файл) существует.При этом не нужно создавать дополнительную ТV, и указывать её значение для каждого документа.
Достаточно закинуть все нужные файлы в папку i/pdf/
предварительно переименовав их, например, в 2-doc1.pdf, 2-doc2.pdf, 10-doc1.pdf, что легко делается через ТоталКоммандер.
                Смешивать в одном месте php и html неправильно. Подумай как сделать разделить логику и отображение. Используй шаблонизатор.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.