Listando conteúdo programaticamente #1 | Drupal de Elite
Então, sem mais delongas, segue o nosso guia para este tutorial:
1 - Criação de um modulo.
2 - Implementação do hook_menu().
3 - Criação de um form na área administrativa.
Para o desenvolvimento desse tutorial, foi criado um tipo de conteúdo chamado "Estados brasileiros" (brazilian_states). Com os seguintes campos: Title (title), Capital (field_capital) e Habitantes (field_inhabitants). Após a criação do tipo de conteúdo, cadastre alguns estados.
Passo 1: Criação do modulo Custom_view.
Estrutura de pastas: sites → all → modules → custom → custom_view
Caso as pastas não existam, criem.
Vamos criar o seguinte arquivo custom_view.info dentro da pasta cusom_view.
name = Custom View
description = Provide custom view.
Aqui são as configurações básicas do módulo:
1 - nome do módulo.
2 - descrição de suas funcionalidades.
3 - o pacote do módulo, para deixar organizado na pagina de configurações dos módulos.
4 - a versão do core do Drupal.
5 - a versão do módulo.
Acessem o menu "Modules" ou "Módulos" e ativem o nosso módulo que acabamos de criar.
Passo 2: Implementação do hook_menu().
Agora vamos criar o nosso segundo arquivo. Dentro da pasta custom_view criaremos o arquivo custom_view.module responsável pelos intens de menu, que chamaremos de "rotas" para melhor entendimento.
function custom_view_menu() {
$items['admin/config/custom-view'] = array(
'title' => 'Custom View',
$items['admin/config/custom-view/manager'] = array(
'title' => 'Custom View Manager',
'description' => 'Customizing views',
'page arguments' => array('custom_view_form'),
4 – Implementaremos o hook_menu(). Responsável pelas rotas (URL'S) do nosso módulo.
5 – Criaremos uma nova rota (url), para que apareça o link do nosso módulo, na tela de configuração.
6 – O título do bloco onde ficara o link.
7 – Função que criará a pagina do menu e retornará o HTML do menu na área administrativa.
8 – Permissão para acessar a rota do menu.
9 – Posição do menu.
10 – Arquivo responsável pela função do page_callback. É nesse arquivo que o Drupal irá procurar pela função system_admin_menu_block_page().
11 – Fechamos a descrição da rota do menu.
12 – Agora, criaremos uma nova rota para o formulário de gerenciamento do nosso módulo.
13 – O título do link e da pagina para onde seremos direcionados.
14 – Uma descrição.
15 – Função responsável por renderizar o nosso formulário na pagina.
16 – Função que contém os campos do nosso formulário. Que será passado por parâmetro para função drupal_get_form($form_id) renderizá-lo na pagina.
17 – Permissão passada para acessar a rota do menu.
18 – É nesse arquivo (que iremos criar) que o Drupal irá procurar a função custom_view_form.
19 – Fechamos a descrição da rota do menu.
20 – Retornamos as rotas criadas.
21 – Fechamos o hook_menu().
Obs.: Após escreverem o código acima limpem o CACHE.
Acessem no menu "Configuration" ou "Configurações".
Passo 3: Criação do formulário na área administrativa.
Lembram do tipo de conteúdo, "Estados brasileiros" que criamos, nele tem os seguintes campos: Title (title), Capital (field_capital) e Inhabitantes (field_inhabitants). Criaremos o nosso form com quatro checkbox: Title, Capital, Inhabitantes e Pager.
Quando marcamos um dos checkbox, a informação referente a ele deve ser listada na tela. Ex:
Marcamos somente o checkbox Inhabitantes. Após o submit do form, seremos direcionado para seguinte url custom-view/view/estados_do_brasil (uma das rotas de menu que criaremos posteriormente). Nessa tela deve aparecer somente os Habitantes de cada Node.
Agora criaremos um outro arquivo chamado custom_view.admin.inc. Dentro dele iremos implementar o hook_form($form, &$form_state) para criação do nosso formulário.
function custom_view_form($form, &$form_state) {
'#title' => 'Capital',
'#title' => 'Inhabitants',
'#title' => 'Pager',
'#description' => t('Let scheduled to appear pagination'),
'#submit' => array('custom_view_form_submit'),
'#markup' => l('Cancel', 'custom-view/view/brazilian_states'),
4 – Implementaremos o hook_form($form, &$form_state). Aqui criaremos o nosso formulário.
5, 10, 15, 20, 30 - Adicionaremos um novo elemento ao formulário.
6, 11, 16, 21, 26, 31 – O tipo desse elemento.
7, 12, 17, 22 Um tipo para o elemento.
8, 13, 18, 23 – Uma breve descrição.
9, 14, 19, 24, 29, 33 – Fechamos o elemento.
27 – Texto para o botão.
28 – Função de submit do form.
32 – A função l($text, $path, array $options = array()) é responsável por criar um link HTML.
34 – Retornamos a variável form com os nossos elementos.
35 – Fechos o hook_form($form, &$form_state).
Nas linha 30 a 34 adicionamos um elemento markup invés de um button, ao clicar no Cancel, quero apenas que o form direcione o usuário para um determida url. Se fosse um button, teriamos que criar um submit para realizar o redirecionamento do form.
Se você chegou nessa tela, meus parabéns!!
No próximo post iremos implementar os outros passos, qualquer duvida, crítica, sugestão, ameaça é deixar um comentário. Atá o próximo post pessoal.