• Cadastro
  • Fóruns
  • Manual
  • Tradução
  • Tutoriais
  • OpenAtrium
Início

Login do usuário

  • Criar uma conta
  • Recuperar senha

Download

Últimas versões

Drupal 6.19 Drupal 5.23

Contribuições

Módulos Temas Tradução


Lista de Discussão

Drupal-BR

Pesquisa no site

Google

Treinamento Drupal 15 de maio e 24 de junho de 2010 em São Paulo e Rio de Janeiro

Itens ativos

  • Busca em site
  • ERRO NO SQL (EU ACHO)
  • Pagina Não encontrada
  • redirecionar para a listagem de conteúdo depois de adicionar algum conteúdo
  • Vaga: Líder Técnico PHP (Campinas/SP)
  • Ibmec Jr. Consultoria Empresarial
  • Resposta de usuário anônimo no Fórum
  • Treinamento Drupal em Curitiba
  • Upload
  • Views para lista de usuários sem repetição.
Veja mais

Posts mais lidos hoje

  • Manual
  • Tutorial - Criando um site com caixas de notícias
  • Vaga: Líder Técnico PHP (Campinas/SP)
  • Sobre o Drupal
  • Treinamento Drupal em Curitiba
  • Instalação
  • Ibmec Jr. Consultoria Empresarial
  • Resposta de usuário anônimo no Fórum
  • Instalação ilustrada em localhost
  • Mamão e Drupal com açucar, desmistificando o primeiro contato com o Drupal

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

Posso fazer um layout para cada pagina? mudando nao todo contexto mas ao menos o logo?

Ahh a pergunta ja ta no titulo do topico..

eu queria poder por um tipo de logo em cada pagina...e pra isso preciso de diferentes templates. consigo fazer isso?
flw

‹ Novo Problema - Splash Pages no Drupal Pasta files/ no drupal multisites ›
Enviado por fr4nc0w em 25/09/2008 - 13:34
  • Drupal
  • 6.x
  • Se logue ou se registre para poder enviar comentários
  • 1533 leituras
Em 25/09/2008 - 13:41 tregismoreira disse:

Eu penso em 2 soluções:

1 - Fazer um script no próprio page.tpl
2 - Criar vários blocos e configurar a exibição em cada página.

Abraço!

Thiago Régis

Abraço!
Thiago Régis
@tregismoreira
Consultoria e Treinamento em Drupal
Drupal Casesbeta

  • Se logue ou se registre para poder enviar comentários
Em 25/09/2008 - 15:46 fr4nc0w disse:

Precisamos de páginas que as pessoas leigas postem e o conteudo saia lá jah no respectivo tipo de template o conteudo dela.

Será que seria um empecilho? tipo aquele template para aquela categoria será possivel?

ainda nao entendi direito como funciona o conteudo dinamico do drupal.

Vamos assim, crio um tipo de pagina onde o JOAO irá postar o tempo do dia de hoje. mas o JOAO só faz isso, e a MARIA posta como está o TRANSITO hoje, e isso sao paginas separadas de padroes diferentes e personalizados, posso fazer templates diferentes para os 2? e fazer com q essas 2 pessoas sempre postem nesse tipo de pagina sempre?

quero entender a logica do gerenciamento do drupal.

flw e vlw mesmo por enquanto

Fr4nc0w

http://www.guiadetudo.com

Fr4nc0w

  • Se logue ou se registre para poder enviar comentários
Em 25/09/2008 - 21:52 tregismoreira disse:

Veja, neste caso acho que vc vai precisar trabalhar com Panels 2. Estude sobre o node override neste tutorial: http://drupal.org/node/201915

Eu diria que estou com o mesmo problema do seu. Consegui fazer parte com o node override, porém não consegui fazer 2 templates diferentes (automáticos) para meu site. Mas não deixe de estudar isso, pois acho que esse é o caminho.

O Leopoldo me deu uma dica uma vez do Taxonomy Panel, mas eu achei ele muito confuso e confesso que não consegui fazer NADA com ele. :(

Se conseguir me fale, pois tmb estou querendo saber :D

Thiago Régis

Ainda estou aprendendo. Tenham paciencia comigo ^^

Abraço!
Thiago Régis
@tregismoreira
Consultoria e Treinamento em Drupal
Drupal Casesbeta

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 11:51 Leopoldo disse:

Bom... você não precisa criar uma página onde o João irá postar sobre o tempo e a maria sobre o trânsito. Precisa de um content tipo "trânsito" e outro tipo "tempo". E permissões ao role do João para criar "tempo" e ao role da maria para criar "trânsito". A página será gerada automaticamente (por view, categoria, panels...).

O módulo Content Templates permite você definir um template diferente para cada tipo de conteúdo.

Sem problemas.

Abraço!

Abraço!

Leonardo Silva
Produtor Cultural
Desenvolvedor Web

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 12:26 rup3rt disse:

Várias módulos --------------

http://drupal.org/project/taxonomy_theme
http://drupalmodules.com/module/theme-setter
http://drupalmodules.com/module/dynamic-theme
http://drupalmodules.com/module/view-theme
http://drupalmodules.com/module/mobile-theme-selection

Acho que você pode utilizar estes junto com panels2..........

R3

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 14:44 fr4nc0w disse:

Content Template - serve para alterar os templates de certos tipos - BLOCOS - PAGE - STORY, muda o tipo de cada 1 dos 3 mas nao de cada conteudo de fato.

Fr4nc0w

http://www.guiadetudo.com

Fr4nc0w

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 14:58 Leopoldo disse:

Foi o que eu disse. Permite definir um template para cada tipo de conteúdo. Não para cada conteúdo. O R3 colocou uma série de módulos aí, talvez seja útil, nunca usei esses.

Se nenhum for satisfatório, você pode definir o template de cada conteúdo manualmente, por html ou php. Tem uma questão semelhante a essa no fórum, em que o camarada optou em colocar manualmente. Ele queria um background diferente em cada conteúdo. Resolveu com html:

<table background="caminhodaimagem">

(Formato de entrada como full html)

Abraço!

Abraço!

Leonardo Silva
Produtor Cultural
Desenvolvedor Web

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 15:06 fr4nc0w disse:

Entendo..
no fundo no fundo não da pra alterar tanto assim cada pagina né?

fazer oq .. vou fazer oq esta ao meu alcance com oq foi disponibilizado no post.

E por sinal o unico modulo q dava certo nao era pra versao 6 auhaeaueae..faze oq.

vlww mesmo galeraa...
flw

Fr4nc0w

http://www.guiadetudo.com

Fr4nc0w

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 19:09 gutomec disse:

!!! CUIDADO isso é apenas uma idéia para ser discutida - NÃO SEI SE FUNFA!!!

Você pode tentar usar o comando

<?php print node_get_types('name', $node); ?>

para especificar o nome da logo, ou o caminho no theme.inc, dentro da pasta includes na linha 929:
        $settings['logo'] = base_path() . dirname($theme_object->filename) .'/logo.png';

você altera para
        $settings['logo'] = base_path() . dirname($theme_object->filename) .'/'.node_get_types('name', $node).'.png';

daí vc cria as diversas logos com o nome nome_do_tipo_de_conteúdo.png.
Essa é uma idéia, nem sei se dará certo, mas faz sentido rsrsrs.
Peço que o pessoal que é mais avançado aí no forum que pensem nessa idéia.

agora uma forma mais fácil de colocar seria posicionar uma div no header por exemplo, em page.tpl.php, e colocar o id ou a classe dela assim

<div id="imagemheader" class="<?php print node_get_types('name', $node); ?>"></div>

Daí no css vc coloca a imagem de fundo que vc desejar para os diversos tipos de conteúdo que vc criou em content types.
Acho que deva ficar mais ou menos assim:
#imagemheader.tempo{
  background: transparent url(images/tempo.png) no-repeat 0 0;
}
#imagemheader.transito{
  background: transparent url(images/transito.png) no-repeat 0 0;
}

E vc envia as imagens para tempo e trânsito para a pasta images do tema.

Eu não testei nada disso aqui e não sei se vai funcionar, não entendo muito do drupal nem de php, mas vou fuçando e descobrindo como fazer as coisas. Talvez o Rafael, o Thiago, o Marco ou o Leonardo possam desenvolver melhor isso que tentei explicar e te esclarecer melhor.
Você pode usar <?php print node_get_types('name', $node); ?> ou <?php print node_get_types('type', $node); ?> para pegar o nome do conteúdo, mas comigo as vezes se eu usar type ele não retorna nada, então uso name e dou o nome para o conteúdo sem acento, sem espaço e com letra minúscula. Se alguém souber como faz para funcionar o <?php print node_get_types('type', $node); ?> direitinho explica por favor.

Espero que ajude, ao menos é uma idéia.

Um abraço a todos,

Guto.

Luiz Gustavo

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 20:10 Leopoldo disse:

É um bom pensamento, Guto. Mas alterar o theme.inc é alterar o núcleo do Drupal e isso não é recomendado.

Outra coisa... não se iluda. rs. Meu conhecimento em programação é praticamente nulo (sem exagero). Sei html e css de tanto mexer. Nem imagino como desenvolver isso que explicou, mas vejo que você já está "pensando" como o Drupal. Se é que dizer isso tá certo. =)

Pra solução da questão do tópico, eu faria algo mais ou menos assim, no page.tpl.php:

No lugar de

<?php if ($logo) : ?>
  <div class="logo">
    <a href="<?php print $base_path ?>" title="<?php print t('Home') ?>">
    <img class="logo" src="<?php print $logo ?>" alt="<?php print t('Home') ?>" />
    </a>
  </div>
<?php endif; ?>

Colocaria

<?php if ($content_type_1) : ?>
  <div class="logo">
    <a href="<?php print $base_path ?>" title="<?php print t('Home') ?>">
    <img class="logo" src="caminho_da_imagem" alt="<?php print t('Home') ?>" />
    </a>
  </div>
<?php endif; ?>
<?php if ($category_2) : ?>
  <div class="logo">
    <a href="<?php print $base_path ?>" title="<?php print t('Home') ?>">
    <img class="logo" src="caminho_da_imagem_2" alt="<?php print t('Home') ?>" />
    </a>
  </div>
<?php endif; ?>

E assim por diante. Mas não sei se esse if tá certo, se é assim que verifica o tipo de conteúdo ou categoria/termo de categoria. É só um pensamento, do jeito que eu sei pensar. rs

Tomara que ajude.

Abraço!

Abraço!

Leonardo Silva
Produtor Cultural
Desenvolvedor Web

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 21:35 tregismoreira disse:

completando o que o Leonardo disse.. acho que a comparação pode ser feita assim:

<?php if (($node->type) == "tempo") : ?>
.....
<?php endif; ?>
<?php elseif (($node->type) == "transito") : ?>
.....
<?php endif; ?>

Será que funfa? testa aí!

Abraço!

Thiago Régis

Abraço!
Thiago Régis
@tregismoreira
Consultoria e Treinamento em Drupal
Drupal Casesbeta

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 23:23 coyote disse:

Mais uma vez o novato no Drupal dando palpite.. :)

Considerando que o fr4nc0w quer colocar apenas um logo para João, Maria, etc...
eu aproveitaria o que os nobres colegas falaram, :D mas alterando apenas o atributo do teste, ficando assim:

<?php if (($user->name) == "Joao") : ?>
.....
<?php endif; ?>
<?php elseif (($user->name) == "maria") : ?>
.....
<?php endif; ?>

O $user->name retorna o nome do usuário enquanto o $node->type retornou nulo no teste que fiz.

Ou ainda, poderia ser algo mais prático:

## essa instrução pode ficar no topo do arquivo facilitando futuras alterações
## onde será preciso alterar apenas essa linha
<?php $editores = array( 'Joao', 'Maria' ); ?>

## no body aonde entra a instrução para imprimir o logo, incluir as linhas abaixo

## verifica se o user está logado e se tem logo exclusivo para ele (se ele está no array)
<?php if ( ($user->name) && in_array($user->name, $editores) ): ?>
    <img class="logo" src="caminhodaimagem/<?php echo $user->name; ?>.jpg" alt="<?php print t('Home') ?>" />
## se não existir logo para o user faz o padrão
<?php else: ?>
    <img class="logo" src="caminhodaimagem/logopadrao.jpg" alt="<?php print t('Home') ?>" />
<?php endif; ?>

Nesse formato, se aumentarem os usuários com logos exclusivos, basta adicionar seu nome no array e como bem disse o Leonardo/Leopoldo :) vc não mexe no core do Drupal.

Abs

Muita sorte para nós!
Marco
Pier de Ipanema
Facebook
Twitter

  • Se logue ou se registre para poder enviar comentários
Em 26/09/2008 - 23:36 coyote disse:

Esquece, agora me liguei que o $user->name também não vai atender esse caso. Mas a idéia é por aí, só é preciso ver um atributo que retorne uma categoria e ai de acordo com a categoria fazer a comparação.

Não apaguei o post, porque a idéia continua valendo, apenas não sei como recuperar uma categoria no drupal... :(

Mas ficaria tipo:

$categorias = array( 'Joao', 'Maria' );
(...)
if ( ($drupalCategoria) && in_array($atributoDaCategoria, $categorias) ):
(...)

abs

Muita sorte para nós!
Marco
Pier de Ipanema
Facebook
Twitter

  • Se logue ou se registre para poder enviar comentários
Em 29/09/2008 - 13:53 fr4nc0w disse:

Simplesmente vim aqui para pedir a voces a categoria pois estava na cabeça com uma ideia identica ao que o amigo acima disse auehaeua, desde sabado ja me caiu a ficha dessa ideia.

Agora vou dar uma pesquisada de como recuperar a categoria em que estou e dai fazer if para o logo de certa categoria...

Se alguem souber ai a variavel que me retorna a categoria em que estou, fico muito agradecido!

vlw msm galera e fllwww!

Fr4nc0w

http://www.guiadetudo.com

Fr4nc0w

  • Se logue ou se registre para poder enviar comentários
Em 29/09/2008 - 15:26 fr4nc0w disse:

     <!-- LOGO -->
    <?php
        $categoria = $node->title;
         if($categoria == "Institucional"){
                        echo '<div id="logo" class="logo_institucional"></div>';
                        }
                        else{
                            echo '<div id="logo" class="logo_padrao"></div>';
                                }              
  ?>    
    <!-- / LOGO -->
 

Pronto, fiz um certo, a variavel q retorna o nome da pagina é $nod->title, mas retorna apenas daquela pagina, queria ver se tem como fazer isso pra categorias mesmo, dizer que aquela pagina faz parte de certa categoria da qual quero usar o mesmo tipo de logo.

mas blz..por enquanto deu..

flw

se tiverem mais ideias..TOWWW ai.

Fr4nc0w

http://www.guiadetudo.com

Fr4nc0w

  • Se logue ou se registre para poder enviar comentários
Em 16/02/2009 - 00:00 gutomec disse:

Oi pessoal, comentei neste post há algum tempo atrás, e depois daí evoluí um pouquinho no drupal e encontrei este vídeo que seria uma excelente solução para o problema deste tópico.
Espero que venha a ajudar alguém com probema parecido com o do Fr4nc0w.

Abraço a todos,

Guto.

Luiz Gustavo

  • Se logue ou se registre para poder enviar comentários
Em 16/02/2009 - 09:51 Leopoldo disse:

Ainda não vi o vídeo, mas aproveitando que o tópico foi comentado recentemente, deixo uma complementação à todas as respostas.

http://drupal.org/node/190815

Show de bola.

Abraço!

Leonardo Silva
Produtor Cultural
Desenvolvedor Web

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

Este site é feito, orgulhosamente, com Drupal.