Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
22 марта 2019, 19:04
0
Если написано «плагин», значит надо создать именно плагин ).
Вот рабочий:
<?php
if($modx->event->name == 'xLikeOnVote'){
    $tvid = 5; //тут вместо 5 - ID TV "like" 
    $tvo = $modx->getObject('modTemplateVarResource', array('tmplvarid' => $tvid, 'contentid' => $parent
    ));
    if($tvo){
        $tvo->set('value', $rating);
    }else{
        $tvo = $modx->newObject('modTemplateVarResource', array(
            'tmplvarid' => $tvid,
            'contentid' => $parent,
            'value' => $rating
        ));
    }
    $tvo->save();
}

Обратите внимание на комментарий на третьей строке — там нужно поставить ID Вашей TV.
Ну и на вкладке «Системные события» не забудьте отметить флажок xLikeOnVote
22 марта 2019, 18:27
0
Можете xLike поставить — он тоже умеет в TV писать (в конце пример плагина).
22 марта 2019, 18:05
0
Э… а Вы TV с шаблоном тикетов вообще связали?
22 марта 2019, 17:41
0
Кликните по «Предложения».
Справа откроется редактор, внизу будет таблица с тикетами и там Правый клик » Изменить:


Там вкладка Дополнительные поля (TV), на которой будет like:


И почитайте документацию — там много интересного )).
22 марта 2019, 17:30
0
Они никак не связаны. У Вас что в TV-шках? Проверили, значения там прописаны?

Я просто создал TV like и вбил туда 1 и 2, которые для теста вывожу рядом с заголовком:
22 марта 2019, 17:17
0
А что там показывать — он такой как я выше написал:


Вывод, если направление ASC:


Вывод, если DESC:


В запросе сортировка есть:
22 марта 2019, 16:59
0
Проверил у себя, все работает.
Если дадите доступ в админку (почта в профиле), гляну.
22 марта 2019, 16:40
0
Это вообще не важно.
22 марта 2019, 16:37
0
Число или текст.
22 марта 2019, 16:35
0
Если сделали его скрытым, то откройте, зайдите в редактор тикета и проверьте ).
22 марта 2019, 16:27
0
TV like уже было или только сейчас сделали?
Значение туда пишется только в момент лайка и если создали только сейчас, то в них ничего нет.
Соответственно, нужно либо прописать текущие значения рейтинга, либо «пролайкать» заново.
22 марта 2019, 16:16
0
Судя по документации ничего не нужно — getTickets работает на pdoTols и там должны быть доступны стандартные методы.
[[getTickets?
$includeTVs=`rating`
&sortby=`{ "rating":"ASC" }`
......
]]

Естественно, вместо «rating» имя Вашей TV.
22 марта 2019, 15:55
0
Если используете LikeDislike, то можете рейтинг писать в TV и по нему уже сортировать.
20 марта 2019, 15:03
+1
Попробуйте VirtualPage.
18 марта 2019, 09:44
0
Добавление: ms2form.
Вывод по createdby текущего пользователя.
14 марта 2019, 11:02
1
+1
Сделайте на основе сниппета shk_fihook.
Ну и документацию посмотрите.
10 марта 2019, 20:05
+1
Добавьте параметр emailFrom с ящиком, соответствующим домену сайта:

&emailFrom=`info@домен_сайта.ru`