私は次の構造を作成しました。学生がif構造でオプションAを選択した場合、ウィザードの次のステップは医学ドメインAでのインターンシップですが、学校が別の医学ドメインBを作成した場合はどうなりますか。この構造では、学生にはインターンシップドメインAのみが表示され、医学領域aおよびb。私は自分の分類法とともに成長する構造を探しています(医学ドメインaとbを示し、学校が5か月後に医学ドメインcを作成した場合、最後のドメインcも学生が見る必要があります)。したがって、学生が彼よりも医学を選択した場合私のif構造で定義されている$ internshipドメインaだけでなく、すべての医療ドメイン(医療ドメインaおよびbなど)を取得します。ひどい英語で説明されているので、私の問題を理解していただければ幸いです。
ここにコードを入力してくださいケース2:
// Taxonomy list: 'valid type of internship'.
$valueInternship = $_SESSION['gekozenOpleiding'];
//var_dump($valueInternship);
if($valueInternship == 1) { // Stagedomein a
$internship = 10;
}
if($valueInternship == 2) { // Stagedomein b
$internship = 11;
}
if($valueInternship == 3) { // Stagedomein c
$internship = 13;
}
if($valueInternship == 4) { // Stagedomein d
$internship = 12;
}
if($valueInternship == 5) { // Stagedomein e
$internship = 14;
}
$dropdown_source_geldig_soort_stage = taxonomy_get_tree($internship);
$dropdown_array_geldig_soort_stage = array();
foreach ($dropdown_source_geldig_soort_stage as $item) {
$key = $item->tid;
$value = $item->name;
$dropdown_array_geldig_soort_stage[$key] = $value;
}
$form['geldig_soort_stage'] = array(
'#key_type' => 'associative',
'#multiple_toggle' => '1',
'#type' => 'checkboxes',
'#options' => $dropdown_array_geldig_soort_stage,
'#title' => 'Welk geldig soort stage',
'#multicolumn' => array('width' => 4,
'#default_value' => isset($default_value['geldig_soort_stage']) ?
$default_value['geldig_soort_stage'] : '',
),
);
break;
これは非常に頻繁な問題です。 Drupalには簡単な解決策があります。これは コンテキストモジュール と呼ばれます。
コンテキストモジュールを使用すると、Webサイト全体で用語に基づいた情報のみを表示できます。または、ユーザーロールに基づいた情報のみを表示します。したがって、教師は、インターンシップに基づいて異なるビューを持つ学生とは異なるビューをブロックに表示します。
コンテキストモジュールを使用すると、スタックすることもできます。 A、B、C、Dのコンテキストを持つことができます。page.tpl.phpの右側のブロック領域に、選択した分類用語に基づいて4つの異なるブロックが表示されます。学生が用語AとBを選択した場合、同時にaとbのショーのViewsブロックがあります。または、用語A、B、およびCを持つことができます。用語Aが1ブロックを示し、用語Bが1ブロックを示す場合、AおよびBには2つのサイドバーブロックが表示されます。インターンシップCがはるかに複雑で、5ブロックの情報が必要な場合、用語A、B、Cの学生は1ページに7ブロックあります。