quiz-6.0.0-alpha4/modules/quiz_directions/src/Plugin/quiz/QuizQuestion/QuizDirectionsQuestion.php

modules/quiz_directions/src/Plugin/quiz/QuizQuestion/QuizDirectionsQuestion.php
<?php

namespace Drupal\quiz_directions\Plugin\quiz\QuizQuestion;

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\quiz\Attribute\QuizQuestion as QuizQuestionAttribute;
use Drupal\quiz\Entity\QuizQuestion;
use Drupal\quiz\Entity\QuizResultAnswer;

/**
 * Quiz_directions classes.
 *
 * This module uses the question interface to define something which is
 * actually not a question.
 *
 * A Quiz Directions node is a placeholder for adding directions to a quiz. It
 * can be inserted any number of times into a quiz. Example uses may include:
 *   - Initial quiz-wide directions;
 *   - Section directions, e.g. "The next five questions are multiple choice,
 *     please..." (Won't work if the question order is randomized);
 *   - Final confirmation, e.g. "You have answered all questions. Click submit
 *     to submit this quiz.";
 */
#[QuizQuestionAttribute(
  id: 'directions',
  label: new TranslatableMarkup('Directions question'),
  handlers: ['response' => QuizDirectionsResponse::class],
)]
class QuizDirectionsQuestion extends QuizQuestion {

  /**
   * {@inheritdoc}
   */
  public function getAnsweringForm(FormStateInterface $form_state, QuizResultAnswer $quizQuestionResultAnswer): array {
    $form = parent::getAnsweringForm($form_state, $quizQuestionResultAnswer);
    $form['directions'] = [
      '#type' => 'hidden',
      '#value' => '1',
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function getMaximumScore(): int {
    return 0;
  }

  /**
   * {@inheritdoc}
   */
  public function isGraded(): bool {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function hasFeedback(): bool {
    return FALSE;
  }

  /**
   * {@inheritdoc}
   */
  public function isQuestion(): bool {
    return FALSE;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc