Thứ nhất, xin lỗi nếu câu trả lời này được đề cập ở nơi khác. Tôi đã thực hiện rất nhiều tìm kiếm và chỉ có thể tìm thấy thông tin về các chức năng và móc nối chủ đề.
Tôi đang sử dụng một mô-đun xây dựng bảng giá cho các mặt hàng Thương mại Drupal. Có một chức năng định dạng các tiêu đề bảng:
/**
* 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;
}
Như bạn có thể thấy, đây không phải là một chức năng chủ đề nơi tôi có thể ghi đè lên nó trong template.php nhưng tôi có thể điều chỉnh một số đầu ra.
Rõ ràng tôi không muốn tự chỉnh sửa mô-đun trong trường hợp nó được cập nhật trong tương lai, vì vậy, làm thế nào tôi có thể xác định lại chức năng này để tôi có thể cắt và thay đổi một số thứ?
Công việc của tôi cho đến nay ...
Cho đến nay, tôi đã cố gắng tạo nó như một mô-đun riêng biệt với một vài thay đổi tinh tế để hiển thị nếu nó hoạt động hay không, nhưng nó không ghi đè bất kỳ đầu ra nào.
Thông tin tập tin
; $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
Mô-đun tập tin
/**
* 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;
}