Yanıtlar:
Drupal 6 için,
3. parametre olmalı
drupal_goto($path = '', $query = NULL, $fragment = NULL, $http_response_code = 302)
drupal_goto("products", NULL, $node->nid);
Drupal 7 için
drupal_goto($path = '', array $options = array(), $http_response_code = 302)
drupal_goto("products", array('fragment' => $node->nid));
Drupal 6'da drupal_goto parçalanma için üçüncü parametresini kullanır. Url benzeri ürünleri # 345 yapmak istiyorsanız, parçasını drupal_goto işlevinde üçüncü argüman olarak geçmelisiniz.
drupal_goto("products", NULL, $node->nid); // where $node->nid is the fragment.
Drupal 7'de, parçayı drupal_goto işlevinin ikinci parametresinde dizinin anahtar değeri çifti olarak geçirmelisiniz.
drupal_goto('products', array('fragment' => $node->nid)) ; // where $node->nid is the fragment.
Yukarıdakilerin her ikisi de 123 gibi bir url benzeri ürün üretecektir, burada 123 $ node-> nid değişkeninin değeridir.
drupal_goto? destination = foobar # zzz varsa #zzz kaybeder, çünkü bu asla $ _SERVER tarafından döndürülmez, bu satırı, bir şeyleri kırmaktan başka bir şey yapmadan kaldırın:
//$options['fragment'] = $destination['fragment']; // removed
is the same as
$options['fragment']='';