Solution Technologies
Управление сайтом без ограничений
{**
 * XS2:
 *
 * This file is developed by Solutecs, LLC for the purpose of the company
 * and is provided together with XS2 Framework as and inherent part of the
 * system. This file can be used on the terms of License Agreement.
 *
 * +7 (495) 585-0833 / 13 Rusakovskaya street, Moscow 107140 Russia
 *
 * @link http://www.solutecs.com
 * @copyright ©1998-2007 Solutecs, LLC
 * @version 1.XX
 *}



{**
 * Все результаты опроса находятся в массиве $r
 * $r имеет следующую структуру:
 *
 * $r = array(
 *   array(
 *     'node' => Объект XS2, представляющий вопрос,
 *     'subquestions' => array(
 *       'node' => Объект XS2, представляющий подвопрос
 *       'answers' => array(
 *         array(
 *           'node' => Объект XS2, представляющий ответ,
 *           'valueSum' => Сумма всех значений ответа. Таким образом, если это, например
 *                         вопрос с выбором, то сумма всех значений ответа равна число
 *                         выбравших этот вариант ответа человек.,
 *           'valueScore' => array(
 *             числовое значение шкалы => количество набранных этим значением голосов
 *           ),
 *           'texts' =>array(массив с развернутыми ответами)
 *         )
 *       )
 *     ),
 *     'answers' =>array(
 *       array(
 *         'node' => Объект XS2, представляющий ответ,
 *         'valueSum' => Сумма всех значений ответа. Таким образом, если это, например
 *                       вопрос с выбором, то сумма всех значений ответа равна число
 *                       выбравших этот вариант ответа человек.,
 *         'valueScore' => array(
 *           числовое значение шкалы => количество набранных этим значением голосов
 *         ),
 *         'texts' => array(массив с развернутыми ответами)
 *       )
 *     )
 *   )
 * )
 *}

<H1>{$poll.NName} - результаты</H1>

{* Вывод результатов опроса *}

<TABLE border="1">
{assign var="questionNumber" value=1}

{foreach from=$r item="question"}
  <TR>
    <TD><STRONG>{$questionNumber}. {$question.node.NName}</STRONG></TD>
    <TD colspan="2">{$question.answersQty}</TD>
  </TR>
  {if $question.node.NType == "t_question"}
    {* Если вопрос текстовый, неоходимо вывести развернутые ответы на него *}
    <TR>
      <TD colspan="3">
        Всего ответов: {$question.answers|@count}<BR/>
        {foreach from=$question.answers item="text"}
          {$text}<HR />
        {/foreach}
      </TD>
    </TR>
  {else}
    {if $question.subquestions}
      {* Если есть подвопросы *}
      {foreach from=$question.subquestions item="subquestion"}
        <TR>
          <TD colspan="3"><i>{$subquestion.node.NName}</i></TD>
        </TR>
        {foreach from=$subquestion.answers item="answer"}
          <TR>
            <TD>
              {$answer.node.NName}
              {* Если имеются развернутые ответы на этот вопрос, выведем их *}
              {if $answer.texts>0} (развернутыx ответов: {$answer.texts|@count}){/if}
              {foreach from=$answer.texts item="text"}
                {$text}<HR />
              {/foreach}
            </TD>
            <TD>
              {if $question.node.NType == "sv_question"}
                {* Если это вопрос с оценками по шкалам, выведем среднюю оценку этого ответа *}
                {$answer.averageValue}
              {else}
                {$answer.valueSum}
              {/if}
            </TD>
            <TD>
              {* Если это вопрос с выбором, выведем дополнительно процент выбравших этот вариант ответа *}
              {if $question.node.NType == "s_question" && $resultsCount>0}
                {math equation="(x*100)/y" x=$answer.valueSum+0 y=$resultsCount+0 format="%.2f"}
              {/if}
            </TD>
          </TR>
          {* Выведем сумму по каждому варианту ответа *}
          {foreach from=$answer.valueScore item="value" key="answerVariant"}
            <TR>
              <TD>{$answerVariant}</TD>
              <TD colspan="2">{$value}</TD>
            </TR>
          {/foreach}
        {/foreach}
      {/foreach}
    {else}
      {foreach from=$question.answers item="answer" key="ak"}
        <TR>
          <TD>
            {$answer.node.NName}
            {* Если имеются развернутые ответы на этот вопрос, выведем их *}
            {if $answer.texts>0} (развернутыx ответов: {$answer.texts|@count}){/if}
            {foreach from=$answer.texts item="text"}
              {$text}<HR/>
            {/foreach}
          </TD>
          <TD>
            {* Если это вопрос с оценками по шкалам, выведем среднюю оценку этого ответа *}
            {if $question.node.NType == "sv_question"}
              {$answer.averageValue}
            {else}
              {$answer.valueSum}
            {/if}
          </TD>
          <TD>
            {* Если это вопрос с выбором, выведем дополнительно процент выбравших этот вариант ответа *}
            {if $question.node.NType == "s_question" && $resultsCount>0}
              {math equation="(x*100)/y" x=$answer.valueSum+0 y=$resultsCount+0 format="%.2f"}
            {/if}
          </TD>
        </TR>
        {* Выведем сумму по каждому варианту ответа *}
        {foreach from=$answer.valueScore item="value" key="answerVariant"}
          <TR>
            <TD>{$answerVariant}</TD>
            <TD colspan="2">{$value}</TD>
          </TR>
        {/foreach}
      {/foreach}
    {/if}
  {/if}
  {assign var="questionNumber" value=$qCount+1}
{/foreach}
</TABLE>

{* /Вывод результатов опроса *}

<HR>
Всего ответивших: {$resultsCount}
Copyright ©1998-2008 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности