Câu trả lời:
Đối với Drupal 6,
Nó phải là tham số thứ 3
drupal_goto($path = '', $query = NULL, $fragment = NULL, $http_response_code = 302)
drupal_goto("products", NULL, $node->nid);
Đối với Drupal 7
drupal_goto($path = '', array $options = array(), $http_response_code = 302)
drupal_goto("products", array('fragment' => $node->nid));
Trong Drupal 6 drupal_goto sử dụng tham số thứ ba của nó để phân mảnh. Nếu bạn muốn tạo url như các sản phẩm # 345, bạn nên chuyển đoạn đó làm đối số thứ ba trong hàm drupal_goto.
drupal_goto("products", NULL, $node->nid); // where $node->nid is the fragment.
Trong Drupal 7, bạn nên chuyển đoạn dưới dạng cặp giá trị chính của mảng trên tham số thứ hai của hàm drupal_goto.
drupal_goto('products', array('fragment' => $node->nid)) ; // where $node->nid is the fragment.
Cả hai điều trên sẽ tạo ra một url như các sản phẩm # 123, trong đó 123 là giá trị của biến $ node-> nid.
drupal_goto mất #zzz nếu có? Destination = foobar # zzz, vì điều này không bao giờ được trả lại bởi $ _SERVER, hãy xóa dòng này vì không có gì ngoài việc phá vỡ nội dung:
//$options['fragment'] = $destination['fragment']; // removed
is the same as
$options['fragment']='';