Не видит третий и четвертый уровень условия If

Делаю страницу галерей (изображений и видео), т.к это должны быть 5 разных страниц (главная страница, страница галереи изображений, страница галереи видео, страница просмотра видео, страница просмотра конкретной галереи) то я решил попробовать сделать условия через дополнение If используя параметры GET в урле. Собственно такой код:

[[!If? &subject=`[[!getAlbum]]` &operator=`notempty` &then=`
    [[!Gallery? &checkForRequestTagVar=`1` &toPlaceholder=`Gallery` &useCss=`0` &containerTpl=`DemoGalleryAlbumTpl` &thumbWidth=`195` &thumbHeight=`140` &thumbTpl=`DemoGalItemThumb` &imageWidth=`800` &imageHeight=`800`]]
    [[+Gallery]]
` &else=`
    [[!If? &subject=`[[!getVideoUrl]]` &operator=`notempty` &then=`
        <iframe width="800" height="440" src="[[!getVideoUrl]]" frameborder="0" allowfullscreen></iframe>
    ` &else=`
        [[!If? &subject=`[[!getTypeGallery]]` &operand=`images` &then=`
            <h1>Галерея изображений</h1>
            <a href="[[!++site_url]]галерея.html">Открыть выбор галерей</a>
            [[!GalleryAlbums? &toPlaceholder=`GalleryAlbums` &limit=`0` &albumCoverSort=`rank` &prominentOnly=`0` &rowTpl=`DemoGalAlbumRowTpl` &thumbWidth=`200` &thumbHeight=`200`]]
            [[+GalleryAlbums]]
        ` &else=`
            [[!If? &subject=`[[!getTypeGallery]]` &operand=`videos` &then=`
                <h1>Галерея видео</h1>
                <a href="[[!++site_url]]галерея.html">Открыть выбор галерей</a>
                [[!getVideosAlbums]]
            ` &else=`
                <h1>Главная галерея</h1>
                [[$mainGallery]]
            `]]
        `]]
    `]]
`]]
Прошу помочь как можно скорее.
Tony
19 августа 2017, 15:49
modx.pro
1 170
-1

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

Сергей Шлоков
20 августа 2017, 11:53
+5
Даже если бы это работало, выглядит просто ужасно. Вариантов для рефакторинга много, советую посмотреть в сторону Fenom.
    Василий Наумкин
    20 августа 2017, 14:16
    +6
    Если я вижу использование сниппета IF — сразу делаю так


    Уже давным-давно в Revolution есть нормальный шаблонизатор, решающий такие вопросы быстро и безболезненно. Но нет, мы будем вызывать корявые сниппеты.
      Павел Гвоздь
      20 августа 2017, 16:08
      +1
      Плюс ко всему читаемость кода из-за этих корявых сниппетов резко падает, ровно как и производительность… Но, к сожалению, последнее время часто попадаются такие сайты, особенно когда заказчик решил сэкономить на разработчике.
        Tony
        20 августа 2017, 21:20
        0
        Запомню, спасибо
        Tony
        20 августа 2017, 21:19
        0
        Благодарю, совсем не давно начал писать на ModX, нашел первое что смог. Благодарен за совет
          Воеводский Михаил
          20 августа 2017, 21:41
          +1
          Вот чем чреват сниппет If: modx.pro/development/7162-example-fenom/#comment-50201
            Василий Наумкин
            20 августа 2017, 21:43
            +2
            Есть такая проблема, что везде одни старые мануалы, и новички начинают с неактуальных вещей.

            Мой совет — осваивай pdoTools, он позволяет делать очень много вещей (выводить меню, ресурсы, карту сайта, шаблонизатор и т.д.), а там и остальными разберёшься.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          7