Essa função é bem interessante e podemos utilizá-la por exemplo, para validarmos a url atual do usuário e assim então executarmos alguma ação. Isso é utilizado pelo módulo Block do core do Drupal para disponibilizar o bloco em determinadas páginas do site.
A função drupal_match_path() efetua a validação através de um determinado um pattern de strings separadas por \n, \r or \r\n.
drupal_match_path($path, $patterns);
Parâmetros
$path - a url a ser comparada
$patterns - pattern de strings que serão usadas para efetuar a comparação separadas por \n, \r or \r\n
Imagine um cenário em que um site possua 30 tipos de papéis de usuários. Agora imagine cada um desses papéis contendo centenas de permissões. Então seu chefe virá pra você e diz que precisa de um novo papel, porém com uma ou duas permissões a menos que o papel XYZ.
Esse é um tipo de trabalho chato de se fazer, pois temos que criar o novo papel, depois ir setando na mão cada uma das permissões.
Uma das grande dificuldades de todo desenvolvedor que começa a trabalhar com Drupal, é saber como montar o seu próprio formulário, validar e enviar suas informações.
Nesse artigo vou ensinar como criar um formulário em Drupal 7 com os seguintes campos:
Nome
Data de nascimento
Senha
Confirmação de senha
Newsletter
Vamos criar um novo módulo chamado "custom" e vamos criar um item de menu utilizando o hook_menu().
Easy Clean é um tema base perfeito para aqueles que gostam de começar a desenvolver o site à partir do "zero", tendo o controle total sobre cada elemento.
Como a própria documentação diz, o snippet anterior existe para realizar tal tarefa de uma maneira simples e fácil:
This function is meant to be called from PHP snippets, should one wish to embed a view in a node or something. It's meant to provide the simplest solution and doesn't really offer a lot of options, but breaking the function apart is pretty easy, and this provides a worthwhile guide to doing so.
Primeiramente será necessário criar ou editar o template.php do seu tema. Vamos utilizar a função template_preprocess_node(), a qual é utilizada para processar as variáveis dos nodes antes de serem enviadas para o template.
O snippet a seguir verifica se o tipo de conteúdo é "artigos" e cria uma nova variável chamada $outros_artigos.
// Substitua SEUTEMA pelo nome do seu tema
function SEUTEMA_preprocess_node(&$vars) {
if($vars['type'] == 'artigos') {
$vars['outros_artigos'] = views_embed_view('artigos', 'block_1');
}
}
Com o snippet a seguir é possível pegar o resultado de uma views dinamicamente e manipulá-lo de acordo com sua necessidade.
O primeiro parâmentro a ser informado é o nome da view e o segundo o ID do display. No meu exemplo utilizo uma view chamada "artigos" e o ID do meu display é block_1.