<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cObaia.net &#187; drupal</title>
	<atom:link href="http://cobaia.net/categorias/drupal/feed/" rel="self" type="application/rss+xml" />
	<link>http://cobaia.net</link>
	<description>PHP, Javascript and some code around it!</description>
	<lastBuildDate>Sun, 29 Jan 2012 03:56:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP Coding Standard, boas maneiras no código: Formatação do arquivo, Identação e Tamanho de linha</title>
		<link>http://cobaia.net/2009/03/php-coding-standard-boas-maneiras-no-codigo-parte-1/</link>
		<comments>http://cobaia.net/2009/03/php-coding-standard-boas-maneiras-no-codigo-parte-1/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 03:36:17 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=474</guid>
		<description><![CDATA[PHP como algumas outras linguagens, da ao programador uma liberdade maior na hora da programação, podendo ser feita a mesma coisa de várias maneiras. Porém nem sempre isso é bom, principalmente quando se trabalha em um projeto com multi programadores, cada programador desenvolvendo de uma maneira, escrevendo diferente um do outro, já viu o carnaval [...]]]></description>
			<content:encoded><![CDATA[<p>PHP como algumas outras linguagens, da ao programador uma liberdade maior na hora da programação, podendo ser feita a mesma coisa de várias maneiras. Porém nem sempre isso é bom, principalmente quando se trabalha em um projeto com multi programadores, cada programador desenvolvendo de uma maneira, escrevendo diferente um do outro, já viu o carnaval que é o resultado final.</p>
<p>Para solucionar isso, existem os code standard, padrões de código, normalmente um framework, um CMS, ou algum sistema segue 1 padrão de código (ou pelo menos se espera que siga), é o caso do <a href="http://framework.zend.com/manual/en/coding-standard.html">Zend Framework</a>, <a href="https://trac.cakephp.org/wiki/Developement/CodingStandards">CakePHP</a> e do <a href="http://drupal.org/coding-standards">Drupal</a>.</p>
<p>Com base, nos padrões dos 2 frameworks, e do CMS citado acima, e com alguma experiencia que venho a ter, vou relatar em alguns posts algumas boas práticas de escrever o código PHP.</p>
<h2>1 &#8211; Formatação do arquivo PHP:</h2>
<h3>1.1 &#8211; Tag de abertura:</h3>
<p>O PHP tem suporte à short tag de abertura <code>< ?</code>, porém não é uma opção default em algumas configurações de servidor, logo é recomendado sempre usar a tag de abertura completa </code><code>< ?php</code>.</p>
<h3>1.2 - Identação:</h3>
<p>O padrão de identação varia nas referencias citadas acima, porém o mais comum de se achar, e ao mesmo tempo que da uma melhor visão é 4 espaços para cada identação. Ficando assim:</p>

<div class="wp_codebox"><table><tr id="p4743"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p474code3"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php 
<span style="color: #666666; font-style: italic;">//primeiro nível</span>
    <span style="color: #666666; font-style: italic;">//segundo nível</span>
<span style="color: #666666; font-style: italic;">//primeiro nível</span>
    <span style="color: #666666; font-style: italic;">//segundo nível</span>
        <span style="color: #666666; font-style: italic;">//terceiro nível</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p><strong>Na prática:</strong></p>

<div class="wp_codebox"><table><tr id="p4744"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p474code4"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php 
<span style="color: #000000; font-weight: bold;">class</span> Cobaia <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">'yeah'</span><span style="color: #339933;">;</span>        
        <span style="color: #009900;">&#125;</span>    
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>O uso da identação se da, para o programador ter uma melhor visão dos blocos, saber em que bloco se encontra a linha que ele está lendo, da um aspecto visual mais limpo ao código, logo melhora para achar o que é necessário.</p>
<h3>1.3 - Tamanho da linha:</h3>
<p>O tamanho  de cada linha de código no PHP é relativo, mas visualmente falando uma linha pode ter no máximo 80 caracteres, pois é o máximo de visão que quem está lendo o código fonte vai ter, algumas IDE's como o Netbeans, tem uma linha vertical, que demarca essa posição, logo quando sua linha de código ultrapassar ela é melhor termos uma quebra de linha.</p>
<p>Por enquanto era isso no próximo post vamos falar de nomenclatura.</code></p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2009/03/php-coding-standard-boas-maneiras-no-codigo-parte-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drupal hook_theme()</title>
		<link>http://cobaia.net/2008/12/drupal-hook_theme/</link>
		<comments>http://cobaia.net/2008/12/drupal-hook_theme/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 18:07:03 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=341</guid>
		<description><![CDATA[O Drupal por ser um CMS e largamente utilizado, possuí um sistema de temas,, ou seja, é possível trocar toda a camada de visão do drupal, assim como algumas funções do drupal que retornem html, podem ser implementadas dentro do tema, para fazer uma substituição do resultado final. Tendo isso em conhecimento, os módulos, normalmente [...]]]></description>
			<content:encoded><![CDATA[<p>O Drupal por ser um CMS e largamente utilizado, possuí um sistema de temas,, ou seja, é possível trocar toda a camada de visão do drupal, assim como algumas funções do drupal que retornem html, podem ser implementadas dentro do tema, para fazer uma substituição do resultado final.</p>
<p>Tendo isso em conhecimento, os módulos, normalmente necessitam retornar algum resultado, seja ele o que for ( HTML, XML, RSS&#8230;), e uma maneira de possibilitar os temas sobrescreverem os resultados é implementando em seu módulo o hook_theme(). Seu uso é super simples:</p>

<div class="wp_codebox"><table><tr id="p3416"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code" id="p341code6"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> newspaper_theme<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'newspaper'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
          <span style="color: #0000ff;">'template'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'newspaper'</span><span style="color: #339933;">,</span>
          <span style="color: #0000ff;">'arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'newspaper'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	   <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
     <span style="color: #0000ff;">'newspaper_archive'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'template'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'newspaper_archive'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'newspapers'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span>
	   <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
     <span style="color: #0000ff;">'newspaper_block'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'path'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'file'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'newspaper.theme.inc'</span><span style="color: #339933;">,</span>
	   <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	   <span style="color: #0000ff;">'teaser_block'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
	       <span style="color: #0000ff;">'arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'path'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	       <span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'teaser.theme.inc'</span><span style="color: #339933;">,</span>
	   <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
     <span style="color: #0000ff;">'teaser'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
         <span style="color: #0000ff;">'arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'teaser'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
         <span style="color: #0000ff;">'template'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'teaser'</span><span style="color: #339933;">,</span>
     <span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Como pode ser visto sua implementação é super simples, definimos o nome dos temas que queremos, no exemplo temos, o array newspaper. Nesse array, recebe outro array com algumas definições:</p>
<ul>
<li>Arguments: Os argumentos que a função de tema tem que receber, por exemplo: theme(&#8216;newspaper&#8217;, 23);</li>
<li>File: Indicamos onde está implementada a função tema, por exemplo:<br />
file: newspaper.theme.inc e no arquivo temos a função theme_newspaper()</li>
<li>Template: Se passa 1 template, quando desejamos usar um arquivo de template, para exibir os resultados, salva o nome do template, tem que ser igual ao dado no theme.</li>
</ul>
<p>Com o hook_theme, implementado e as funções de temas criadas, ou os templates, é possível ter diversos resultados, e dar visão as funcionalidades do seu modulo, sem perder a flexibilidade de sobreposição, ou seja continua sendo possível alterar a forma de exibir.</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/12/drupal-hook_theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal dica para poupar dor de cabeça</title>
		<link>http://cobaia.net/2008/12/drupal-dica-para-poupar-dor-de-cabeca/</link>
		<comments>http://cobaia.net/2008/12/drupal-dica-para-poupar-dor-de-cabeca/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 00:49:36 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=339</guid>
		<description><![CDATA[Uma dica preciosa, para quem esta criando módulos, ou fazendo algumas alterações no Drupal, é nunca se esquecer: Limpar o cache, sempre que algo não esta funcionando, sem motivo aparente! Isso é praticamente uma regra, por fazer muito cache, as vezes o drupal, pelo menos na versão 6, acaba se perdendo, e para o desenvolvedor [...]]]></description>
			<content:encoded><![CDATA[<p>Uma dica preciosa, para quem esta criando módulos, ou fazendo algumas alterações no Drupal, é nunca se esquecer:</p>
<h3>Limpar o cache, sempre que algo não esta funcionando, sem motivo aparente!</h3>
<p>Isso é praticamente uma regra, por fazer muito cache, as vezes o drupal, pelo menos na versão 6, acaba se perdendo, e para o desenvolvedor da muita dor de cabeça, resolvi por um post-it, no monitor para sempre me lembrar disso, limpar o cache!</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/12/drupal-dica-para-poupar-dor-de-cabeca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal criando permissões para seus módulos hook_perm()</title>
		<link>http://cobaia.net/2008/12/drupal-criando-permissoes-para-seus-modulos-hook_perm/</link>
		<comments>http://cobaia.net/2008/12/drupal-criando-permissoes-para-seus-modulos-hook_perm/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 00:45:56 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=336</guid>
		<description><![CDATA[Criar permissões no drupal, para seus módulos é simples, basta implementar a função hook_perm(), e utilizar depois nos items do menu, ou algumas funções do drupal que nos ajuda na tarefa. Implementando o hook_perm(): 1 2 3 4 function meumodulo_perm&#40;&#41; &#123; return array&#40;'meu modulo access', 'meu modulo view all'&#41;; //Criamos duas permissões, &#34;meu modulo access&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Criar permissões no drupal, para seus módulos é simples, basta implementar a função hook_perm(), e utilizar depois nos items do menu, ou algumas funções do drupal que nos ajuda na tarefa.</p>
<p>Implementando o hook_perm():</p>

<div class="wp_codebox"><table><tr id="p3369"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p336code9"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> meumodulo_perm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">return</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'meu modulo view all'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Criamos duas permissões, &quot;meu modulo access&quot; e &quot;meu modulo view all&quot;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Com isso já criamos 2 permissões, para usar agora temos algumas opções, no hook_menu do último post conhecemos o parâmetro dos items o &#8216;access arguments&#8217;, com ele é possível passar 1 array, com as permissões para acessar determinado item, vamos a um exemplo:</p>

<div class="wp_codebox"><table><tr id="p33610"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code" id="p336code10"><pre class="php" style="font-family:monospace;">    <span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/delete'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'Delete Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
        <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
        <span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
        <span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'edit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parametros que desejamos passar para nossa função</span>
        <span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
        <span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
        <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> MENU_CALLBACK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item vai ser acessado apenas por URL ou seja por links na página não no menu</span>
&nbsp;
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Acima definimos que para acessar o delete de 1 item, temos que ter a permissão meu <em>&#8220;modulo access&#8221;.</em></p>
<p>Algumas outras funções que podem nos ajudar no desenvolvimento, para restringir acessos são:</p>
<ul>
<li><a href="http://api.drupal.org/api/function/user_access/6">user_access()</a>
<ul>
<li>Checa se o usuário tem acesso a determinada função, como parâmetros recebe uma string com as permissões entre vírgulas, e pode receber também o id do usuário, porém sendo o segundo não obrigatório, caso não passado a função pega o usuário ativo no momento.</li>
</ul>
</li>
<li><a href="http://api.drupal.org/api/function/drupal_access_denied/6">drupal_access_denied()<br />
</a></p>
<ul>
<li>Gera uma página de erro 403, indicando assim que o usuário não está, habilitado para acesso a URL, em conjunto com a user_access(), onde verificamos se o usuário tem acesso, é uma boa maneira de indicar que o usuário não tem acesso a determina &#8220;feature&#8221;.</li>
</ul>
</li>
</ul>
<p>Existem algumas outras funções, que podem ajudar quanto as permissões, assim como módulos, vale dar uma olhada na documentação do drupal, assim como, nos projetos.</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/12/drupal-criando-permissoes-para-seus-modulos-hook_perm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal entendendo o hook_menu()</title>
		<link>http://cobaia.net/2008/12/drupal-entendendo-o-hook_menu/</link>
		<comments>http://cobaia.net/2008/12/drupal-entendendo-o-hook_menu/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 00:26:37 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=330</guid>
		<description><![CDATA[Para criarmos menus no drupal, o mesmo tem a função hook_menu, que pode ser implementada em nossos módulos. Seu uso é bem simples: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [...]]]></description>
			<content:encoded><![CDATA[<p>Para criarmos menus no drupal, o mesmo tem a função hook_menu, que pode ser implementada em nossos módulos. Seu uso é bem simples:</p>

<div class="wp_codebox"><table><tr id="p33012"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
</pre></td><td class="code" id="p330code12"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> meumodulo_menu<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$items</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'list'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parametros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_NORMAL_ITEM<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item é normal ou seja ele ira aparecer no menu de navegação</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/add'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Add Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'add'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parametros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_CALLBACK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item vai ser acessado apenas por URL ou seja por links na página não no menu</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/list'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'list'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parâmetros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_DEFAULT_LOCAL_TASK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item é a tarefa principal com isso criamos tabs para navegação e a tab principal é essa</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/add'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Add Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'list'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parâmetros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'weight'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a posição da tab</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_LOCAL_TASK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item é a tarefa principal com isso criamos tabs para navegação e a tab principal é essa</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/edit'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Edit Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'edit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parâmetros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_CALLBACK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item vai ser acessado apenas por URL ou seja por links na página não no menu</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'admin/novo_item/delete'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Delete Titulo'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Título que vai aparecer</span>
		<span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'A descrição de nosso Item'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Descrição de nosso Item</span>
		<span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_page'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//A função que iremos chamar</span>
		<span style="color: #0000ff;">'page arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'edit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Parâmetros que desejamos passar para nossa função</span>
		<span style="color: #0000ff;">'file'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'meumodulo.module'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//O arquivo onde está sua função</span>
		<span style="color: #0000ff;">'access arguments'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meu modulo access'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos a permissão de acesso ao Item</span>
		<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_CALLBACK<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o item vai ser acessado apenas por URL ou seja por links na página não no menu</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$items</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'listagem'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
	    <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Página dos dados'</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'page callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'minhafuncao_frontend'</span><span style="color: #339933;">,</span>
	    <span style="color: #0000ff;">'access callback'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//Definimos que o acesso é liberado</span>
	    <span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> MENU_CALLBACK<span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$items</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Com isso podemos ver que a estrutura é bem simples, o hash passado para o array é a url de acesso, e alguns parâmetros são pré-definidos, assim como constantes que definem o tipo de ação de cada item. Para mais informações <a title="API Drupal" href="http://api.drupal.org/api/function/hook_menu/6">acesse a documentação</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/12/drupal-entendendo-o-hook_menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal implementando hook_cron()</title>
		<link>http://cobaia.net/2008/12/drupal-implementando-hook_cron/</link>
		<comments>http://cobaia.net/2008/12/drupal-implementando-hook_cron/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 00:13:01 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=328</guid>
		<description><![CDATA[No drupal para pormos tarefas a serem executados no cronjob é muito simples. Após definir a regra no cronjob: 0   *   *   *   *   wget -O &#8211; -q -t 1 http://www.example.com/cron.php Basta nos seus módulos implementar o hook cron, exemplo: 1 2 3 4 5 6 7 function meumodulo_cron&#40;&#41; &#123; $result = db_query&#40;'SELECT * FROM [...]]]></description>
			<content:encoded><![CDATA[<p>No drupal para pormos tarefas a serem executados no cronjob é muito simples.</p>
<p>Após definir a regra no cronjob:</p>
<p>0   *   *   *   *   wget -O &#8211; -q -t 1 http://www.example.com/cron.php</p>
<p>Basta nos seus módulos implementar o hook cron, exemplo:</p>

<div class="wp_codebox"><table><tr id="p32814"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p328code14"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> meumodulo_cron<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> db_query<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SELECT * FROM {tabela}'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> db_fetch_array<span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		funcao_faz_algo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	watchdog<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'meumodulo'</span><span style="color: #339933;">,</span>t<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Executado o cron com sucesso!'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Caso não seja possível definir no cronjob o acesso, acesse a url http://meusite.com.br/cron.php</p>
<p>Para saber se estar funcionando, coloquei usei a função watchdog que escreve logs no drupal e pode ser visto no menu de Reports do mesmo.</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/12/drupal-implementando-hook_cron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por onde começar no Drupal 6, livros, documentação e suporte</title>
		<link>http://cobaia.net/2008/10/por-onde-comecar-no-drupal-6-livros-documentacao-e-suporte/</link>
		<comments>http://cobaia.net/2008/10/por-onde-comecar-no-drupal-6-livros-documentacao-e-suporte/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 19:42:45 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[livros]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=182</guid>
		<description><![CDATA[Estou trabalhando em um projeto com o Drupal, confesso que minha animação não está das maiores, devido ao fato de até agora não ter tido muita programação. É isso mesmo, até o momento foi necessário escrever poucas linhas de código e porém o site já está com grande parte das suas funcionalidades prontas. Isso ocorre [...]]]></description>
			<content:encoded><![CDATA[<p>Estou trabalhando em um projeto com o <a href="http://drupal.org">Drupal</a>, confesso que minha animação não está das maiores, devido ao fato de até agora não ter tido muita programação. É isso mesmo, até o momento foi necessário escrever poucas linhas de código e porém o site já está com grande parte das suas funcionalidades prontas.</p>
<p>Isso ocorre devido o CMS Drupal, e sua grande gama de módulos. Porém a linha de aprendizado do Drupal, não é uma tarefa muito simples. Passei boa parte do meu tempo lendo sobre. Logo resolvi fazer um review pequeno dos livros de Drupal que estou a ler.</p>
<p><a href="http://www.packtpub.com/"><strong>Packet &#8211; Building powerful and robust websites with Drupal 6</strong></a></p>
<p>Este livro corresponde ao que ele se propõem, que é ensinar a fazer sites com o Drupal, ele vai de explicações básicas, de como instalar o Drupal, de como habilitar módulos, até como customizar módulos. Logo este é um bom livro para se ter uma visão geral de como o Drupal funciona.</p>
<p><a href="http://www.packtpub.com/drupal-6-module-development/book"><strong>Learning Drupal 6 Module Development</strong></a></p>
<p>Ensina os primeiros passos para desenvolvimento de módulos no drupal, contém algum exemploes de desenvolvimentos de módulos, relacionados com os nodes, blocos, entre outros módulos core do drupal. Assim como criar interfaces de formulário, e páginas no drupal, tudo através do módulo. É um livro rasoável que vai te dar uma boa base sobre os padrões de desenvolvimento de módulos, assim como proceder o desenvolvimento dos mesmos.</p>
<p>Esses dois livros foi que acabei por ler algumas partes para me ajudar no desenvolvimento, porém é recomendado a leitura da <a href="http://drupal.org/handbooks">documentação do drupal</a>, que possui no próprio site do drupal.</p>
<p><strong>Assim como dúvidas, existe um canal no irc para saciar elas:</strong></p>
<p><strong>server:</strong> irc.freenode.org<br />
<strong>canal:</strong> #drupal-br e #drupal</p>
<p><strong>Ou pelos fórums da comunidade Brasileira e Internacional:</strong></p>
<p><strong>Brasil: </strong><a href="http://drupal-br.org/forum">http://drupal-br.org/forum</a><br />
<strong>Internacional: </strong><a href="http://drupal.org/forum">http://drupal.org/forum</a><strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/10/por-onde-comecar-no-drupal-6-livros-documentacao-e-suporte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Limpar cache no drupal 6</title>
		<link>http://cobaia.net/2008/10/limpar-cache-no-drupal-6/</link>
		<comments>http://cobaia.net/2008/10/limpar-cache-no-drupal-6/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 20:42:21 +0000</pubDate>
		<dc:creator>Vinícius Krolow</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://cobaia.net/?p=283</guid>
		<description><![CDATA[Uma missão muito chata do drupal 6, é ficar limpando seu cache, porém existe uma solução, feia mas simples para isso: no arquivo page.tpl.php ou em algum outro que sempre seja chamado ponha: 1 2 3 4 5 &#60; ?php drupal_rebuild_theme_registry&#40;&#41;; cache_clear_all&#40;&#41;; menu_rebuild&#40;&#41;; ?&#62; E pronto, seu cache será limpo a cada reload!]]></description>
			<content:encoded><![CDATA[<p>Uma missão muito chata do drupal 6, é ficar limpando seu cache, porém existe uma solução, feia mas simples para isso:</p>
<p>no arquivo page.tpl.php ou em algum outro que sempre seja chamado ponha:</p>

<div class="wp_codebox"><table><tr id="p28316"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p283code16"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
drupal_rebuild_theme_registry<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
cache_clear_all<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
menu_rebuild<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>E pronto, seu cache será limpo a cada reload!</p>
]]></content:encoded>
			<wfw:commentRss>http://cobaia.net/2008/10/limpar-cache-no-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

