Pesquisa
Itens ativos
Posts mais lidos hoje
- Tutorial Para Iniciantes
- Manual
- Site fora do ar Personalizado
- Tutoriais
- Como instalar e configurar o TinyMCE no Drupal
- Tutorial: Instalando o Drupal 6 em português
- Sobre o Drupal
- Correios (Sedex, Malote, PAC) para e-Commerce
- Drupal em português do Brasil (instalação)
- Tutorial - Criando um site com caixas de notícias
Login do usuário
Assine o RSS do Drupal-BR
Criando conexão e funções no drupal
Olá pessoal,
Estou com uma dúvida cruel no drupal. Possuo uma página, rodando banco de dados Mysql, onde faço uso de diversos blocos na página principal. Estes possuem no seu corpo códigos em PHP (escritos diretamente no corpo dos blocos) para me retornarem dados do banco. Os escrevi sem precisar criar a conexão com o banco de dados, e deu certo.
Então decidi melhorar a coisa, escrevi os códigos em php e os armazenei em páginas separadas numna pasta chamada Inlcludes dentro do meu tema.
Aí dentro do corpo dos blocos, usei a função include do php, para inserir os tais arquivos com os trechos de código citados acima, sem precisar digitar os códigos diretamente no corpo.
Porém o drupal me retorna muitos erros ao visualizar a respectiva página com os blocos, erros do tipo:
Ou seja, talvez para essa operação, necessite fazer uma conexão. Escrevendo os trechos de código diretamente no corpo dos blocos, funciona.
Aí vem a dúvida: como abro uma conexão com o drupal? Já tentei pelo método convencional e não consegui. Existe alguma função para isso?
E outra dúvida: como crio uma função personalizada minha. Basta escrever na página "template.tpl.php" do meu módulo? Se sim, como as chamaria pelo conteúdo?
Desde já agradeço. Abração pessoal!
Carlos
- Se logue ou se registre para poder enviar comentários
- 202 leituras




Sugiro que vc use o esquema de abstração de acesso à banco de dados do drupal...
As possiveis funções são: http://api.drupal.org/api/group/database/5
Abra seu arquivo settings.php e na variavel $db_url = 'mysql://usuario:senha@localhost/database'; coloque assim:
$db_url['extra'] = 'mysql://usuario2:senha2@localhost/database2';
Dae no seu módulo vc ativa a conexão com a funcao set_active_db passando a chave do array (extra ou default) por parametro...
Se vc não passar nada por parametro, ele volta para a conexao default...
<?php
function meumodulo_view () {
set_active_db('extra');
$rs = db_fetch_object(db_query("select * from minha_tabela where id = %d", $_GET['id']));
set_active_db();
return $rs;
}
?>
Este é um simples exemplo de uso...
Espero ter esclarecido sua duvida... flw!
--
Pedro Faria de Miranda Pinto
http://www.eusouopedro.com
http://www.phpavancado.net
Bate Papo sobre Drupal? irc://irc.freenode.net/drupal-br
Pedro,
Acho que acabei enrolando demais, vou explicar melhor a minha dúvida.
Quero adicionar um comando "include" do php dentro de um bloco.
O arquivo a ser adicionado possui uma consulta ao mesmo banco de dados utilizado pelo drupal.
O problema é que ao fazer isso como sei, utilizando o <?php include "arquivo.php"; ?> acaba dando erro na tela, o mesmo erro descrito acima.
Ou seja, só queria saber como fazer isso. Não preciso abstrar bancos, pois é o mesmo.
Abraços,
Então tem q ver o que tu ta fazendo neste arquivo.php... pra sabe o pq que ele ta gerando esta msg de erro!
Bate Papo sobre Drupal? irc://irc.freenode.net/drupal-br
--
Pedro Faria de Miranda Pinto
http://www.eusouopedro.com
http://www.phpavancado.net
Bate Papo sobre Drupal? irc://irc.freenode.net/drupal-br
O arquivo .php que estou incluindo dentro do corpo de um bloco possui uma consulta sql. somente isso.
faz um select de umas coisas no banco e imprimi.
O problema é que colando esse codigo no corpo do bloco, como formato de entrada php rola.
Mas colocando "include/arquivo.php" exibe as mensagens de erros citadas acima.
O meu codigo .php por exemplo:
<?php
//Consulta
$YT_sql_1b=mysql_query("SELECT dst FROM url_alias WHERE src='$YT_rs1_UrlBruta'");
//Resultado
$YT_rs_1b=mysql_fetch_array($YT_sql_1b);
//Variavéis
$YT_rs1b_Url=$YT_rs_1b[dst];
?>
Esse é um pequeno trecho. Nao ta completo. So queria saber porque da errro de conexao. A conexao ja nao esta aberta. Ou o drupal tem alguma trava de seguranca para includar arquivos .php externos com consultas ao banco de dados?
Abraços