Tel. 06151 / 39 10 793

Bestimmte Node-Forms im Admin-Theme

Es ist ein immer wiederkehrendes Problem...
Man möchte bestimmte Node-Formulare nur im Admin-Theme anzeigen.

Es gibt hier einen ganz simplen Weg über eine Wrapper Funktion auf die per Menu routed wird.

Zunächst muss man eben einen Menu-Eintrag (sei es ein MENU_CALLBACK oder auch ein normaler Eintrag) erstellt werden, der auf eine Prozedur der folgenden Art zeigt.
Der Menu-Eintrag braucht dabei einen Pfad oberhalb von "/admin/".
Dadurch wird das Formular dann automatisch im Admin-Theme gerendered.

  /*
   * Renders the bs_newsletter node form in admin theme.
   * @param integer $nid The node ID. If it is 0, an add-node form will rendered.
   * @return string Rendered HTML.
   */
  function _bs_newsletter_create ($nid = 0) {
   
    module_load_include('inc', 'node', 'node.pages');
   
    global $user;
   
    $nid  = (integer)$nid;
    $node = false;
   
    if ($nid != 0) {
      $node = node_load (array ('nid'=>$nid));
    }

    if ($node == false) {
      $node = (object)array(
        'uid'  => $user->uid,
        'name' => (isset($user->name) ? $user->name : ''),
        'type' => 'bs_newsletter', // Content-Type name.
      );
    }
   
    node_object_prepare($node);
   
    return drupal_get_form ('bs_newsletter_node_form', $node); // Change the Content-Type name [type]_node_form.
  }
  

Liebe Grüße
Marc Sven Kleinböhl

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
So finden Sie uns