Евгений Лазарев
С нами с 06 августа 2018; Место в рейтинге пользователей: #386Может кто может помочь с запросом?
{var $conf = [
'groups' => 'buyer',
'tpl' => 'tplChatName'
'leftJoin' => '{
"View": {
"class": "TicketView",
"on": "modUserProfile.internalKey = View.uid"
},
"Thread": {
"class": "TicketThread",
"on": "View.thread = Thread.id AND Thread.name = \'chat-23\'"
},
"Comment": {
"class": "TicketComment",
"on": "Thread.id = Comment.thread AND Comment.createdon > View.timestamp AND Comment.email != modUserProfile.email"
}
}',
'select' => '{
"modUser":"modUser.id",
"modUserProfile":"modUserProfile.fullname",
"Comment": "COUNT(Comment.id) as count"
}'
]}
{$_modx->runSnippet('!pdoUsers', $conf)}
Поскажите как в данном запросе вместо chat-23 использовать что то на подобие chat-modUserProfile.internalKeyТо есть мне вместо цифры нужно подставлять текущий id пользователя запроса.
TicketComments. Сделать подписанными на ленту комментариев определенных людей
Есть вопрос такой. Сразу говорю это не блог. На modx реализован портал управления заявками. Есть пользователи 2х групп: создатели заявок и исполнители. Создатель создает заявку и назначает из группы исполнителей определенного пользователя. Использую TicketComments. То есть внутри заявки это 2 пользователя могут переписываться. Само собой понятно когда создается заявка то галка «Уведомлять о новых комментариях» стоит у того, кто создал заявку. А как принудительно поставить эту же галку исполнителю. Если захочет он потом ее снимет — но изначально чтобы она у него стояла. А то будут писать — а он не увидит.
Помогите с оптимизацией.
Задача такая. В неком главном ресурсе внутри есть блоки задач а в каждом блоке есть задача (Это все в виде ресурсов и коллекций). То есть 2х уровневая структура. У каждоый задачи есть ответственный (пользователь зарегестрированный в системе принадлежащей определенной группе).
Вывод всего этого дела простой — pdoResources и в нем pdoResources. Получается запросов к БД для вывода будет: количество блоков задач + 1.
Но еще нужно вывести select с пользователями к каждой задаче. Это получается запросов к БД будет еще: количество задач.
Список пользователей всегда одинаковы единственное но нужно в этом списке сделать checked на определенном пользователе указанном в задаче.
Можно ли как нибудь это оптимизировать без такого огромного количества запросов к БД?
Вывод всего этого дела простой — pdoResources и в нем pdoResources. Получается запросов к БД для вывода будет: количество блоков задач + 1.
Но еще нужно вывести select с пользователями к каждой задаче. Это получается запросов к БД будет еще: количество задач.
Список пользователей всегда одинаковы единственное но нужно в этом списке сделать checked на определенном пользователе указанном в задаче.
Можно ли как нибудь это оптимизировать без такого огромного количества запросов к БД?
Помогите с запросом
Добрый день. Помогите пожалуйста с запросом.
[[!pdoUsers?
&groups=`teacher`
&limit=`0`
&tpl=`tplTeachersToSelect`
&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",
"Student":"COUNT(Student.internalKey) as count"
}`
&where=`{
"UserGroup.name":"student"
}`
&sortby=`{
"count":"ASC"
}`
&showLog=`1`
]]
Суть в чем ищет пользователей группы «6» и для каждого пользователя ищет пользователей «student» для количества. НО! Если для пользователя «6» нет ни одного пользователя «student» то он его просто не выводит. А мне нужно его выводить просто как count указать 0. Помогите с fenom
Не первый раз сталкиваюсь с тем что нужно сделать проверку условия и в зависимости от этого выполнить тот или иной сниппет и при этом при конструкции написанной ниже так не получится — какая то проблема с кавычками видимо.
Но сейчас столкнулся с проблемой (работаю с профилем то есть в шаблоне а не в tpl) что создав тип пользователя в чанке я могу его вывести с помощью [[+type]] но не могу вывести с помощью fenom. Конструкции типа
Ок. Сделал так:
[[+type:is=`student`:then=``:else=``]]
Поэтому понравилась работа в fenom.Но сейчас столкнулся с проблемой (работаю с профилем то есть в шаблоне а не в tpl) что создав тип пользователя в чанке я могу его вывести с помощью [[+type]] но не могу вывести с помощью fenom. Конструкции типа
{$_modx->getPlaceholder('type')}
и {$_pls['type']}
не помогают.Ок. Сделал так:
{var $type = "[[+type]]"}
{$type}
Все ок — выводится. Нужно сделать условие к примеру{if $type in ['school','expert']}
yes
{else}
no
{/if}
Не работает правильно. Выводит нет. Хотя сам тип равен 'school'. Помогите плиз. Помогите с источником файлов в Migx
Уважаемые эксперты. Не пройдите мимо. Помогите с источником файлов.
Есть созданный и проверенный годами источник файлов «images» — images/ в корне. Все с ним супер работает.
Задача: нужно сделать вложенный migx. Делаю из админки в панели приложений. В первом уровне выводятся к примеру заголовки, во втором изображения (Сколько загрузил столько и должны выводиться). Во втором уровне изображения сделаны путем не inputType, а inputTv ссылающийся на дополнительное поле как раз с источником файлов «images»
Но при выводе всего этого хозяйства через getImageList у меня выводятся пути но не подтаскивается источник файлов.
Как быть? Что делать? Подскажите пожалуйста. Всю голову сломал.
Есть созданный и проверенный годами источник файлов «images» — images/ в корне. Все с ним супер работает.
Задача: нужно сделать вложенный migx. Делаю из админки в панели приложений. В первом уровне выводятся к примеру заголовки, во втором изображения (Сколько загрузил столько и должны выводиться). Во втором уровне изображения сделаны путем не inputType, а inputTv ссылающийся на дополнительное поле как раз с источником файлов «images»
Но при выводе всего этого хозяйства через getImageList у меня выводятся пути но не подтаскивается источник файлов.
Как быть? Что делать? Подскажите пожалуйста. Всю голову сломал.
Вопрос по запросу.
Подскажите пожалуйста кто шарит. Суть такая: нужно вывести список учителей (это юзеры с ролью teacher). У выведенного списка учителей нужно в скобочках указать количество учеников, которые им принадлежат (данный признак у учеников лежит в профиле в поле extended в поле id_teacher). Все дело уже реализовано с помощью кода:
[[!pdoUsers?
&groups=`teacher`
&limit=`0`
&tpl=`tplTeachersToSelect`
]]
А в самой tpl:[[!pdoUsers?
&tpl=`@INLINE`
&where=`{"modUserProfile.extended:LIKE":"%\"id_teacher\":\"[[+id]]\"%"}`
&setTotal=`1`
]]
<option value="[[+id]]">[[$fullname]] ([[+total]])</option>
Не работает fenom
Подскажите. Только недавно столкнулся с fenom. Есть код в начале сайте
$user_role = '';
if (!isset($_SESSION['user_role'])){
$roles = ['student','teacher'];
foreach ($roles as $role){
if ($modx->user->isMember($role)){
$_SESSION['user_role'] = $role;
$user_role = $role;
break;
}
}
} else {
$user_role = $_SESSION['user_role'];
}
$modx->setPlaceholder('user_role',$user_role);
А после этого с помощью fenom пытаюсь получить плейсхолдер и ничего не выводит — пустота{$_modx->getPlaceholder('user_role')}
Скажите в чем может быть проблема?