Domanda

Sono incuriosito dall'idea in questo articolo: "Mad Libs" Incrementi Style Form Conversione 25-40% . Mi piacerebbe provare un tale forma al posto del modulo di registrazione su un paio di siti Drupal; tuttavia, non sono sicuro di come affrontare una tale forma non ortodossa utilizzando API Modulo di Drupal.

sarebbe pratico per modificare la forma user_register esistente utilizzando hook_form_alter? C'è un modo migliore?

Idealmente, mi piacerebbe essere in grado di token-izzare ogni campo di modulo a una forma arbitraria, quindi immettere il testo "storia" con ID token in cui dovrebbero apparire i campi. Io non sono sicuro dove nel processo di rendering modulo per farlo però?

È stato utile?

Soluzione

Interessante. Si dovrebbe costruire il modulo come uno normalmente costruire un modulo Drupal, solo con i campi in esso. Il tuo racconto sarebbe andato nel file di modello che deve essere utilizzato per il tema del modulo. Utilizzando modello per le forme tema è estremamente facile. Per esempio nel vostro gancio _theme, legano il modulo con un file di modello,


testmodule_theme()
{
  return array(
        "user_aboutme_form" => array(
            "arguments" => array( "form" => NULL ),
            'path' => $path_to_template_folder,
            "template" => "user-aboutme-form",
            )
);
}
Assicurati di svuotare la cache del tema in mezzo. Nel file template, si otterrà l'intero array modulo, ed è possibile rendere i singoli elementi utilizzando la funzione drupal_render. Con personalizzato styling è possibile ottenere lo stesso look and feel come sul sito web di cui sopra. L'unico problema qui è quello di assicurarsi il rendering l'elemento modulo radice cioè drupal_render ($ form) dopo che hai finito con il rendering i singoli elementi del modulo, che avrebbe messo in forma valori a gettone, in forma, altrimenti il ??modulo non funzionerà. < p>

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top