テーマのtemplate.phpファイルでhook_form_FORM_ID_alter()を使用して、コマースの[カートに追加]フォームの[削除]ボタンを画像ボタンに変更しようとしています。これを行うには、次のコードを使用しています。
_function tempestra_form_views_form_commerce_cart_form_default_alter(&$form, &$form_state) {
foreach($form['edit_delete'] as $item) {
if($item['#type'] == 'submit') {
$item['#type'] = 'image_button';
$item['#src'] = base_path() . drupal_get_path('theme', 'tempestra') . '/images/search.png';
unset($item['#name']);
dpm($item);
}
}
}
_
dpm()
によって印刷された配列を見ると、すべてが正しいはずですが、イメージボタンのHTMLが印刷されていません。
前もって感謝します。
単純な間違い、あなたは変更しません$form
だけ $item
した場合
foreach($form['edit_delete'] as &$item) {
または
foreach($form['edit_delete'] as $key => $item) {
...
$form['edit_delete'][$key] = $item;
}
うまくいくはずです。
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
if (strpos($form_id, 'commerce_cart_add_to_cart_form') !== FALSE) {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Buy now'),
);
}
}