まず、この回答が他の場所でカバーされている場合は、申し訳ありません。私はたくさんの検索を行ってきましたが、テーマの関数とフックのオーバーリングに関する情報しか見つけることができません。
Drupal Commerceアイテムの価格表を作成するモジュールを使用しています。テーブルヘッダーをフォーマットする関数があります。
/**
* 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;
}
ご覧のとおり、これはtemplate.phpでオーバーライドできるテーマ関数ではありませんが、出力の一部を微調整することができます。
もちろん、将来的に更新される場合に備えてモジュール自体を編集したくないので、この関数を再定義して、いくつかを変更したり変更したりするにはどうすればよいですか?
これまでの私の仕事...
これまでのところ、それが機能しているかどうかを示すためにいくつかの微妙な変更を加えた別のモジュールとして作成しようとしましたが、出力を上書きしていません。
情報ファイル
; $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
モジュールファイル
/**
* 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;
}