このように質問した方が簡単かもしれません - 以下のコーディング スニペットを使用して、ステータスの値が「A」の場合にのみ「変更」リンクを表示するコードをどのように記述しますか?
私はこれを必要以上に難しくしていると思いますが、私はモジュール開発を学んでいるので、drupal モジュール構造と php の両方を使用することは私を投げかけています。
以下の配列に表示されているリンクは、各行の最後に表示されます。ステータスが「A」の場合にのみ表示したい。
このリンクはこの配列内にあるため、実装する方法と場所がわかりません。次のような [if ステートメント] が必要です。
if (drupal_render($form['status'][$key]['status']) == 'A',)
echo l(t('Change'), 'rooms/avail_room/' . $key . '/' . arg(1), array('attributes' => array('class' => 'room-stat-avail'))),
else{
echo "";
}
そのため、html テーブルが表示されると、status の値が「A」の場合にのみ、「 Change 」リンクが最後の列に表示されます。
モジュールが機能しているとは信じられませんが、このリンクを必要に応じてオン/オフできません。以下のコード スニペットを参照してください。
function team_room_available_form($form) {
$output = "No space available.";
if ($form['roomid']) {
foreach (element_children($form['roomid']) as $key) {
$rows[] = array(
'data' => array(
drupal_render($form[''][$key]),
drupal_render($form['room_title'][$key]),
drupal_render($form['username'][$key]),
drupal_render($form['status'][$key]['status']),
l(t('Change'), 'rooms/avail_room/' . $key . '/' . arg(1), array('attributes' => array('class' => 'room-stat-avail'))),
),
'class' => $form['status'][$key]['#value'],
);
}