Реализация статистики в каждой ноде

Главные вкладки

Аватар пользователя Bezlepkin Bezlepkin 28 июля 2014 в 0:53

Привет! Подскажите, как реализовать!

Создаем допустим 10 нод телеканалов, к каждому каналу надо сделать рейтинг по возрасту, соц.положению и так далее...

Вывести как, вроде бы понял, с помощью charts

Но не очень понимаю как charts передать параметры, то есть как организовать поля CCK.

Подкиньте идейку!

Комментарии

Аватар пользователя Stroitel Stroitel 29 июля 2014 в 15:13

Кусок шаблона (node--voting.tpl.php для типа материла 'Voting')
Названия полей ноды Yes No Abstain Own (при необходимости для вывода их на графике на разных языках - делаем их перевод, если сайт одноязычный - то можно упростить немного код, например t('Yes') заменить на единственный вариант, который будет отображаться в ноде)

Специально оставил разные варианты графиков - гугл об этом более подробно и с примерами расскажет (один из линков постом выше Дашива привёл).
Результат можно тут посмотреть http://savt.com.ua/ibisr/weapon Причем эта страница мультиязычная.

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
['Answer', '', { role: 'style' }],
          <?php print "['" . t('Yes') . "'," . render($content['field_yes']['#items']['0']['value']) . ", 'limegreen']," ;?>
          <?php print "['" . t('No') . "'," . render($content['field_no']['#items']['0']['value']) . ", 'tomato']," ;?>
          <?php print "['" . t('Abstain') . "'," . render($content['field_abstain']['#items']['0']['value']) . ", 'silver']," ;?>
          <?php print "['" . t('Own') . "'," . render($content['field_own']['#items']['0']['value']) . ", 'plum']," ;?>
        ]);

        var options = {
tooltip: { trigger: 'none' },
legend: {position: 'none'},
vAxis: {textStyle: {color: 'none'}},
titleTextStyle: {fontSize: '16', fontName: 'Verdana'},
title: '<?php print $title; ?>'
//vAxis: {format: '#,###%', textStyle: {color: 'blue'}},
//          hAxis: {title: 'Year', titleTextStyle: {color: 'red'}},
//          is3D: true,
        };

//var chart = new google.visualization.PieChart(document.getElementById('piechart'));
//var chart = new google.visualization.Histogram(document.getElementById('chart_div'));
  var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>