Erstens, entschuldigen Sie, wenn diese Antwort an anderer Stelle behandelt wird. Ich habe viel gesucht und kann nur Informationen zu übergeordneten Themenfunktionen und Hooks finden.
Ich verwende ein Modul, das eine Preistabelle für Drupal Commerce-Artikel erstellt. Es gibt eine Funktion, die die Tabellenüberschriften formatiert:
/**
* 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;
}
Wie Sie sehen können, ist dies keine Themenfunktion, bei der ich sie in template.php überschreiben kann, aber ich kann einen Teil der Ausgabe optimieren.
Natürlich möchte ich das Modul selbst nicht bearbeiten, falls es in Zukunft aktualisiert wird. Wie kann ich diese Funktion neu definieren, damit ich einige Dinge zerhacken und ändern kann?
Meine bisherige Arbeit ...
Bisher habe ich versucht, es als separates Modul mit ein paar subtilen Änderungen zu erstellen, um zu zeigen, ob es funktioniert oder nicht, aber es überschreibt keine der Ausgaben.
Info-Datei
; $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
Moduldatei
/**
* 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;
}