We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 54941
    • 2 Posts
    Добрый день!

    Достался по наследству небольший портал (телефонный справочник) на MODX Revolution 2.7.1-pl.

    Базовый шаблон:
    [[$head]]
    [[$header]]
    [[*content]]
    [[$script]]

    На ресурсе в содержимом:
    [[!+modx.user.id:isloggedin:is=`1`:then=`[[!getStaffTableAdmin]]`:else=`[[!getStaffTable]]`]]


    проверка авторизации проходит корректно и выполняет нужный сниппет (выводит нужную таблицу из чанка в снипете), но решил сделать протоколирование в журнал в каждом снипете:
    $modx->log(1, 'run snippet getStaffTableAdmin');
    $modx->log(1, 'run snippet getStaffTable');

    соответственно

    и оказалось, что независмо от авторизации, в журнал попадает две записи, тоесть выполняются два снипета (но в итоге выполняется/выводится нужный).

    Вопрос:
    1. Я может чего не пониманию и это так и должно быть и у меня реализация неверно сделана. Всего лишь необходимо выводить одни данные анонимусам и другие авторизованным пользователям.
    2. Вопрос бы не поднимался, если бы [getStaffTableAdmin] не выполняся дольше обычного и это стало заметно всем остальным анонимусам.
    3. И простите если глупые вещи спрашиваю, недавно разбираюсь с MODX.

      • 44064
      • 185 Posts
      А попробуйте вот так, оба будут логироваться?
      Если нет, скажу почему))
       [[![[!+modx.user.id:isloggedin:is=`1`:then=`getStaffTableAdmin`:else=`getStaffTable`]]]]
        Anton Tarasov
        MODX Developer

        Email: [email protected]
        Web: antontarasov.com
        • 54941
        • 2 Posts
        Quote from: himurovi4 at Mar 14, 2019, 07:13 AM
        А попробуйте вот так, оба будут логироваться?
        Если нет, скажу почему))
         [[![[!+modx.user.id:isloggedin:is=`1`:then=`getStaffTableAdmin`:else=`getStaffTable`]]]]

        действительно, отрабатывает как надо, согласно условию только один сниппет)

        чувствую, что-то с кешем связанно...