Thanks Marcus
Simply I want to my own question type. Admin can create type and save it. It is working. What is need, when user going go attempt my question that time user has drop down to select data and save attempt. I don't want any answers. But i want show selected data for all pages like review page with feedback.
class qtype_my_edit_form extends question_edit_form {
/**
* Add question-type specific form fields.
*
* @param object $mform the form being built.
*/
protected function definition_inner($mform) {
}
public function qtype() {
return 'my';
}
}
--------------------------------------------------------- render page--------------------------------------------------------------------------------------
class qtype_gpex365question_renderer extends qtype_renderer {
public function formulation_and_controls(question_attempt $qa,
question_display_options $options) {
$question = $qa->get_question();
$response = $qa->get_last_qt_var('answer', '');
$inputname = $qa->get_qt_field_name('answer');
}
$usersqldata ="select * from {user}";
$selectedusers = $DB->get_record_sql($usersqldata);
$selectedusers->user;
$userlist = array();
foreach($userdata as $users){
$userlist[$users->id]= $users->firstname." ".$users->lastname;
}
$radiotrue = html_writer::empty_tag('input', $trueattributes) .
html_writer::tag('label', get_string('true', 'qtype_gpex365question'),
array('for' => $trueattributes['id']));
$radiofalse = html_writer::empty_tag('input', $falseattributes) .
html_writer::tag('label', get_string('false', 'qtype_gpex365question'),
array('for' => $falseattributes['id']));
$result = '';
$result .= html_writer::tag('div', $question->format_questiontext($qa),
array('class' => 'qtext'));
$result .= html_writer::start_tag('div', array('class' => 'ablock'));
$result .= html_writer::tag('div', get_string('selectone', 'qtype_gpex365question'),
array('class' => 'prompt'));
$result .= html_writer::start_tag('div', array('class' => 'answer'));
$result .= html_writer::select($userlist,'users',$selectedusers->user);
$result .= html_writer::end_tag('div'); // Answer.
$result .= html_writer::empty_tag('input', array('name'=>'gpex365question','type'=>'hidden','value'=>'gpex365question'));
$result .= html_writer::empty_tag('input', array('name'=>'questionid','type'=>'hidden','value'=>$question->id,'id'=>'questionvalue'));
$result .= html_writer::end_tag('div'); // Ablock.
if ($qa->get_state() == question_state::$invalid) {
$result .= html_writer::nonempty_tag('div',
$question->get_validation_error($responsearray),
array('class' => 'validationerror'));
}
return $result;
}
One thing more : I just want to concept.