• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
Início

Pesquisa

Google

Itens ativos

  • Upload de imagens em massa
  • Formulario personalizado
  • Site fora do ar Personalizado
  • Views e rss
  • Onde hospedar site com Drupal?
  • Como instalar e configurar o TinyMCE no Drupal
  • Caixa de noticisa estilo do site Yahoo.com.br, br.msn.com entre outros.
  • Módulo image ou outro
  • Configurações
  • Erro de requisição HTTP
mais

Posts mais lidos hoje

  • Manual
  • Tutorial Para Iniciantes
  • Tutoriais
  • Site fora do ar Personalizado
  • Sobre o Drupal
  • Como instalar e configurar o TinyMCE no Drupal
  • Correios (Sedex, Malote, PAC) para e-Commerce
  • Tutorial: Instalando o Drupal 6 em português
  • Tutorial - Criando um site com caixas de notícias
  • Drupal em português do Brasil (instalação)

Login do usuário

  • Criar uma conta
  • Recuperar senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fórum » Suporte » Drupal

Content Type avançado

Olá Pessoal !

Depois de mais um tempo usando o drupal (5.7), ainda não consegui fazer o que eu queria, que é criar um content type para um projeto, que vai conter:
1- Informações básicas sobre o projeto (título, descrição, gerente, início e fim, etc.)
2- Informações sobre cada fase do projeto (título da fase, descrição da fase, requisitos, resposável, data de conclusão, etc.)

Pelo que entendi até agora existem duas formas de fazer isso:

1. Criando um módulo e utilizando Form API
Neste caso é preciso criar o hook form_alter e testar se o node é do tipo (content type) que é preciso alterar e programar o tratamento.

2. Criando template file (node-edit.tpl.php)
Neste caso é preciso criar o hook node_form e configurar todo o formulário.

Eu já tentei das duas formas mas ainda não sei qual a melhor, mas acredito que seja criar um módulo.

1. Para implementar projeto e fases, imaginei que fases poderia ser um grupo (add group) do content type projeto e ele poderia ser multiple (assim como e possível fazer com os campos). Creio que isso não seja possível, então a pergunta: Tem como criar dois content types, projeto e fase e fazer a ligação entre eles para que o content type projetos tenha vários content types fases ?

2. Como fazer para, ao editar um content type projeto, criar um botão Adicionar Fase ?
Dá para fazer direto com Form API ou vou precisar do jquery ?

Obrigado.

‹ Transparencia em sub-itens do nice_menus Transferir de servidores (local -> Web) ›
Enviado por guyroberto em 29/02/2008 - 14:40
  • Drupal
  • Se logue ou se registre para poder enviar comentários
  • 572 leituras
Em 29/02/2008 - 17:18 rafael disse:

Olá,

Existem, basicamente, duas formas de se criar um novo tipo no Drupal:

1) Criando um módulo;
2) Usando o CCK + o que o Drupal já provê.

Para fazer da primeira forma, você vai, necessáriamente usar a Form API.
A FAPI é um recurso do Drupal que lhe possibilita construir formulários mais facilmente. Todo módulo no Drupal, a princípio, faz uso da FAPI. Ela é intrínseca ao Drupal.
Então, ao criar um módulo que tem um formulário (qualquer que seja) você deve utilizar a FAPI.

O outro modo é usando o CCK. Esse é um dos módulos que permite maior flexibilidade para criação de tipos no Drupal. Usando ele você não precisa saber programar (ao menos para o mais básico). Com o CCK você faz tudo pela Web, na interface de administração do Drupal.

Os dois modos são personalizáveis. O primeiro, por ser a construção de um módulo "do zero" te dá muito mais flexibilidade, mas o CCK também não fica pra trás.

Nos dois casos você pode fazer relacionamento entre nodes. No caso de desenvolver seu próprio módulo, você tem como programar isso como achar melhor (seja com Ajax para facilitar ou não). Com o CCK você usa um sub-móulo (se é que podemos chamar assim) que faz essa ligação. Se não me engano esse sub-módulo se chama Node Reference (ou Node Relation) e já vem no pacote que você instala quando baixa o CCK.

O que você quer não é trivial, mas é possível fazer das duas formas (com o CCK talvez seja mais fácil, num primeiro momento).

Espero ter esclarecido. Se ainda tiver alguma dúvida é só falar!

Abraço

--
Rafael Ferreira Silva
http://www.rafaelsilva.net

  • Se logue ou se registre para poder enviar comentários
Em 01/03/2008 - 00:57 guyroberto disse:

Obrigado pelas explicações Rafael. Me parece que cck e node reference resolveriam meu caso, mas já tentei usar e não consegui. Até usei o addnode, mas não consegui fazer com que na edição de um projeto eu possa incluir as suas fases na mesma página. As fases que eu incluo em um projeto ficam disponíveis para seleção em outros projetos, e isto não é correto. Também não consigo editar uma fase de um projeto.

Outra forma que eu pensei foi criar um content type para projeto e depois criar um módulo para turbiná-lo, por exemplo incluindo um botão para adicionar as fases.
Isto é possível ?

Obrigado.

  • Se logue ou se registre para poder enviar comentários
Em 17/03/2008 - 22:54 rafael disse:

Oi,

Desculpe a demora para responder.

Sobre o CCK, eu não lembro exatamente como funciona o Node Reference, então não sei dizer se esse é o comportamento padrão. Se você já tiver encontrado algo comenta aí.

Sobre a sua última sugestão, é possível sim fazer o que você sugere, mas como eu disse no meu outro post, não é trivial.

Abraço,

--
Rafael Ferreira Silva
http://www.rafaelsilva.net

  • Se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.