Я пытаюсь перенаправить администраторов сайта из контента при обновлении, поскольку он никогда не будет просматриваться напрямую. Вместо этого я пытаюсь связать их с определенным разделом домашней страницы, однако пока происходит перенаправление, опция фрагмента игнорируется.
function _content_redirect_to(&$form_state, $hash) {
$destination = drupal_get_destination();
if ($destination['destination'] != 'admin/content') {
$form_state['redirect'] = array(
'<front>',
array(
'query' => array(),
'fragment' => 'whatever',
'absolute' => TRUE,
),
);
}
}
function _content_redirect_location($form, &$form_state) {
_content_redirect_to($form_state, 'locations');
}
function content_redirect_form_alter(&$form, &$form_state, $form_id) {
$link = l('test link', '<front>', array(
'fragment' => 'locations'
));
drupal_set_message($link); // Works just fine.
switch ($form_id) {
case 'location_node_form':
$form['actions']['submit']['#submit'][] = '_content_redirect_location';
break;
}
}
То же самое происходит, когда я вызываю drupal_goto непосредственно при обновлении.
function content_redirect_node_update($node) {
if ($node->type == 'location') {
drupal_goto(
'<front>', array(
'fragment' => 'locations'
)
);
}
}
Мне не удалось найти информацию по этому вопросу, где еще.