Hallo,
ich habe mir für ein Webprojekt BE-Module in einem Bundle erstellt.
Es sind drei Models
tl_medical_category.php » hier werden die Medizinischen Bereiche gepflegt
tl_medical_doctor.php » hier wird der Arzt angelegt und aus tl_medical_category wird der Medizinische Bereich mit als 'select' zur Auswahl angeboten
tl_medical_oncall.php » hier wird ein Bereitschaftsdienst erstellt und aus tl_medical_doctor in drei Rubriken kann jeweils der Arzt ausgewählt werden
Nun möchte ich in der im tl_medical_oncall.php aber jeweils nur die Ärzte je bestimmter Bereiche zur Auswahl haben.
PHP-Code:
'oncall_doctor' => array(
'inputType' => 'select',
'exclude' => true,
'options_callback' => function () {
$options = array();
$data = \Database::getInstance()->execute("SELECT id,doc_name,doc_category FROM tl_medical_doctor");
while ($data->next())
{
$options[$data->id] = $data->doc_name;
}
return $options;
},
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w33 clr', 'includeBlankOption' => true),
'sql' => ['type' => 'string', 'length' => 255, 'fixed' => true, 'default' => '']
),
'oncall_dentist' => array(
'inputType' => 'select',
'exclude' => true,
'options_callback' => function () {
$options = array();
$data = \Database::getInstance()->execute("SELECT id,doc_name FROM tl_medical_doctor");
while ($data->next())
{
$options[$data->id] = $data->doc_name;
}
return $options;
},
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w33', 'includeBlankOption' => true),
'sql' => ['type' => 'string', 'length' => 255, 'fixed' => true, 'default' => '']
),
'oncall_vet' => array(
'inputType' => 'select',
'exclude' => true,
'options_callback' => function () {
$options = array();
$data = \Database::getInstance()->execute("SELECT id,doc_name FROM tl_medical_doctor");
while ($data->next())
{
$options[$data->id] = $data->doc_name;
}
return $options;
},
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w33', 'includeBlankOption' => true),
'sql' => ['type' => 'string', 'length' => 255, 'fixed' => true, 'default' => '']
),
» in oncall_doctor sollen als Option nur die Ärzte mit dem medizinischen Bereich 'Praktischer Arzt haben
» in oncall_dentist sollen als Option nur die Ärzte mit dem medizinischen Bereich 'Zahnarzt' haben
» in oncall_vet sollen als Option nur die Ärzte mit dem medizinischen Bereich 'Tierarzt' haben
Zur Zeit stehen jeweils immer alle zur Auswahl.
wochenenddienst.png
Ich möchte jedoch unter 'Praktischer Arzt', 'Zahnarzt' und 'Tierarzt' jeweils nur jene Ärzte zur Auswahl erhalten, denen dieser medizinische Bereich in tl_medical_doctor zugeordnet wurde.
Ist es möglich in den 'options_callback' auf jeweils nur einen vorgegebenen Wert einer Tabelle zuzugreifen?
Kann mir hier jemand weiterhelfen? Oder kennt jemand eine Erweiterung, die Ähnliches macht und ich dort abgucken kann?
vielen Dank schon mal
Lesezeichen