Je suppose que la seule autre façon possible de faire ce que je pense est à prioritaire la fonction de thème que Ubercart utilise pour afficher le message. Et cela semble probablement le plus logique.
Dans ce cas, je l'emporterait sur theme_uc_cart_complete_sale
je pourrais mettre un
$_SESSION['is_special_product'] == TRUE;
puis définissez $ message à mon special_message de $ si elle a été définie.
if ($_SESSION['special_product']) {
$special_message = t('This is my special message');
$message = variable_get('special_product_message', $special_message;
}
Enfin, pour passer outre de mon module je devrai accrocher dans le crochet pré-processus:
function $modulename_prepocess_$hook(&$message) {
if ($_SESSION['special_product']) {
$special_message = t('This is my special message');
$message = variable_get('special_product_message', $special_message;
}
}
Il est important de noter que il ne suffit pas d'avoir cette fonction dans votre module. Les fonctions de prétraitement ne sont invoquées que lorsque le fichier modèle qui remplace la fonction de thème est appelé.
Plus de détails peuvent être trouvés à http://drupal.org/node/223430
Va montrer qu'il y a habituellement un moyen plus facile :-) – dkinzer