it-swarm-eu.dev

Změnit název stránky na stránce Add Node Page

Který háček/filtr musím použít k úpravě názvu stránky „přidat uzel“ (Tento nadpis)? Například při prohlížení „/ node/add /“ chci změnit název z „Vytvořit“ na „Přidat nový“

7
Citricguy

Existuje několik různých způsobů, jak to udělat, ale způsob, jakým jste požádali, by využil hook_form_alter () :

<?php
function custom_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'mynodetype_node_form') {
    drupal_set_title('My new title');
  }
}
?>

To by bylo ve vlastním modulu s názvem custom.module ... drupal_set_title (), pokud se zavolá kdekoli v načtení stránky, titul nastaví odpovídajícím způsobem. V zásadě se zapojujete do procesu vykreslování formulářů uzlů a říkáte „nastavte název podle toho, co chci“.

Pokud chcete dále rozlišovat, jaký bude nadpis v závislosti na tom, zda uživatel vytvoří nový uzel nebo upraví existující uzel, pomocí funkce Devel modulu dpm () vytiskněte pole $ form_state, a zkontrolujte, zda již existuje ID uzlu nebo ne - pokud ano, upravujete uzel; pokud ne, vytváříte nový uzel. Nastavte správně název.

Zatímco hook_form_alter () by pravděpodobně byla nejrobustnější stránka (v případě, že někdo prohlížel formulář pro přidání uzlu z jiného místa než uzel/add/[typ]), můžete také zkontrolovat cestu v hook_init () a nastavit tam název, nebo z různých jiných míst (v Drupal 7, možná hook_page_alter ()).

15
geerlingguy

Měl jsem stejný problém a musel jsem za to napsat modul.

Najdete můj přispěl můj modul zel Přidat název pro Drupal 7

Přidání názvu uzlu vám umožní změnit název stránek pro vytváření uzlů a stránek pro úpravy uzlů.

Doufám, že to může pomoci.

4
GoingDrupal