Евгений Лазарев

Евгений Лазарев

С нами с 06 августа 2018; Место в рейтинге пользователей: #417
Евгений Лазарев
06 сентября 2018, 14:39
0
Я бы выбрал minishop2
Евгений Лазарев
04 сентября 2018, 17:06
0
Решил. Если кому надо то ловите:
[[!pdoUsers?
                    &groups=`teacher`
                    &limit=`0`
                    &tpl=`@INLINE [[+id]] - [[+fullname]] ([[+count]])`
                    &innerJoin=`{
                        "Student":{
                            "class":"modUserProfile",
                            "on":"Student.extended LIKE CONCAT('%\"id_teacher\":\"',modUser.id,'\"%')"
                        },
                        "UserGroupMember": {
                            "class": "modUserGroupMember",
                            "on": "Student.internalKey = UserGroupMember.member"
                        },
                        "UserGroup": {
                            "class": "modUserGroup",
                            "on": "UserGroupMember.user_group = UserGroup.id"
                        }
                    }`
                    &select=`{
                        "modUser": "id",
                        "modUserProfile": "fullname",
                        "Student":"COUNT(Student.internalKey) as count"
                    }`
                    &where=`{
                        "UserGroup.name":"student"
                    }`
                    &sortby=`{ 
                        "count":"ASC"
                    }`
                    &showLog=`1`
                ]]
Евгений Лазарев
24 августа 2018, 13:13
0
Спасибо большое за помощь.
Евгений Лазарев
24 августа 2018, 12:20
0
Допустим. Но тогда получается заводить еще один параметр. К примеру работать с ним с помощью switch case в зависимости от шаблона. Так то можно, но это +1 переменная и +1условие. Когда в принципе условием уже является выбор шаблона. Вариант рабочий, но усложненный на мой взгляд.
Евгений Лазарев
24 августа 2018, 12:17
0
Супер. Вот это уже точно помогло!
Евгений Лазарев
24 августа 2018, 12:11
0
Спасибо. Но опять не подходит. Сниппет который отдельно у меня написан он в каждом шаблоне почти. Потому что в зависимости от роли пользователя будет выводиться различный контент, ну а соответственно вызываться различные сниппеты или одинаковые сниппеты с разными параметрами. Это все чтобы не плодить шаблоны которых и так не мало. А тут в таком варианте еще и сниппеты(одноразовые) плодить.
Евгений Лазарев
24 августа 2018, 12:03
0
Ну так то оно так. Но я записываю просто его в сессию. Чтобы лишний раз к БД не обращаться. И после этого создаю плейсхолдер. А так к примеру допустим у меня 3 пользователя. Мне придется 3 условия писать isMember. И опять же это 3 обращения каждый раз.
Евгений Лазарев
24 августа 2018, 11:56
0
Спасибо большое. Но к сожалению fenom пока еще не работает. Есть варианты почему не показывается плейсхолдер?
Евгений Лазарев
24 августа 2018, 11:51
0
Спасибо. Подход очень хороший. Я бы скорее всего переменные для снипетов не создавал — лишняя память. Хотя возможно я не прав. А по поводу выполнения частей не в курсе? Оба куска условия выполняются или только один, который истина?
Евгений Лазарев
24 августа 2018, 11:41
0
Нет тоже не работает. А шпаргалку — да, видел уже. Мне понравилось. После нее можно сказать и начал изучать пароль.
Евгений Лазарев
24 августа 2018, 11:33
0
Хорошо. Это конечно не принципиально, но все равно вопрос не решен. Я начал это делать через fenom по одной простой причине. Не могу выполнить условие с помощью phx.
[[+user_role:is=`student`:then=`
                [[!getImageList?
                	&tvname=`migx_contact`
                	&tpl=`tplContact`
                	&wrapperTpl=`@CODE:<div id="contacts" class="flx">[[+output]]</div>`
                	&where=`{ "title:!=":"", "phone:!=":"", "email:!=":"" }`
                ]]
                <h2 class="h1">Преподаватели</h2>
                [[!pdoUsers?
                    &groups=`teacher`
                    &tpl=`tplTeachers`
                    &tplWrapper=`@INLINE <div id="teachers">[[+output]]</div>`
                ]]
            `:else=`
                 [[!pdoUsers?
                    &groups=`student`
                    &tpl=`tplStudent`
                    &tplWrapper=`@INLINE <div id="student">[[+output]]</div>`
                ]]
            `]]
Ну и в результате непонятных мне причин то ли изза кавычек типа (`) не выполняются снипеты. Я конечно понимаю что можно создать чанки и в них уже написать то что содержится в then и в else, но на мой взгляд это глупо делать ради 3х строчек кода. Есть ли решение по этому поводу?
И еще вопрос как я понял, если представить, что этот код работоспособен то на сколько я знаю выполняются оба кода и в then и в else но потом выбирается и выводится из них который правильный. Так ли это? И при использовании fenom такого не происходит?
Евгений Лазарев
24 августа 2018, 11:05
0
Тоже ничего.
Евгений Лазарев
23 августа 2018, 19:31
0
Ну если напишу [[+user_role]] то да.
Евгений Лазарев
06 августа 2018, 18:48
0
Добрый день. Требуется помощь. Не могу правильно настроить фильтрацию по полю в extended для сниппета pdoUsers. Знаю что уже создавались темы на этом сайте и что есть решения, но по какому то случаю они у меня убедительно не действуют. Мне нужно грубо говоря получить количество учеников у которых определенной учитель. Заранее спасибо.

Вот мой код:
[[!pdoUsers?
    &groups=`student`
    &where=`{"modUserProfile.extended.id_teacher":16}`
    &setTotal=`1`
]]