1

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;
}
4

1 に答える 1

0

私が信じているほとんどの drupal モジュールには hook_function (または少なくともフック可能なもの) があると思いますが、私はこれをあまり行わないので、関数をフックする方法と、モジュールがそれをサポートするかどうかについて drupal API を検索します。

于 2012-08-17T15:50:41.850 に答える