Tout d'abord, désolé si cette réponse est couverte ailleurs. J'ai fait beaucoup de recherches et je ne trouve que des informations sur les fonctions de thème et les crochets.
J'utilise un module qui construit une table de prix pour les articles Drupal Commerce. Il existe une fonction qui formate les en-têtes de table:
/**
* Helper function that takes care of the quantity displayed in the headers of
* the price table.
*/
function commerce_price_table_display_quantity_headers($item) {
// Set the quantity text to unlimited if it's -1.
$max_qty = $item['max_qty'] == -1 ? t('Unlimited') : $item['max_qty'];
// If max and min qtys are the same, only show one.
if ($item['min_qty'] == $max_qty) {
$quantity_text = $item['min_qty'];
}
else {
$quantity_text = $item['min_qty'] . ' - ' . $max_qty;
}
return $quantity_text;
}
Comme vous pouvez le voir, ce n'est pas une fonction de thème où je peux la remplacer dans template.php mais je peux modifier une partie de la sortie.
Évidemment, je ne veux pas éditer le module lui-même au cas où il serait mis à jour à l'avenir, alors, comment puis-je redéfinir cette fonction afin de pouvoir couper et changer quelques choses?
Mon travail jusqu'à présent ...
Jusqu'à présent, j'ai essayé de le créer en tant que module séparé avec quelques modifications subtiles pour montrer s'il fonctionne ou non, mais il ne remplace aucune des sorties.
Fichier d'informations
; $id$
name = Price Table: Tweaked Display
description = A different layout for the price table as shown on the product display nodes
package = Commerce (contrib)
core = 7.x
dependencies[] = commerce_product
dependencies[] = commerce_price
dependencies[] = commerce_price_table
Fichier de module
/**
* Override of the helper function that takes care of the quantity displayed in the headers of
* the price table.
*/
function commerce_table_tweak_display_quantity_headers($item) {
// Set the quantity text to unlimited if it's -1.
$max_qty = $item['max_qty'] == -1 ? t('Unlimited gnhh') : $item['max_qty'];
// If max and min qtys are the same, only show one.
if ($item['min_qty'] == $max_qty) {
$quantity_text = $item['min_qty'];
}
else {
$quantity_text = $item['min_qty'] . ' - this is working - ' . $max_qty;
}
return $quantity_text;
}