Этап 1.
Создаю дополнительной поле
Rating, присваиваю значение по умолчанию
0
Этап 2.
Создаю сниппет для вывода и голосования за документы.
<?php
$id = $modx -> documentObject['id']; // Узнаю ID текущего документа
$param = $modx->getTemplateVarOutput('Rating',$id); // Узнаю значение TV поля данного документа
$output = $param['Rating'];
$file = "assets/snippets/news_rate/rate.inc.php"; //скрипт обработки голосов
if (isset ($output)){
// Вывод кол-ва проголосовавших и формы голосования
Print ("Проголосовало: $output");
Print "<form name=\"rate\" method=\"post\" action=\"$file\" target=\"_blank\">
<input type=\"submit\" name=\"Submit\" value=\"Голосовать\">
<input name=\"action\" type=\"hidden\" id=\"action\" value=\"vote\">
<input name=\"id\" type=\"hidden\" id=\"id\" value=\"$id\">
</form>
";
}else{
echo "К данному объекту не присвоено поле рейтинга"; // Вывод текста, если данному документу не присвоен TV параметр
}
?>
Этап 3.
Скрипт обработки голосования.
<?
$Action = $action; // Получаю от формы тип действия (небольшая мера безопастности
if ($Action==1) {
$Id = $id; // Получаю текущий Ид документа
$Count = $count + 1; // Получаю кол-во проголосовавших + 1
// А Теперь работаю через класс DocAPI (http://modxcms.com/forums/index.php/topic,5823.0.html)
require_once('http://project/assets/libs/docapi/document.class.inc.php');
$doc = new Document($Id,'content');
$doc->Set('tvRating',$Count);
$doc->Save();
Print "Спасибо за голос!";
}
?>
И все не каких действий...в чем проблема??
TV поле не увеличивается на +1...
И классом нужно пользоваться строго по шаблону т.е. обязательно присутствие
$content=$doc->Get(’content’);
require_once('assets/libs/docapi/document.class.inc.php');
$doc = new Document($id,'content');
$content=$doc->Get('content');
$doc->Set('content', '<p>'.$content.'</p>');
$doc->Save();