Как в TicketLatest (посл тикет) вывести [[+stars]]
        Как в TicketLatest (последние тикеты) вывести плэйсхолдер [[+stars]], как в сниппете TicketMeta?
Задача просто в шаблон вывода последних тикетов добавить кол-во просмотров и кол-во звезд (подписчиков).
Спасибо!
    
    
                                                                                
            Задача просто в шаблон вывода последних тикетов добавить кол-во просмотров и кол-во звезд (подписчиков).
Спасибо!
Комментарии: 14
                Сам разобрался, это работает [[+section.properties.ratings.star_ticket]]
Может быть есть еще более изящные варианты?
                    Может быть есть еще более изящные варианты?
                Нет. Не то я вывел себе =)
Видимо не подкючена таблица tickets_stars. Как это сделать?
                    Видимо не подкючена таблица tickets_stars. Как это сделать?
                Никто не знает?            
                    
                Надо присоединить таблицу звёздочек и посчитать их количество у каждого тикета. По-моему, как-то так, но надо смотреть showLog и править, если что не так…
                    [[!TicketLatest?
  ...
  &leftJoin=`{
    "Star":{ "class":"TicketStar", "on":"Star.id = Ticket.id AND Star.class = 'Ticket'" }
  }`
  &select=`{
    "Star": "COUNT(*) as stars"
  }`
]]            
                Илья, спасибо большое)
Чуток подправил, вышло так, работает:
                    Чуток подправил, вышло так, работает:
[[!TicketLatest?
    &limit=`5`
    &fastMode=`1`
    &action=`tickets`
    &tpl=`TPL.cp.Tickets.ticket.latest`
    &leftJoin=`{
        "Star":{ "class":"TicketStar", "on":"Star.id = Ticket.id AND Star.class = 'Ticket'" }
    }`
    &select=`{
        "Star": "owner as stars"
    }`
]]            
                Не, так неправильно — это он выведет id одного из пользователей, добавивших тикет в избранное. Нужен именно COUNT. Попробуй так
                    &select=`{
        "Star": "COUNT(id) as stars"
    }`            
                В самом сниппете getTickets вот так прописано
                    &select=`{
        "Star": "COUNT(Star.id) as stars"
    }`            
                Вот блин. Смотрю в таблицу yadi.sk/i/2cNGDRjjo7Joc
Вижу нужные значения, у двух тикетов по одной звезде, у остальных по нулю, еще думаю, почему это поле странно называется так владельцем… =))) Совпадение.
Еще раз спасибо!
                    Вижу нужные значения, у двух тикетов по одной звезде, у остальных по нулю, еще думаю, почему это поле странно называется так владельцем… =))) Совпадение.
Еще раз спасибо!
                Хах… я тоже тупанул)))
Пользователь — это createdby, вроде, а owner — это id тикета. Значит JOIN надо так писать:
                    Пользователь — это createdby, вроде, а owner — это id тикета. Значит JOIN надо так писать:
[[!TicketLatest?
    &limit=`5`
    &fastMode=`1`
    &action=`tickets`
    &tpl=`TPL.cp.Tickets.ticket.latest`
    &leftJoin=`{
        "Star":{ "class":"TicketStar", "on":"Star.owner = Ticket.id AND Star.class = 'Ticket'" }
    }`
    &select=`{
        "Star": "COUNT(Star.id) as stars"
    }`
]]            
                Так. Стоп)
Сейчас по нулям.
owner всё же не id тикета =)
Что же это за owner?
Сейчас разберусь…
В общем столбец OWNER в таблице звёзд — это точно не ID тикета.
Это что-то с автором связано.
createdBy — это ID modUser.
А вот столбец ID (первый) — это и есть ID тикета
Так что окончательный вариант, рабочий:
                    Сейчас по нулям.
owner всё же не id тикета =)
Что же это за owner?
Сейчас разберусь…
В общем столбец OWNER в таблице звёзд — это точно не ID тикета.
Это что-то с автором связано.
createdBy — это ID modUser.
А вот столбец ID (первый) — это и есть ID тикета
Так что окончательный вариант, рабочий:
[[!TicketLatest?
    &limit=`5`
    &fastMode=`1`
    &action=`tickets`
    &tpl=`TPL.cp.Tickets.ticket.latest`
    &leftJoin=`{
        "Star":{
            "class":"TicketStar",
            "on":"Star.id = Ticket.id AND Star.class = 'Ticket'"
        }
    }`
    &select=`{
        "Star": "COUNT(Star.id) as stars"
    }`
]]            
                Дам-с =)))            
                    
                Последний общий вопрос.
Где вообще смотреть классы? =)
Вот откуда ты узнал, что таблице звёзд — это класс TicketStar?
Где-то в исходниках?
                    Где вообще смотреть классы? =)
Вот откуда ты узнал, что таблице звёзд — это класс TicketStar?
Где-то в исходниках?
                Вообще этот класс я в тикеты добавлял bezumkin.ru/sections/components/2951/
А так, да, классы в исходниках надо смотреть. Я на гитхабе обычно смотрю — там удобно по папкам лазить
                    А так, да, классы в исходниках надо смотреть. Я на гитхабе обычно смотрю — там удобно по папкам лазить
                Спасибо)            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.