xLike не записывает в TV поле
Привет, тут трабл. Не сохраняются лайки, подскажи в чём дело пожалуйста. Все что тут, то и делал, больше нечего. Поле называет rating, всё выводится через pdoResources и $id это ID каждого выведенного ресурса. Буду благодарен! Крутое дополнение :)
Вызов:
{'!xLike' | snippet: [
'parent' => $id,
'class' => 'modResource',
'mode' => 'db',
'list' => 'default',
'likes' => $_modx->resource['likes'],
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],
]}
tpl.xLike:
{*@formatter:off*}
<{$can? 'a': 'span'}
class=«xlike__link {$value > 0? 'xlike__link_active': ''} [ {$can? 'js-xlike-button': ''} ]»
{$can? 'data-xlike-value=«1» href=«javascript:undefined;»': ''}
>
<svg version=«1.1» id=«Слой_1» xmlns=«www.w3.org/2000/svg» xmlns:xlink=«www.w3.org/1999/xlink» x=«0px» y=«0px»
width=«31px» height=«27px» viewBox=«0 0 31 27» enable-background=«new 0 0 31 27» xml:space=«preserve»>
/>
{$likes | number_format: 0: '': ' '}
</{$can? 'a': 'span'}>
Добавление в TV поле (Плагин: add-rating):
<?php
switch ($modx->event->name) {
case «xLikeOnVote»:
if ($class == 'modResource' && $list == 'default') {
if ($resource = $modx->getObject($class, array('id' => $parent))) {
$resource->setTVValue('rating', $rating);
$resource->save();
}
}
break;
}
Вызов:
{'!xLike' | snippet: [
'parent' => $id,
'class' => 'modResource',
'mode' => 'db',
'list' => 'default',
'likes' => $_modx->resource['likes'],
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],
]}
tpl.xLike:
{*@formatter:off*}
<{$can? 'a': 'span'}
class=«xlike__link {$value > 0? 'xlike__link_active': ''} [ {$can? 'js-xlike-button': ''} ]»
{$can? 'data-xlike-value=«1» href=«javascript:undefined;»': ''}
>
<svg version=«1.1» id=«Слой_1» xmlns=«www.w3.org/2000/svg» xmlns:xlink=«www.w3.org/1999/xlink» x=«0px» y=«0px»
width=«31px» height=«27px» viewBox=«0 0 31 27» enable-background=«new 0 0 31 27» xml:space=«preserve»>
/>
{$likes | number_format: 0: '': ' '}
</{$can? 'a': 'span'}>
Добавление в TV поле (Плагин: add-rating):
<?php
switch ($modx->event->name) {
case «xLikeOnVote»:
if ($class == 'modResource' && $list == 'default') {
if ($resource = $modx->getObject($class, array('id' => $parent))) {
$resource->setTVValue('rating', $rating);
$resource->save();
}
}
break;
}
Комментарии: 7
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
И смотрите что будет в журнале ошибок после того как отработает плагин.
Error caching action map mgr/actions
Артур, спасибо что помогаете! Вот структура, всё выводиться на главную страницу, с категорий РОК, ПОП и РЭП, на страницах Тест3-3, Тест2-2 и т.д. TV поле rating куда нужно записывать всё.
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],