РЕДАКТИРОВАТЬ: Похоже, моих навыков "сканирования массивов" было недостаточно, спасибо за предложения.Более того, я обнаружил, что проверял условие $ discounttype с простым "=" вместо двойного "==".Полагаю, что удар по голове на один и тот же блок кода в течение 3 часов делает вас глупым и упускает самые очевидные ошибки.
Первым делом я на Drupal 6.
Я создалформа со следующей разметкой:
$form["cart_".$index] = array(
'#type' => 'image_button',
'#src'=> 'files/imghome/sidebar-add-demo.gif',
'#attributes' => array('rel' => '#item', 'class' => 'buybutton', 'title' => $discounttype),
'#prefix'=>'<p class="renewprop">'.$newren.' for '.$node_abb->field_tipo_abb_value.':</p><p class="renewblock"><span class="pricetag">'.$node_abb->field_prezzo_value.''.$discounttype.'</span>',
'#suffix' =>'</p>' ,
'#submit' =>array('usercp_form_submit'),
);
Форма отображается правильно, как вы можете видеть на этом рисунке: http://cl.ly/3D2C2h1t1m2B351L1T31 (значения N и R рядом с символом € на самом деле являются значениямипеременная $ discounttype, просто для ее проверки)
Каждый белый прямоугольник в основном является экземпляром вышеупомянутой формы.
Мне нужно передавать значение переменной $ discounttype при каждой отправке, поэтому я решил установить ее в качестве заголовка кнопки отправки.
Моя проблема в том, что в самой функции отправкиЯ не могу получить доступ к значению атрибута title, содержащегося в массиве #attributes.Главным образом потому, что, вероятно, я не знаю правильный синтаксис.
Пока я пробовал
$foo = $form_values['attributes']['title'];
$foo = $form_values['#attributes']['title'];
$foo = $form_values['attributes']['#title'];
И любую другую возможную комбинацию, но, вероятно, я просто делаю это неправильно.Это действительно час, когда я ползу по сети в поисках ответа, но я придумал что-нибудь.