Salve meus amigos!
Conforme prometido, lanço hoje a segunda parte do tutorial de desenvolvimento de um módulo do Drupal. Na primeira parte, apresentei a funcionalidade do módulo, e o básico, a criação do arquivo .info, e o início da construção do módulo, com o arquivo .module, que nada mais é um arquivo .php.
Lembrando que este tutorial foi totalmente baseado neste tutorial do Drupal.org.
Vamos agora revisar as interfaces e links que deverão ser criados:
Todas estas opções serão criadas através hooks (em português, ganchos), que são funções especiais que criam as interfaces do Drupal. A regra diz que um hook tem que seguir a seguinte sintaxe: function nomedomodulo_nomedohook(parâmetros) { //conteudo do hook }.
Abaixo, estão listados todos os Hooks utilizados no módulo:
<?php
// $Id$
function donatepagseguro_help($path, $arg) {
// cria a pagina de ajuda
} // function donatepagseguro_help
function donatepagseguro_perm() {
// cria o controle de permissoes
} // function donatepagseguro_perm()
function donatepagseguro_block($op = 'list', $delta = 0, $edit = array()) {
// cria o(s) bloco(s) do modulo
} // function donatepagseguro_block()
function donatepagseguro_admin() {
// cria a administracao do bloco
} // function donatepagseguro_admin()
function donatepagseguro_admin_validate($form, &$form_state) {
Faz a validação do formulario da pagina de administracao
} //function donatepagseguro_admin_validate()
function donatepagseguro_menu() {
// cria o link do menu
} //function donatepagseguro_menu()
Em cada um dos hooks, eu linkei para a respectiva página do mesmo na página de API do Drupal. Observer que donatepagseguro_admin() não é um hook. Por isso, o conteúdo dele pode ser construído da forma que quisermos.
Legal. No tutorial de hoje, vamos construir a página de ajuda e as permissões.
Para a ajuda do usuário, eu quero criar duas mensagens:
Isso será feito usando o hook _help, como foi dito:
function donatepagseguro_help($path, $arg) {
$output = ''; //declare your output variable
switch ($path) {
case "admin/help#donatepagseguro":
$output = '
'. t("Um módulo simples que habilita um bloco com o botão de Doação do PagSeguro no site.") .'
';
$output .= '
' . t('Para fazer uso deste módulo, é necessário que você tenha ou crie uma conta no PagSeguro. Para se cadastrar, acesse esta página e clique em "Cadastre-se Já".') . '
';
break;
case "admin/settings/donatepagseguro":
$output = '
'. t('Para utilizar este módulo é necessário criar uma conta no PagSeguro.') .'
';
break;
}
return $output;
} // function donatepagseguro_help
Observe que este hook recebe dois parâmetros, as variáveis $path (caminho) e $arg. O $path, que nada mais é que o endereço das páginas onde as mensagens serão impressas, é o que será utilizado no tutorial. Não é necessário usar as $args, mas eventualmente, posso voltar a tratar delas.
O que foi feito dentro desta função:
Declaro uma variável, chamada $output, cujo conteúdo será a mensagem de ajuda.
Eu testo o valor da variável $path, utilizando um switch: Se o usuário estiver acessando for admin/help#donatepagseguro, o valor de $output será X, caso o caminho que o usuário estiver acessando for admin/settings/donatepagseguro, o valor de $output será Y. por fim, eu retorno o valor da variável (return $output);
Criar permissões para um módulo é muito simples. A documentação do Drupal sugere que você siga a forma "verbo_acao nome_do_modulo". Por exemplo, "administrar donatepagseguro", "acessar donatepagseguro", etc.
As permissões do módulo PagSeguro ficaram assim:
function donatepagseguro_perm() {
return array('Administrar Donate PagSeguro');
} // function donatepagseguro_perm()
Simples assim. Se por acaso, o módulo tiver vários acessos a partes diferentes do módulo, basta declarar os acessos em linha, separados por vírgula:
function donatepagseguro_perm() {
return array('Administrar blá', 'Acessar blá', 'Acessar bló');
} // function donatepagseguro_perm()
Mais na frente no tutorial, iremos associar a regra de acesso a um item do menu, que será criado utilizando o hook _menu.
E por Hoje é só pessoal!! Nos vemos na próxima semana, na mesma bat-hora e no mesmo bat-canal.
copyright © Marcus VBP, Todos os direitos reservados
Permitida a cópia desde que citado a fonte. [Política de Privacidade]
Powered by Drupal CMS.
1. Gabriel Roque*
simples e bem explicado
assim que o tempos estiver ao meu favor, sairei da teoria e entrarei na prática
\o/
Abraço
2. Makoto*
Eu estou customizando um módulo, na verdade uma página de exibição deste módulo, e acabei escrevendo muito javascript na string de retorno da função que cria a página.
Existe algum jeito de deixa o js em um arquivo separado e apenas adicioná-lo à página na string de retorno?
abraço!
3. Marcus VBP
tem sim makoto. Dá uma olhada na função drupal_add_js.
4. Rene*
no exemplo model 2,,,,poderia me ajudar,,onde eu salvo o codigo que ele fez.....
5. Marcus VBP
todo o código que está nesta página vai no arquivo donatepagseguro.module
6. Anônimo*
cara achei que era uma aula de como criar modulos para
php,não isso foda-se
Enviar novo comentário