Два способа заменить сообщение о завершении заказа на свой .tpl.php файл.
Способ 1
Будет работать только из своего модуля.
MODULENAME.module:
/**
* Implements hook_theme().
*/
function MODULENAME_theme() {
return array(
'commerce_checkout_completion_message' => array(
'template' => 'commerce-checkout-completion-message',
'variables' => array(
'order' => NULL,
),
),
);
}
/**
* Implements hook_commerce_checkout_pane_info_alter().
*/
function MODULENAME_commerce_checkout_pane_info_alter(&$checkout_panes) {
$checkout_panes['checkout_completion_message']['callbacks']['checkout_form'] = 'MODULENAME_completion_message_callback';
}
/**
* Checkout complete message callback.
*/
function MODULENAME_completion_message_callback($form, &$form_state, $checkout_pane, $order) {
return array(
'message' => array(
'#theme' => 'commerce_checkout_completion_message',
'#order' => $order,
),
);
}
commerce-checkout-completion-message.tpl.php:
Order #<?php echo $order->order_id; ?> completed.
Способ 2
Будет работать и из модуля и из темы.
template.php:
/**
* Implements hook_theme().
*/
function THEMENAME_theme() {
return array(
'commerce_checkout_completion_message' => array(
'template' => 'templates/commerce-checkout-completion-message',
'variables' => array(
'order' => NULL,
'message' => NULL,
),
),
);
}
/**
* Implements hook_form_FORM_ID_alter(): commerce_checkout_form_complete.
*/
function THEMENAME_form_commerce_checkout_form_complete_alter(&$form, &$form_state) {
$form['checkout_completion_message']['message'] = array(
'#theme' => 'commerce_checkout_completion_message',
'#order' => $form_state['order'],
'#message' => $form['checkout_completion_message']['message']['#markup'],
);
}
templates/commerce-checkout-completion-message.tpl.php:
<?php echo $message; ?>
Написанное актуально для
Commerce 1
Похожие записи
Добавить комментарий