Continuando um post anterior…
Quero incrementar as informações da minha revista: quero colocar uma capa para cada uma :)
Vá para /admin/build/modules ou (Administer > Site Building > Modules) e habilite o módulo “Upload”.
Agora vá para a parte de edição do conteúdo da sua revista.
No fieldset “File attachments”, escolhe seu arquivo (o meu eu baixei do mesmo site: SpawnAlley) e clique em “Attach”.
Clique em “Save”, verifique o resultado e…. a imagem aparece listada, mas apenas como um link! Isto se deve à customização que foi feita na apresentação deste conteúdo.
Obs.: Se quiser que o link para o arquivo anexado suma, basta desmarcar a opção “List” correspondente ao arquivo.
Mostrando a imagem
Vá para /admin/content/templates/revista.
Verifique novamente os body variables e procure pela imagem anexada. No meu caso, o caminho para a imagem se encontra em:
$node->files[1]->filepath
Repare que esta variável já nos fornece o caminho certo para acessar a imagem, logo se colocarmos o valor desta variável dentro de um “src” de uma <img >, já teremos uma maneira simples de visualizar a imagem.
No arquivo node-revista.tpl.php, insira a seguinte linha:
<img src="<?php print base_path() . "/" . $node->files[1]->filepath ?>" height="150" >
Salve e verifique o resultado na página da sua revista. O conteúdo, ao seu ver, pode ter ficado meio bagunçado.
Mas a partir daqui é só questão de organizer seu layout no arquivo node-revista.tpl.php. =)
FIX: Ao inserir mais revistas, percebi que o índice "1" usado na linha de código mais acima, só funciona para o primeiro caso (ou seja para a primeira imagem anexada).
O comportamento que ocorre aqui, pelo que eu pude perceber, é: o índice varia de acordo com o contador de arquivos "upados" no site. E se a revista não anexou um arquivo (imagem, etc) este contador não avança.
Logo, deve-se testar se o array está vazio, caso contrário procurar pela primeira posição não nula:
<?phpCom isso, cada "revista" mostrará a imagem correspondente.
if ($node->files != null) {
$i = 0;
while ($node->files[$i] == null) $i++;
?>
<img src="<?php print base_path() . "/" . $node->files[$i]->filepath ?>" width="100" >
<?php
}
?>
Para saber mais sobre Theming, visite o Theming guide.
Nenhum comentário:
Postar um comentário