Aldeia Numaboa

  • Increase font size
  • Default font size
  • Decrease font size
Home Informática Tutoriais e Programação Joomla Adicionando um ícone junto aos do pdf, print e email

Adicionando um ícone junto aos do pdf, print e email

Indique esta página Imprimir PDF
(4 votos, média 3.3 de 5)
Índice do Artigo
Adicionando um ícone junto aos do pdf, print e email
Trocando views
Todas as páginas

Escrevi este tutorial a pedido do meu amigo Jonnathan que me mandou um email perguntando "como inserir um novo icone do lado dos icones e-mail, imprimir, pdf, etc.. com uma nova função". Achei a idéia interessante, principalmente por que, para implementar um projeto destes, é preciso conhecer alguns aspectos relevantes do CMS Joomla.

Etapas do projeto

As etapas deste projeto são as seguintes:

  1. Em primeiro lugar, é preciso saber onde os ícones pdf, imprimir e email (com seus respectivos links) estão sendo gerados.
  2. Depois disto, é preciso saber qual template está sendo utilizado para gerar as páginas onde queremos o novo ícone.
  3. Finalmente, é preciso substituir o arquivo original que gera os ícones (e outras partes das páginas) por um outro que faça parte do conjunto de arquivos do template escolhido.

Conhecendo o caminho das pedras, este projeto até que é simples de implementar. Então, vamos lá.

Arquivo primário que cria as páginas

O componente, que faz parte do sistema Joomla, responsável pela apresentação de páginas colocadas em classes e categorias (assim como as não categorizadas) é o com_content. Este componente realiza todas as tarefas e, para a apresentação final, busca o template que designamos para a classe e/ou categoria do artigo (com isto, também o template do próprio artigo). A estrutura do com_content é a seguinte (procure no diretório /components/com_content):

content.php
controller.php
index.html
metadata.xml
router.php
view.php
helpers --------|
                |- icon.php
                |- index.html
                |- query.php
                |- route.php
 
models ---------|
                |- archive.php
                |- article.php
                |- category.php
                |- frontpage.php
                |- index.html
                |- section.php
 
views-----------|
                |- archive -----|
                                |- index.html
                                |- metadata.xml
                                |- view.html.php
                                |- tmpl -----|
                                             |- default.php
                                             |- default.xml
                                             |- default_items.php
                                             |- index.html
                |- article -----|
                                |- index.html
                                |- metadata.xml
                                |- view.html.php
                                |- view.pdf.php
                                |- tmpl -----|
                                             |- default.php
                                             |- default.xml
                                             |- form.php
                                             |- form.xml
                                             |- index.html
                                             |- pagebreak.php
                                             |- pagebreak.xml
                |- category ----|
                                |- index.html
                                |- metadata.xml
                                |- view.feed.php
                                |- view.html.php
                                |- tmpl -----|
                                             |- blog.php
                                             |- blog.xml
                                             |- blog_item.php
                                             |- blog_links.php
                                             |- default.php
                                             |- default.xml
                                             |- default_items.php
                                             |- index.html
                |- frontpage ---|
                                |- index.html
                                |- metadata.xml
                                |- view.feed.php
                                |- view.html.php
                                |- tmpl -----|
                                             |- default.php
                                             |- default.xml
                                             |- default_item.php
                                             |- default_links.php
                                             |- index.html
                |- section -----|
                                |- index.html
                                |- metadata.xml
                                |- view.feed.php
                                |- view.html.php
                                |- tmpl -----|
                                             |- blog.php
                                             |- blog.xml
                                             |- blog_item.php
                                             |- blog_links.php
                                             |- default.php
                                             |- default.xml
                                             |- index.html

Eu sei que é uma canseira ver toda esta árvore de diretórios e seus arquivos, mas isto é essencial para entender como funciona a etapa 3 do nosso projeto. Todos os arquivos index.html podem ser ignorados - eles apenas estão presentes em todos os diretórios por motivo de segurança. Se alguém chamar um destes diretórios diretamente, usando um endereço como "www.seusite.com.br/components/helpers/", vai receber apenas uma página em branco e não a listagem dos arquivos e dos sub-diretórios.

O único arquivo que nos interessa no momento é um dos default.php, mas antes umas palavrinhas sobre templates.

Os templates

Uma das características dos templates (que estão todos em sub-diretórios do diretório /templates) é que são chamados pelo componente com_content para fornecerem "a cara da página". São responsáveis pela cor de fundo, cor do texto, jeitão dos links e por aí vai. Acontece que têm mais uma característica muito especial: se houver um arquivo com o mesmo nome no diretório /html/com_content/article, /html/com_content/category, etc, o arquivo do componente com_content será automaticamente subsituído pelo do template.

Este é o pulo do gato! Podemos trocar o arquivo original por outro que faça exatamente o que queremos! Então vamos lá...



Atualização Ter, 09.12.2008 18:46  

Na Aldeia

Há 117 visitantes online

3630 registros
0 hoje
14 nesta semana
4 neste mês

Boas vindas: flor

Estatística

Membros: 3639
Artigos: 1045
Links: 90
Leituras: 6680822

Login

Kanji da hora




Faça contato







Você conhece a brincadeira do o que é, o que é? Tem algumas bonitinhas como o que é, o que é? Cai de pé e corre deitada! (a chuva) ou, o que é, o que é? Quando entra na casa fica do lado de fora! (o botão da camisa). E esta aqui, será que você mata?

Leia Mais