Académique Documents
Professionnel Documents
Culture Documents
Introduo................................................
Captulo
1
Bsicas...............................
Noes
Extenses
Configurao
Captulo
7
...............................
SEO
global
do
Joomla!
3/683
Componentes
Templates
4/683
Componente
com_users
Jlio Coutinho
Guia de Consulta Rpida Joomla! 3.x
2 Edio
AMCGuedes
2013
Este e-book foi licenciado sob uma Licena
Creative Commons AtribuioNoComercial-SemDerivados 3.0 Brasil.
Direitos Reservados
Jlio Coutinho
Capa e Arte de Capa
Egdio Carlos Paixo
Reviso
Lcia Amorim
ISBN: 978-85-64374-65-2
COUTINHO, Jlio. Guia de Consulta rpida
JOOLMA! 3 x. Rio de Janeiro: Editora
AMCGuedes,
2013.
I. Informtica. II. Guia de Consulta. III.
Joomla!.
7/683
Agradecimentos
Agradeo em primeiro lugar Deus, pela
oportunidade da vida e a vontade de compartilhar o pouco que sei, com toda a
comunidade Joomla!
Agradeo a minha esposa Rosana e meu filho
Bruno, pela pacincia e compreenso em virtude das horas e horas, debruado sobre o
computador.
Agradeo ao Egdio Carlos por criar esta bela
capa para o livro.
Agradeo toda a comunidade Joomla! que
acredita no meu trabalho e prestigia meus
tutoriais, cursos e artigos, desde 2006.
Dedicatria
Dedico este livro s minhas queridas me,
Maria da Penha e irm Renata Coutinho. "in
memoriam".
Todos os dias lembro-me de vocs em minhas oraes...
Todos os dias arrependo-me por nunca terlhes dito "Eu te amo"...
Todos os dias arrependo-me de ter-lhes negado um sorriso...
Todos os dias arrependo-me de fugir de um
abrao apertado, que me oferecestes.
Introduo
A fronteira entre o profissional e o amador
est reduzida e cada vez mais, novos web
sites so publicados na rede mundial de
computadores, Internet. Rede mundial de
computadores ou pessoas? O advento das
redes sociais mudou drasticamente este conceito to defendido pelos especialistas,
quando nos deu o poder de sermos ouvidos.
Somos formigas com megafone!
Projetos de qualidade, com custo e prazo reduzidos, isto que o cliente deseja. Ele no
tem tempo, alis, ningum tem tempo para
nada, apesar do grande livro pregar que existe tempo para tudo na face da terra.
Sou do tempo em que fazer o site na unha
era sinnimo de conhecimento, hoje reflete a
ignorncia e falta de percia com ferramentas
modernas
que
nos
ajudam
no
11/683
desenvolvimento web e o Joomla! surge enquanto melhor CMS open source da atualidade. Mas, e a essncia do webdesign, aonde
fica? Design de pgina, site, contedo e
navegao web, usabilidade, acessibilidade,
persuaso e segurana, so desconhecidos
por pseudo-profissionais que aventuramse na arte de criar, publicar e manter na Internet, projetos web que refletem muitas
vezes, o sonho de vida do cliente. Tenho
saudades do tempo em que todo mundo era
tcnico em informtica, hoje, todos so
webdesigners.
Muitas pessoas pensam que o Joomla! a
soluo para seus problemas financeiros e
como um passe de mgica ele far lindos
websites dinmicos, modernos e funcionais.
Tenho uma novidade para voc: Joomla!
no faz nada. Ele gerencia o que voc faz.
Alis, isto est intrnseco na prpria nomenclatura
do
mesmo.
CMS
(Content
12/683
13/683
14/683
15/683
16/683
18/683
19/683
20/683
21/683
22/683
23/683
24/683
25/683
26/683
27/683
ns1.dominiodoprovedor,
o
slave
1
ns2.dominiodoprovedor e sucessivamente.
Esses dados so informados a voc via email, pelo provedor contratado.
28/683
Provedor de hospedagem
Existem vrias empresas que hospedam
websites no Brasil a um valor mensal mdio de R$20,00. No indico nenhuma e sugiro que faa uma busca por hospedagem de
sites na google e escolha seu plano de hospedagem, preferencialmente Linux. Muitos
usurios tm medo de escolher o plano
Linux por nunca terem usado o sistema operacional do pinguim e acabam optando por
Windows, o que via de regra acarretar em
problemas futuros.
A montagem do servidor fica por conta da
empresa contratada cabendo a voc a utilizao de forma transparente. Aps escolher o
29/683
30/683
31/683
32/683
Captulo 2 - Joomla! 3
As 10 principais novidades do Joomla! 3,
so listadas a seguir:
Compatibilidade total com Mobile (WAP)
Instalao rpida, simplificada e com opo
de vrios tipos de layouts
Melhoria sensvel na usabilidade do painel
administrativo (Back-end), com novo template
Melhoria na usabilidade do gerenciamento
de contedo via painel administrativo (backend)
Implementao de Drag-and-drop (arrastar
e soltar)
Unificao das configuraes mais relevantes
Implementao de seleo rpida (auto completar)
Controle sobre as atualizaes do Joomla via
tem de menu no painel administrativo
(back-end)
34/683
em
Ciclo de Lanamento
Joomla! desenvolvido utilizando um ciclo
de lanamento fixo. A cada seis meses, o projeto Joomla! lana uma nova verso. As verses so classificadas em:
Major;
Minor; e
Maintenance.
Cada verso do Joomla! suportada pelo
Projeto Joomla! por um determinado perodo de tempo. Existem duas classificaes
para o suporte: Suporte Padro (STS) e
Suporte a longo prazo (LTS). A cada trs
lanamentos, ser atribudo suporte a longo
prazo.
STS (suporte padro) Os lanamentos so
suportados por sete meses. Seu suporte
35/683
36/683
37/683
38/683
39/683
40/683
41/683
42/683
43/683
44/683
45/683
46/683
47/683
48/683
49/683
50/683
mysql.seudominio.com.br
Quando estiver usando Joomla em ambiente
remoto (provedor de hospedagem), esse
campo deve ser preenchido com a informao recebida por seu provedor. Esta informao enviada por email e consta no painel
de controle, aba Banco de Dados, de sua
hospedagem.
Nome de Usurio Em ambiente local, com
instalao padro do SGBD Mysql, sempre
ser root. Em ambiente remoto (provedor de
hospedagem), nunca ser root. Caso encontre algum provedor com usurio root
para acesso ao banco de dados, mude de
provedor.
Senha Em ambiente local em SO Windows,
com instalao padro do SGBD Mysql,
sempre ser em branco. Em ambiente local
com SO GNU/LINUX, ou ambiente remoto
(provedor de hospedagem), nunca ficar em
branco. Ser necessrio criar uma senha de
51/683
52/683
53/683
54/683
55/683
56/683
57/683
Aps a instalao do idioma devemos escolher qual ser o padro do site e da administrao e continuamos com o processo, removendo o diretrio de instalao.
58/683
59/683
Front-end x Back-end
O front-end a parte pblica de um site
Joomla e o back-end a parte administrativa.
Na raiz do site existe um diretrio chamado
60/683
61/683
62/683
63/683
Diretrio CLI
64/683
65/683
component
de
66/683
gerenciamento de weblinks
com_wrappers componente de gerenciamento de iframes.
Diretrio Images
Diretrio Includes
67/683
fron-end da aplicao.
Os seguintes arquivos esto no diretrio /includes:
application.php cria a classe Jsite
defines.php define o caminho dos arquivos
e constantes
framework.php carrega as partes comuns
usadas pelo framework do Joomla (Joomla!
Platform)
menu.php carrega as entradas de menu do
site, na memria
pathway.php cria a classe JpathwaySite
que usada no mdulo caminho de migalhas (mod_breadcrumbs), que mostra o
caminho atual do tem de menu
router.php carrega a classe Jroutersite.
Diretrio Installation
Este diretrio possui uma mini-aplicao necessria a instalao inicial do Joomla!
Quando a sesso do back-end ou front-end
iniciada o sistema checa o arquivo configuration.php. Caso no seja encontrado este
68/683
69/683
70/683
Diretrio Logs
71/683
Neste diretrio temos os subdiretrios contendo cada mdulo de front-end de uma instalao do Joomla! 3.
72/683
73/683
74/683
75/683
Diretrio Templates
Neste diretrio temos os templates instalados no front-end do site. Na instalao
padro do Joomla! 3.x o template usado pelo
sistema o Protostar.
No Joomla! o contedo fica gravado no
banco de dados e a parte grfica fica a cargo
de uma extenso chamada template. A separao entre contedo e grfico um dos
conceitos defendidos pela Web 2.0.
O subdiretrio system contm o template
que ser utilizado automaticamente pelo sistema caso no seja encontrada a classe css
utilizada pelo template padro do site.
Diretrio Tmp
76/683
77/683
78/683
79/683
80/683
Diretrio Templates
81/683
navegador.
configuration.php este arquivo criado
aps a instalao do Joomla e contm informaes importantes e sensveis do site.
Por exemplo, as diretivas de acesso ao banco
de dados. Os dados do arquivo podem ser
editados atravs do Painel de Controle
Configuraes Globais no back-end do site,
exceto a senha de acesso ao banco de dados
que, por questes de segurana no visualizada no back-end. Para alterar a senha,
deve-se abrir o arquivo para edio em uma
IDE que suporte arquivos .php. Por exemplo,
o bloco de notas.
htaccess.txt este arquivo deve ser
renomeado para .htaccess ( o (.) antes do arquivo significa que o mesmo um arquivo
oculto do GNU/LINUX). O .htaccess pode
ser definidio como um arquivo de orientao
para o servidor web Apache. No Joomla,
permite a utilizao de URLs amigveis e em
conjunto com o mdulo mod_rewrite do
82/683
83/683
85/683
86/683
87/683
88/683
89/683
90/683
91/683
92/683
94/683
95/683
96/683
97/683
99/683
100/683
101/683
102/683
O template possui um menu dinmico localizado na parte superior, que permite acesso
ao CMS como um todo e cada ao ser explicada de forma analtica. Abaixo temos um
resumo das mesmas:
1 opo a esquerda ttulo do site, uma vez
clicado, permite o acesso ao front-end;
Opo System permite acesso aos parmetros relativos ao sistema:
Control Panel acessa o painel de controle
Global Configuration acessa as configuraes globais do site
Global checkin permite checar as tabelas,
limpar o cache e purgar o cache expirado
Clear cache permite limpar o cache
Purge expired cache permite purgar o
cache expirado
System Information permite acesso a configuraes relevantes do sistema
Aba System Information: informaes sobre
103/683
104/683
105/683
site.
Module Manager: gerenciamento, criao,
publicao, duplicao e desinstalao de
mdulos.
Plug-in Manager: gerenciamento, publicao
e desinstalao de plug-ins.
Template Manager: gerenciamento, edio,
publicao e duplicao de templates.
Language Manager: gerenciamento de idiomas do site e da administrao, criao de
idioma de contedo (para sites multi-idiomas) e sobreposies de textos do idioma
(override).
Help permite acesso as opes de ajuda do
Joomla!
Painel de Controle
O painel de controle (Control Panel) do template isis, divide-se em trs partes: Dashboard, Frame Central e Quick Icons.
Dashboard
106/683
Frame Central
O miolo (Frame Central) do template isis,
centraliza informaes de usurios logados,
artigos populares e ltimos artigos adicionados ao site.
107/683
Quick Icons
Os cones rpidos mudaram sensivelmente.
Menores e menos coloridos, permitem ao
usurio uma experincia interessante ao administrar o site via Back end. Acabou a disperso por conta de imagens animadas e
cores carregadas, a usabilidade agradece.
108/683
110/683
111/683
112/683
113/683
o editor de texto padro do Joomla! e recomendo sua utilizao, tendo em vista ser o
melhor editor de texto open source. Duvida?
Vou mostrar-lhe no captulo de contedo.
Default Captcha O tipo de captcha utilizado no cadastro de usurios de seu site.
Default Access level Pblico, o nvel de
acesso padro do site. S altere se souber exatamente o que est fazendo.
Default List Limit A quantidade de itens
visualizados por tela, pode variar de 5 100.
Default Feed Limit A quantidade de feeds
visualizados por tela, pode variar de 5 100.
Feed Email As configuraes de email das
feeds. As opes so: email do autor, email
do site ou nenhum email.
Metadata Settings
Metadados)
(Configuraes
de
114/683
115/683
116/683
117/683
118/683
119/683
120/683
121/683
122/683
123/683
124/683
125/683
figura:
Server Time Zone configurao da localizao do seu site muito importante, para
evitar que os artigos postados fiquem com o
horrio diferente da realidade. No meu caso
optei por So Paulo, vide a imagem. Escolha
a cidade desejada e selecione.
FTP Settings (Configuraes de FTP)
126/683
127/683
128/683
129/683
130/683
131/683
132/683
133/683
134/683
135/683
136/683
137/683
139/683
140/683
141/683
142/683
143/683
144/683
145/683
SEO.
Os artigos podem incluir informaes de
SEO.
Mdulos geralmente no tm opes de SEO,
mas alguns podem ter o recurso.
Os templates, no tm opes de SEO.
Dependendo do desenvolvedor, as extenses
podem ter opes de SEO includas em seus
parmetros.
Melhores prticas SEO
A melhor prtica construir um site que
tenha muito contedo e que as palavraschave estejam de acordo com o que o
pblico-alvo do seu site ir usar como termo
de pesquisa na google.
A maioria dos itens de contedo tm opes
de metadados que podem ser configuradas
para fornecer informaes sobre contedo
para os motores de busca. Artigos, links de
itens do menu, alguns mdulos (dependendo
do que eles fazem), e alguns componentes
146/683
147/683
Robs Opes
Index, Follow - Esta a configurao padro,
embora possa parecer o contrrio. O Spider
ir indexar o site inteiro e todas as outras pginas que tm links em menus ou em contedo.
Index, Follow - Neste caso, o site no ser indexado, mas a pginas de contedo sim.
Index, No Follow - Permite que o Spider leia
a pgina inicial do site, mas no v alm do
148/683
149/683
150/683
151/683
152/683
em anncios pagos.
Os resultados obtidos sem a utilizao do adwords so conhecidos por resultados de
busca orgnicos e possuem maior credibilidade por parte dos internautas.
Sempre que possvel, busque um bom page
rank, no resultado orgnico.
Google Analytics
Google Analytics um servio gratuito e
oferecido pela Google no qual, ao ativar-se o
servio por intermdio de uma conta do
gloogle (Gmail por exemplo) e ao cadastrarse um site recebe-se um cdigo para ser inserido na pgina cadastrada e, a cada exibio, estatsticas visitao so enviadas ao
sistema e apresentadas ao dono do site.
Foi criado principalmente como um auxilio
aos webmasters para otimizar seus sites para
campanhas de marketing e para a google Adsense.
O
endereo
oficial
do
servio
153/683
http://www.google.com/analytics/ e caso
no possua uma conta ainda, trate de cri-la.
Durante o desenvolvimento do projeto, voltaremos a falar de Google Analytics.
Google Webmasters
Outro servio essencial para uma boa campanha de webmarketing, a google Webmasters, servio voltado aos desenvolvedores
Web, com vrias ferramentas relevantes para
que o seu site esteja compatvel com a
Google.
O
endereo
do
servio
http://www.google.com.br/webmasters/,
basta possuir uma conta do Gmail, ou outro
servio da Google para iniciar a utilizao.
Tcnicas Black Hat
No jargo SEO, black hat so atitudes ilcitas
utilizadas, na tentativa de ludibriar o buscador. Existem vrias tcnicas que se
154/683
156/683
157/683
158/683
159/683
contedo, apenas os grupos padres so criados e vamos estud-los rapidamente. Observe a imagem abaixo.
figura: Grupos padro do Joomla!
160/683
161/683
162/683
163/683
164/683
165/683
166/683
167/683
168/683
169/683
170/683
172/683
173/683
174/683
175/683
176/683
177/683
178/683
179/683
Cadastro de Usurio
O cadastro de usurio pode ser efetuado via
back end, ou front-end, atravs do formulrio de cadastro associado ao mdulo
Login Form Create an account.
Vamos cadastrar 03 (trs) usurios para que
possamos fazer alguns exerccios em relao
poltica de ACL do nosso site. Os meus
usurios sero:
cout45,
user1; e
user2.
180/683
181/683
182/683
183/683
184/683
185/683
186/683
187/683
188/683
Aps a criao do grupo, partimos para a associao dos usurios ao grupo recm- criado e justamente neste ponto, que mora o
perigo.
Quando um usurio efetua o seu cadastro,
ser vinculado ao grupo Registered que no
tem permisso para enviar, editar e publicar
artigos. Logo, temos que tomar muito cuidado para no vincular o nosso usurio ao
grupo Blog, sem desvincul-lo do grupo Registered, sob pena de causar um conflito.
Quando um usurio est vinculado a mais de
189/683
um grupo, por segurana, o Joomla! obedecer o vnculo com o grupo de menor hierarquia.
O vnculo do usurio cadastrado ao grupo
Registered, um padro e pode ser alterado
no menu superior users barra de ferramentas Options.
Recomendo cautela na alterao deste parmetro. J pensou no que aconteceria se todos os usurios cadastrados no seu site, estivessem vinculados por padro, ao grupo Super User?
Agora vamos associar os usurios cadastrados a seus respectivos grupos, para tal, basta
clicar no nome do usurio, aba Assigned
User Groups, desmarcar o grupo Registered
e marcar o grupo que voc criou. No meu
caso, Blog.
Dentro da poltica de ACL quem montei para
o site do livro teremos at o momento a
seguinte associao:
cout45 Grupo Blog
190/683
191/683
Guest,
Registered; e
Special.
Partindo do principio que voc criou o grupo
Blog, crie o grupo Destaques vinculado ao
grupo Blog. Ou seja, o grupo Destaques
filho do grupo Blog.
Agora, na aba Access Level, crie o nvel de
acesso colunistas, vinculado ao grupo
Destaques.
figura: Grupo e nvel criados
192/683
193/683
Captulo 10
Contedo
Gerenciamento
de
195/683
196/683
197/683
198/683
199/683
gerenciamento de categorias; e
gerenciamento de artigos.
Configuraes Globais (Contedo)
Antes de iniciarmos o gerenciamento propriamente dito, devemos configurar de forma
global, o funcionamento do Joomla! em relao aos contedos do site.
Vamos continuar explorando o menu superior, lembrando sempre que o acesso pode ser
feito tambm, pelos cones rpidos.
figura: menu superior Content
200/683
Artigos as configuraes globais em relao aos artigos esto subdivididas em parmetros de artigos, autores e cones.
201/683
Choose a layout tambm chamado de override de template, voc pode escolher um layout especfico para apresentar os artigos de
seu site. O parmetro global e/ou individual. Ou seja, para cada artigo voc pode optar
por escolher um layout exclusivo;
Show Title parmetro que determina a
visualizao ou no, do ttulo do artigo;
Linked Titles este parmetro pemite que os
202/683
203/683
204/683
205/683
206/683
207/683
208/683
209/683
categoria. No estilo lista, montada uma tabela que apresenta o ttulo dos artigos, com
links para o respectivo texto;
Category Title parmetro que determina a
visualizao ou no, do ttulo da categoria;
Category Description se habilitado (show),
mostra a descrio da categoria;
Category Image se habilitado (show),
mostra a imagem da categoria;
Subcategory Levels a quantidade em
nmeros, de subcategorias apresentadas;
Empty Categories se habilitado (show),
mostra categorias vazias;
No Articles Message - se habilitado (show), a
mensagem 'No h artigos nesta categoria'
ser exibida quando no houver artigos na
categoria ou quando o prametro "categorias
vazias" estiver definido como mostrar
(show);
Subcategories Descriptions se habilitado
(show), mostra a descrio das subcategorias; e
210/683
Top Level Category Description se habilitado (show), mostra a categoria de nvel principal;
Subcategory levels a quantidade em
nmero, de subcategorias;
Empty Categories se habilitado (show),
mostra as subcategorias vazias;
211/683
212/683
colunas;
Links quantidade em nmero de links;Top
Level Category Description se habilitado
(show), mostra a categoria de nvel principal;
Multi Column Orders ordenao dos artigos em colunas; e
include subcategories essa opo permite
incluir artigos de subcategorias no layout do
blog.
List layout - Essas configuraes se aplicam
para layouts em lista, ou seja, tabelas que apresentam os ttulos dos artigos de determinada categoria, apontando para o texto.
figura: Layout em lista
213/683
214/683
215/683
216/683
217/683
218/683
219/683
tem de Menu
tem de menu o nome que os botes do
menu recebem no Joomla! Sua funo
fazer o link para o contedo desejado.
Entenda-se por contedo, qualquer tipo de
informao que possa ser visualizada em um
navegador. Ex: artigos, imagens, vdeos e
etc...
Durante o desenvolvimento do projeto final
abordaremos de forma analtica o processo
220/683
221/683
Joomla!:
Contacts lista as formas de link existentes
no componente de contato, a saber:
List All Contacts Categories o link ser
aberto em formato de lista com todas as categorias de contato, existentes;
List Contacts in a Category o link ser
aberto em formato de lista com todos os contatos de uma determinada categoria;
List All Contacts Categories o link ser
aberto em formato de lista com voc deve clicar em Articles Create Article.
Articles lista as formas de link existentes
para artigos no Joomla!, a saber:
Archived Articles link para artigos arquivados;
Single Article link direto para um artigo;
List All Categories lista todas as categorias
publicadas no site;
Category Blog lista os artigos de determinada categoria em formato de blog;
222/683
223/683
224/683
no site.
Wrapper link do tipo iframe.
System links Links de sistema
External URL link para uma URL interna
ou externa. Ex: site ou sistema web;
Menu Item Alias link para criao de um
apelido para tem de menu; e
Text Separator link para um separador de
texto.
Configurao do Editor de Texto
O CMS Joomla! possui editores de texto nativos e por padro utiliza o TinyMCE. Infelizmente por puro desconhecimento, muitos
usurios optam por no usar o editor padro
do Joomla! e por vezes negligenciam a segurana, com editores que constam da lista de
vulnerabilidades.
O TinyMCE possui todos os recursos necessrios a um editor de texto completo e poderoso e para us-lo em sua plenitude, a
225/683
primeira coisa a fazer seguir pelo menu superior Extensions Plug-in Manager Editor TinyMCE.
Clique no nome do plug-in para abrir a viso
de edio do TinyMCE. Perceba que temos
duas abas, a saber:
Details; e
Basic Options
Clique na aba Basic Options e faa as
seguintes alteraes:
Functionality - escolha extended para habilitar todas as funcionalidades do editor de
texto;
Skin gosta do Office do Windows? Que tal
o Skin Office blue 2007; e
Prohibited Elements deseja usar um formulrio legado, ou mesmo inserir vdeos do
youtbe usando o editor? Deixe apenas applet,
como elemento proibido.
Essas so as alteraes que fao para aproveitar ao mximo os recursos do editor de
texto nativo do Joomla! Em Extended Mode
226/683
Options, logo abaixo, voc tem opo de configurar todos os recursos que sero apresentados no front-end, quando houver envio de artigos pelos usurios autorizados.
Em 2010 publiquei um artigo completo
sobre a utilizao do editor de texto
TinyMCE, desde a sua configurao at a
utilizao dos principais recursos. O artigo
foi para o Joomla! 1.5, porm continua atual
pois apesar de estarmos na verso 3.0, nada
mudou. Acredita? Isto reflete a maturidade
do Editor TinyMCE que a exemplo do
Joomla!, um projeto Open source. Conhea
os segredos do Tiny em http://www.livrodejoomla.com.br/insumos/?#a1
Criando Categorias
Aps configurar corretamente o editor
TinyMCE, clique no boto Save and Close e
siga pelo menu superior Content Category
Manager New, para visualizar o resultado.
227/683
228/683
229/683
230/683
231/683
figura:
Perceba que a categoria Esporte, descende da categoria Blog.
232/683
233/683
perceba na imagem acima, os botes existentes no editor de texto. Quer saber para que
serve cada um?
Article permite linkar qualquer parte do
artigo que voc est criando, com um artigo
existente no Joomla;
Image uma das formas de se inserir imagem no artigo que est sendo criado;
Page Break faz uma quebra de pgina,
muito utilizado em artigos longos;
Read More Clique nesse boto para marcar
o ponto de corte do texto e inserir o Leia
Mais;e
Toggle editor Clique neste boto para
234/683
235/683
236/683
janela do link;
LINK C link para que os usurios sejam redirecionados. Deve ser URL com caminho
absoluto. Ex: http://www.joomlabrasilia.org
LINK C Text texto apresentado ao passar o
mouse sobre o link;
URL Target Window forma de abertura da
janela do link;
Vamos aos parmetros existentes a direita e
acima da viso de edio do artigo.
Status Estado de publicao do artigo
(publicado, despublicado, arquivado e
lixeira);
Access nvel de acesso para o artigo, se voc est seguindo o projeto do livro, ir visualizar o nvel de acesso Colunistas;
Featured o artigo destaque? Sim ou No?
Sim um artigo de pgina inicial; e
No o artigo ser aberto atravs de um
tem de menu.
237/683
Language o padro all (todos) os idiomas. Para sites multi-idiomas, deve-se escolher o idioma nativo do artigo.
Publishing Options parmetros de publicao do artigo;
Alias apelido do artigo. Este apelido ajuda
na indexao do artigo nas mquinas de
busca;
ID Identificador do artigo, a PK (chave
primria) da tabela, no banco de dados;
Created by usurio relacionado a criao
do artigo;
Created Date data de criao do artigo;
Os artigos so temporizados, ou seja, voc
pode escolher a data de incio e fim da publicao.
Start Publishing Data de publicao do
artigo; e
Finish Publishing Data de trmino da publicao do artigo.
238/683
dos
239/683
(lorem ipsum dollor), utilizado para formatar textos em layout? Conhea uma forma
interessante pesquisando pelo termo
"gerador de lero lero", no Google.
Aps criarmos o artigo na categoria blog,
optando por coloc-lo como destaque, inserindo imagem e Leia Mais, vamos visualizlo no front-end. Clique em View Site, abaixo
e esquerda do back-end.
figura: Visualizao do artigo no front-end
240/683
241/683
Perceba na imagem acima, a utilizao do filtro para selecionar o menu desejado, muito
importante utiliz-lo, para ganhar tempo e
aumentar a produtividade.
Voc pode estar se perguntando: Por qu
mudamos o nvel de acesso do tem de
menu? Simples, se o nvel permanecesse
public, o tem de menu estaria visvel aos visitantes do site e uma mensagem de erro seria
exibida, caso fosse clicado.
Acesse o Front-end do site e no mdulo de
login acesse a rea restrita utilizando o
usurio que voc cadastrou no captulo 9.
242/683
243/683
244/683
Vdeo no artigo
A insero de vdeos em artigos, pode ser
efetuada diretamente no editor de texto
TinyMCE, ou atravs da utilizao de uma
extenso do tipo plug-in.
O plug-in mais utilizado para este fim o
Allvideos e pode ser baixado em http://www.livrodejoomla.com.br/insumos/
?#a2
245/683
246/683
247/683
e
descrio para a imagem (TAG ALT do
HTML), fundamental para a acessibilidade
do site.
figura: boto imagem
248/683
249/683
250/683
251/683
252/683
(root), do site.
A mudana do diretrio padro de arquivos
pode quebrar suas ligaes (links).
O diretrio para as imagens tem que ser o
diretrio de arquivos, ou um subdiretrio do
mesmo. Restrict Uploads restringir uploads aos usurios de grupos inferiores ao
Gerente ;
Check MIME Types verifica o Mime Type
do arquivo;
Legal Image Extensions (File Types) Extenses vlidas para imagens;
Ignored Extensions Extenses ignoradas;
Legal MIME Types MIME Types permitidos;
Illegal MIME Types Extenses de arquivos
proibidas; e
Enable Flash Uploader Ativar flash uploader permite o upload de vrios arquivos
ao mesmo tempo. Aps verificar as opes
gerais do gerenciamento de mdias, clique
em salvar e fechar.
253/683
254/683
Visualizao em Miniatura; e
Exibio Detalhada.
Para alterarmos a forma de exibio, basta
clicarmos na opo desejada.
Enviando imagens para o Gerenciador de
Mdias
Criado o diretrio, clicamos sobre a pasta
blog que passou a ser listada e esquerda e
acima, clicamos no boto Enviar.
figura: Enviando imagem para o site
255/683
256/683
257/683
qualquer. http://pixlr.com/editor/
Uusurios do Fireworks, Photoshop e etc...
devem usar a ferramenta batch (lote), que
permite redimensionar de uma nica vez,
grande quantidade de imagens.
Captulo
Idiomas
11
Gerenciamento
de
259/683
260/683
261/683
Captulo 12 Componentes
Componente um programa desenvolvido
de acordo com os padres de projeto exigidos pelo Framework do Joomla! a extenso de maior complexidade e via de regra
interage com o bando de dados do site, criando novas tabelas.
No Joomla Extensions Directory
(JED), repositrio oficial de extenses para
Joomla, possvel encontrar vrios tipos de
componentes, com as mais diversas funcionalidades. Os componentes so identificados
por uma imagem pequena com a letra C. O
endereo (URL) de acesso ao JED, http://extensions.joomla.org
Uma instalao padro do Joomla! 3.x possui os seguintes componentes embarcados:
263/683
264/683
265/683
O componente Banners permite criar e gerenciar campanha publicitria no site, possuindo os seguintes parmetros:
Banners os banners existentes no site;
Categorias categorias do componente banner. Por padro, a categoria Sem Categoria,
est cadastrada;
Clientes clientes do site distribudos dentro
266/683
trilhas
das
publicitrias.
campanhas
267/683
268/683
269/683
270/683
271/683
publicao do banner; e
Encerrar Publicao data de encerramento
da publicao do banner.
Aba Opes de Meta-dados
Parmetros relacionados indexao dos
robs de busca.
Componente Busca
Jakob Nielsen, com propriedade, definiu que
internauta no navega, internauta busca.
O componente Busca do Joomla! completo
e permite dentre outras coisas mapear o
comportamento do internauta, gerando estatsticas e mtricas, que definiro uma melhor prtica em relao ao design de contedo
do site.
Os dados de pesquisa so inseridos no mdulo do componente de busca, que deve estar
publicado no front-end do site.
272/683
273/683
274/683
275/683
276/683
277/683
278/683
279/683
280/683
Tamanho do lote indexador controla quantos itens so processados por lote. Quanto
maior o nmero, mais recursos de infra (mquina e memria) sero necessrios, alm do
281/683
282/683
Peso da Meta data no multiplicador - o multiplicador usado para controlar a quantidade de influncia que um texto correspondente tem sobre a relevncia global do
resultado da pesquisa. Um multiplicador
considerado em relao a outros multiplicadores. Os meta de dados vem de uma srie
de fontes, incluindo as palavras-chaves,
meta-descrio, nomes de autores, etc;
Peso do caminho do texto no multiplicador o multiplicador usado para controlar a
quantidade de influncia que um texto correspondente tem sobre a relevncia global do
resultado da pesquisa. Um multiplicador
considerado em relao a outros multiplicadores. O texto do caminho vem da URL
amigvel do contedo;
Peso dos textos adicionais no multiplicador o multiplicador usado para controlar a
quantidade de influncia que um texto correspondente tem sobre a relevncia global do
resultado da pesquisa. Um multiplicador
283/683
considerado em relao a outros multiplicadores. O texto vem de vrias fontes, incluindo os comentrios e outros dados associados;
Ativar Derivador deve ser definido Sim se
for um site multi-idiomas;
Lematizadores / Separadores de palavras
O padro bola de neve (snowball), deve ser
mantido se o site tiver contedo multi-idiomas ou se um variao para o seu idioma no
foi encontrada.
Os separadores de palavras e os lematizadores executam a anlise lingustica em todos os dados indexados de texto completo. A
anlise lingustica envolve a localizao dos
limites das palavras (separao de palavras)
e a conjugao de verbos (lematizao). Os
separadores de palavras e os lematizadores
so especficos de idioma, e as regras de anlise lingustica diferem conforme o idioma.
Para um determinado idioma, um separador
de palavras identifica palavras individuais
284/683
determinando onde existem limites de palavra com base nas regras lexicais do idioma.
Cada palavra (tambm chamada de token)
inserida no ndice de texto completo usando
uma representao compactada para reduzir
seu tamanho. O lematizador gera formas
flexionadas de uma palavra especfica com
base nas regras do idioma (por exemplo, "executando", "executou" e "executor" so vrias
formas da palavra "executar"); e
Habilitar Log habilita a criao de um arquivo de log durante o processo de indexao.
Aps configurarmos o componente, podemos
clicar no boto ndice, esquerda e acima,
para criarmos um ndice baseado nos contedos do site e atravs do boto Estatsticas,
gerenciamos as mtricas resultantes das
pesquisas efetuadas.Aps configurarmos o
componente, podemos clicar no boto ndice, esquerda e acima, para criarmos um
ndice baseado nos contedos do site e
285/683
286/683
Componente Contatos
Componente que permite a criao de contatos do site, segmentados em categorias, de
acordo com o design de contedo do projeto.
O acesso ao componente realizado pelo
caminho menu superior Componentes
Contatos.
Antes de utilizar o componente importante
287/683
288/683
289/683
290/683
Aba cones
Nesta aba podemos configurar a exibio ou
no de cones e textos, alm de alterar os
principais cones do componente de contato,
a saber:
cone de endereo;
cone de email;
cone de telefone;
cone de celular;
cone de fax; e
cone de informaes.
Aba Categoria
Configuraes aplicadas a categorias de
Weblinks, que no descendem de outras, exceto se forem alteradas no tem de menu.
Selecione um Layout seleo do layout
para a categoria de Contato. Caso seja feito
override de templates, um template especfico pode ser escolhido;
Ttulo da Categoria defina se o ttulo da
291/683
292/683
Aba Categorias
Configuraes aplicadas a subcategorias de
Weblinks, exceto se forem alteradas no tem
de menu.
Descrio da categoria base defina se a
descrio da categoria base (pai), ser apresentada. O padro Exibir;
Nveis de subcategorias defina quantos nveis sero apresentados. As opes vo de 5
at todos;
Categorias vazias defina se as subcategorias que no possuem Weblinks sero exibidas, o padro Ocultar;
Descrio de subcategorias defina se a
descrio da(s) subcategoria(s) descendente(s) ser(o) exibida(s). O padro Exibir; e
Contatos na Categoria defina se os itens
existentes na subcategoria, sero exibidos
em nmeros. O padro Exibir.
Aba Layout de Lista
293/683
294/683
295/683
296/683
297/683
298/683
299/683
300/683
301/683
302/683
303/683
304/683
Componente Mensagens
Permite a troca de mensagens privadas na
administrao do site. Todas as aes de
usurios com perfil no mnimo Autor, so informadas ao super administrador. Esse dispositivo similar ao You have new email do
Unix.
305/683
Componente Redirecionamento
Permite o redirecionamento.
Aba Permisses
306/683
307/683
308/683
309/683
310/683
Exibir;
Nveis de subcategorias havendo categorias descendentes, defina quantos nveis sero
apresentados. As opes vo de nenhum at
todos;
Categorias vazias defina se as categorias
que no possuem Weblinks sero exibidas, o
padro Ocultar;
Descrio de subcategorias defina se a
descrio da(s) categoria(s) descendente(s)
ser(o) exibida(s). O padro Exibir; e
Weblinksa defina se os itens existentes na
categoria, sero exibidos em nmeros. O
padro Exibir.
Aba Categorias
Configuraes aplicadas a subcategorias de
Weblinks, exceto se forem alteradas no tem
de menu.
Descrio da categoria base defina se a
descrio da categoria base (pai), ser apresentada. O padro Exibir;
311/683
312/683
o ttulo da lista;
Descrio dos links define a exibio ou
no, da descrio dos links;
Acesso exibir/ocultar acessos ao weblink;
Paginao exibir ou ocultar a opo de paginao entre os Weblinks; e
Paginao exibir ou ocultar informaes do
resultado da paginao.
Aba Integrao
Esta aba determina como o componente
Weblinks relaciona-se com outras extenses,
com a opo de exibir ou ocultar link para o
Feed RSS.
Aba Permisses
Configurao de permisses dos grupos em
relao ao componente.
Captulo 13 Mdulos
O mdulo serve para mostrar o resultado de
alguma ao do componente ou pode estar
isolado executando alguma funo. Temos
como exemplo, o mdulo de login que, uma
vez habilitado, apresenta o formulrio de criao de conta e painel de login para a rea
administrativa do website. Por outro lado, o
mdulo Hora Certa, apresenta o horrio
atmico baseado em um servidor externo e
no interage criando tabelas no banco de
dados.
O gerenciamento de mdulos pode ser
efetuado clicando-se no cone rpido Gerenciador de Mdulos, localizado direita do
template sis, ou navegando no Menu superior Extenses Gerenciador de Mdulos.
314/683
315/683
316/683
Aba Detalhes
Nesta aba iremos definir os principais parmetros do mdulo:
Estado define o estado do mdulo em relao ao site;
Publicado mdulo publicado. Desde que
em posio existente no template e atribudo
um menu, ser visualizado no front-end;
Despublicado mdulo despublicado. No
ser visualizado no front-end; e
Lixeira mdulo excludo, permanece na
lixeira. No ser visualizado no front-end.
Ttulo ttulo do mdulo, ser visualizado
no front-end do site, desde que definido para
tal;
Exibir Ttulo define se o ttulo do mdulo
ser exibido ou no;
Posio define a posio do mdulo, no
template. Perceba que a lista de posies
ser exibida de acordo com cada template instalado no site, utilizado ou no. A lista
317/683
318/683
319/683
320/683
321/683
categoria especfica;
Artigos Arquivados - Este mdulo exibe uma
lista dos meses do calendrio contendo artigos arquivados;
Banners - O Mdulo Banner permite exibir
os Banners ativos;
Breadcrumbs - Este mdulo exibe o Caminho de migalhas;
Busca - Este mdulo ir exibir uma caixa de
texto de busca;
Categoria de Artigos - Este Mdulo exibe
uma lista de artigos de uma ou mais categorias;
Categoria de Artigos - Este mdulo exibe
uma lista de categorias de uma categoria pai;
Contedo Mais Lido - Este mdulo exibe
uma lista dos artigos publicados atualmente
que tm o maior nmero de pginas visitadas;
Estatstica - O mdulo de estatsticas exibe
informaes sobre a instalao do servidor
juntamente com estatsticas sobre os
322/683
323/683
324/683
325/683
Captulo 14 Plugins
Plugins so scripts com determinada funcionalidade, geralmente reagindo a uma ao
do usurio. So dividos em tipos e possuem
parmetros de configurao comuns todos
e especficos a cada um.
No captulo 22 do livro, aprenderemos a criar um plugin para validar cadastro de usurios de acordo com a idade.
O gerenciamento de plugins pode ser
efetuado clicando-se no cone rpido Gerenciador de Mdulos, localizado direita do
template sis, ou navegando no Menu superior Extenses Gerenciador de Plugins.
Os parmetros podem ser visualizados na
imagem abaixo:
327/683
Aba Detalhes
Define os parmetros gerais de configurao
de um plugin, a saber:
Estado define o estado do plugin:
Ativado Publicado; e
Desativado Despublicado.
Nvel de Acesso define o nvel de acesso
relacionado a um grupo que pode acessar o
328/683
329/683
330/683
331/683
Anterior em um Artigo; e
Contedo Navegao - Adiciona a funcionalidade de votao a um Artigo.
Editors So plugins relacionados a edio
de texto do site, por padro os seguintes
plug-ins do tipo editors, so instalados e habilitados:
Editor CodeMirror este plugin carrega o
editor CodeMirror;
Editor Nenhum este plugin carrega um
editor bsico de texto plano. Ideal para criao de mdulos HTML personalizados com
algum tipo de script e para depurao de textos inseridos;
Editor TinyMCE - um editor HTML
WYSIWYG baseado em JavaScript, sendo o
editor de texto padro do Joomla! Na minha
opinio, o TinyMCE o melhor e mais seguro editor de texto open source da
atualidade;
editors-xtd So plug-ins relacionados as
332/683
333/683
334/683
335/683
336/683
restrita do site;
Sistema Debug - Este plugin fornece uma
variedade de informaes do sistema e assistncia para criao de tradues;
Sistema - Log system Este plugin fornece
logs do sistema;
Sistema Redirecionamento - O plugin de
redirecionamento habilita o sistema de redirecionamento do Joomla! para pegar todas
as pginas inexistentes e redirecionar usurios;
Sistema Destaque - Plugin do sistema para
realar termos especficos;
Sistema - Lembrar de Mim - Fornece a funcionalidade lembrar de mim; e
Sistema SEF - Adiciona suporte SEF aos
links nos artigos. Trabalha diretamente no
HTML e no requer tag especial.
Plugins Desabilitados
Autenticao Gmail - Gerencia a
autenticao de usurio com o GMail ou
337/683
338/683
sites multi-idiomas;
Sistema Cache Fornece cache da pgina;
Sistema - Cdigo de Idioma - Oferece a possibilidade de alterar o Cdigo de Idioma no
documento HTML gerado para melhorar
SEO (otimizao de mecanismos de busca).
Os campos aparecero quando o plugin for
ativado e salvo. Mais informaes em http://www.w3c.org;
Usurio Perfil - Plugin de Perfil do Usurio
um plugin do componente com_users e
aumenta as opes do cadastro de usurios.
Ser analisado no captulo 20 durante a customizao do componente; e
Usurio - Criador de Contato - Plugin para
criar automaticamente informaes de contato para novos usurios.
Captulo 15 Templates
Template ou tema, a camada de viso de
qualquer programa orientado a objetos, isto
mesmo, template no uma exclusividade
do Joomla! Fim manter um padro de nomenclatura, irei utilizar o termo template, ao
invs de tema. No se esquea, o significado
o mesmo.
Existem vrios frameworks e softwares para
criao de templates, sendo os mais conhecidos: Gantry, T3 e Artisteer.
O destaque fica para framework Bootstrap
do Twitter, utilizado para desenvolver extenses, dentre elas templates responsivos e
voltados para o mercado mobile. Alis,
desenvolver template com o bootstrap bem
melhor que usar outro framework.
340/683
341/683
Customizao de Template
Customizar um template, nada mais que
adaptar a camada de viso, aos requisitos de
um projeto. Uso o CMS h 10 anos e desenvolvi apenas 03 templates do zero, pouco
concorda? Via de regra, a customizao
atende a 90% dos projetos.
Um dos maiores desafios que enfrentei em
termos de customizao, esteve relacionado
a projeto para uma grande empresa de
Braslia.
Levantei os requisitos e utilizei o template JA
Purity, lanado em 07/12/2007, enquanto
base. Esse template free do Joomlart, um dos
maiores clubes de templates comerciais, j
apresentava conceitos de responsividade integrados em seu cdigo-fonte.
Abaixo voc pode visualizar o resultado final
da customizao, comparando as imagens:
342/683
343/683
344/683
Estrutura de um Template
Geralmente, novos usurios tm a tendncia
de confundir o conceito de templates,
referindo-se muitas vezes ao site como se
template fosse.
Um template possui basicamente, a rvore
de diretrios e arquivos, parecida com a imagem abaixo:
figura: Estrutura de um template
345/683
346/683
347/683
ser clicar no boto Opes e ativar a visualizao das posies de mdulos, por padro
est desativado. Em verses anteriores do
CMS Joomla, bastava o usurio digitar no
navegador, o domnio do site acompanhado
de ndex.php?tp=1, para visualizar as
posies do template padro do site. Isto foi
considerado uma falha de segurana e a
partir do Joomla! 1.6.x necessrio habilitar
esse parmetro nas opes de configurao
do gerenciamento de templates.
Agora, observe que a barra lateral esquerda
possui duas opes:
Styles o padro, lista os estilos dos templates; e
Templates lista os templates instalados,
com seus respectivos thumbnails.
Altere para Templates e visualize a identidade grfica de cada template pr-instalado
no Joomla!
Em uma instalao padro do Joomla! 3.x,
com ou sem exemplo de contedos, o
348/683
349/683
350/683
Cpia de Template
Grandes projetos podem significar vrios
layouts grficos divididos por segmentos. No
Joomla! 3.x temos a opo de criar templates
baseado em outros existentes e desta forma
ganhar um tempo considervel no desenvolvimento de um grande projeto. Quando digo
351/683
352/683
353/683
354/683
355/683
356/683
358/683
359/683
Vamos seguir um ciclo simples, porm eficiente, para o desenvolvimento de nosso projeto:
Levantamento de Requisitos primeiro ato
do processo, busca identificar todas as aspiraes do cliente em relao ao site, alm de
identificar o pblico-alvo e mercado vertical
do projeto. Pode ser por email ou vdeo-conferncia, para clientes que no residam na
sua cidade. Evite telefonemas, palavras se
perdem no vento. Caso contrrio, ou seja: o
cliente mora na sua cidade, agende uma reunio presencial.
O levantamento de requisitos o momento
do brainstorming (literalmente: "tempestade
cerebral" em ingls) ou tempestade de ideias,
que ir surgir em prol do sucesso do projeto.
Identifique todos os pontos crticos do projeto, saber:
Domnio o cliente possui domnio registrado?
sim
360/683
361/683
projeto.
no
qual empresa indicar?
tenho uma revenda e irei utilizar.
Template qual ser a metodologia de aplicao do template?
customizao
criao do zero
desenvolvimento a partir de um layout (html
+ css)
desenvolvimento a partir de uma imagem
(.psd, .cdr, e etc...)
utilizao de template comercial (clube de
templates)
Instalao do Joomla qual a melhor forma
de instalar o Joomla?
com exemplos de contedo
sem exemplos de contedo
Lembre-se que templates comerciais so
fornecidos com pacotes QuickStart que por
362/683
363/683
364/683
Desenvolvimento do Projeto o desenvolvimento abrange as etapas previstas no Webdesign (design de pgina, design de site e
design de contedo) e ocorrem de forma independente. Ou seja, no existe a necessidade de esperar a concluso de uma etapa
para iniciar-se outra. Ex: Aguardar a concluso do template para iniciar a criao de
categorias e artigos.
Considere deixar disponvel uma verso piloto, em ambiente que possa ser compartilhado pelo cliente, fim acompanhamento e
homologao.
Entrega/Pagamento Opte pela entrega
modular em substituio ao tradicional 50%
no incio e 50% na publicao.
A entrega modular permite um melhor
acompanhamento, documentao e homologao, evitando querncias descabidas por
parte do cliente.
Publicao O pice de um projeto web a
sua publicao na Internet e geralmente
365/683
366/683
367/683
368/683
369/683
370/683
371/683
372/683
373/683
374/683
375/683
376/683
377/683
378/683
379/683
380/683
381/683
382/683
383/683
Esta aba apresenta parmetros de configurao e podem variar de acordo com o template. No caso do Protostar, as opes
avanadas abrangem:
384/683
Cor do Template Cor a ser aplicada em todo o template, deve ser passado o valor hexadecimal da cor. Ex: Se desejar a cor preta, o
hexadecimal ser #000 ou #000000;
Cor de Fundo Cor de fundo a ser aplicada
em layouts estticos, deve ser passado o valor hexadecimal da cor. Ex: Se desejar a cor
preta, o hexadecimal ser #000 ou
#000000;
Logo Logotipo do site. Se no for definida
uma imagem, o ttulo do site ser inserido
por padro;
Ttulo Ttulo alternativo para o site;
Descrio texto opcional a ser exibido
como subttulo;
Fontes da google para Ttulos Usa as fontes
da google para as Tags de ttulo do HTML (
H1, H2 ...H6); e
Layout Fluido voc pode utilizar tanto o
Bootstrap fluido (adapta-se ao tamanho do
monitor), ou esttico. Ambos so responsivos.
385/683
386/683
da imagem.
Essa no a imagem que iremos utilizar no
template mster, esse logotipo ser utilizado
no artigo intitulado Estatuto. Portanto, refaa o processo e insira a imagem logo.png
no template mster.
figura: Logotipo inserido no template mster
muito ruim clicar em algum link e ser redirecionado para uma pgina dizendo algo
parecido com: "Erro artigo no encontrado,
cdigo do erro: #104". O simples fato de
comear com a palavra erro, induz o usurio
a pensar: "caracas, fiz merda." Por qu o espanto? merda mesmo!
387/683
Acesse http://www.livrodejoomla.com.br/
insumos/?#a10 e baixe a pgina de erro com
foco na AACD. Descompacte, copie todo o
contedo e cole dentro do editor do Joomla,
substituindo o contedo da pgina de erro
388/683
389/683
390/683
391/683
392/683
393/683
394/683
395/683
Se voc comparar o template beez_20 original do Joomla! 2.x com o que baixou no
site do livro, perceber uma diferena: criei
arquivos de traduo para o portugus do
Brasil no template, fim evitar constantes sem
traduo, no ato da instalao. No quero
que fique com a sensao de erro.
396/683
397/683
398/683
399/683
400/683
401/683
Template Manager. Na aba esquerda do gerenciamento de templates, clique em Templates. O Beez_20 est logo abaixo do Beez3,
notou a semelhana? Observe o layout
grfico e o desenvolvedor, o mesmo template, apenas modificado para a verso 3.
figura: Editando os arquivos do template Beez_20
402/683
403/683
404/683
o processo.
Acesse http://www.livrodejoomla.com.br/
insumos/templates e baixe a imagem docente.png. Aps fazer o download, transfira a
imagem para o site de seu projeto. Ela deve
ficar em /templates/beez_20/images/personal/
Acesse o front-end e aperte as teclas ctrl+f5
para atualizar o site e visualizar a nova imagem.
Terminada a customizao, vamos voltar o
template Protostar, para padro do site.
Beez_20 ser utilizado apenas na rea Corpo
Docente do nosso projeto final, que ser relacionada ao item de menu Professores. Ficar
a seu critrio, a apresentao dos mdulos,
de acordo com o projeto final publicado na
Internet.
Acesse o back-end do site e siga pelo menu
superior Extenses Gerenciamento de
Templates Aba Esquerda Styles e clique na
estrela defronte ao template Protostar.
405/683
406/683
407/683
Blog
Tutores
Colunistas
Para cri-las, seguiremos os seguintes passos:
Acesse o back-end e navegue pelo menu superior Contedo Gerenciamento de Categorias Nova Categoria, ou clique no cone
rpido Gerenciador de Categorias;
As acategorias sero criadas na viso Adicionar Categorias de Artigos. Existem alguns
parmetros repetitivos e que devem ser aplicados de acordo com o escopo de cada projeto e seria invivel reproduzi-los no livro,
por exemplo o parmetro Opes de MetaDados. Este parmetro deve ser preenchido
em todas as oportunidades, de acordo com a
poltica de webmarketing do seu site. Em
nosso projeto, criarei meta-Dados a ttulo de
exemplo, apenas para a categoria Notcias.
408/683
409/683
410/683
411/683
412/683
413/683
contedo:
O texto deve conter no mximo 02 pargrafos e a opo de Leia +;
O texto deve estar alinhado esquerda;
Todas as imagens que fazem parte do texto,
devem possuir uma descrio. (TAG alt do
HTML);
A tecla (enter) ser utilizada para criar um
novo pargrafo no texto. (TAG
do HTML);
O uso das teclas (enter + shift) permitiro
pular uma linha no texto. (TAG </br> do
HTML);
Jamais copie (ctrl+c) um texto do Microsoft
Word e cole (ctrl+v) diretamente no editor
de texto do Joomla! Use o boto Paste From
Word, do prprio editor TinyMCE e cole no
editor que ser aberto; e
414/683
Use uma nica fonte (tipo de letra) para todos os artigos do site.
415/683
Artigo nr 2
Blog
Tutores
Artigo de apresentao
Colunistas
Artigo de apresentao
Destaco os artigos Estatuto e Bem-vindos,
que contaro com sistema de ncoras e insero de vdeo no texto.
Lembro que cada artigo deve ser criado em
todos os idiomas do projeto e no livro, abordarei a criao dos artigos no idioma portugus. Os insumos esto disponveis no site
do livro: http://www.livrodejoomla.com.br/
insumos/?#a12
Para criar o artigo Bem-vindos, seguiremos
os seguintes passos:
Acesse o back-end e navegue pelo menu superior Contedo Gerenciador de Artigos
416/683
Novo Artigo, ou clique no cone rpido Gerenciador de Artigos. O primeiro artigo a ser
criado, Bem-vindos, pertence a categoria Uncategorized (sem categoria) e ser artigo inicial de nosso site multi-idiomas;
No pasta artigos que voc baixou do site, existem subpastas divididas por idiomas.
Clique na pasta pt-BR, abra o arquivo Bemvindos, selecione o texto (ctrl+a), copie
(ctrl+c) e cole (ctrl+v) no editor de texto do
Joomla, todo o contedo;
Perceba que o ttulo do artigo foi copiado
para o corpo do editor. Selecione este pedao, copie e cole na opo ttulo do editor e
mantehna a categoria Uncategorised. Retire
os espaos entre os pargrafos utilizando a
tecla (del) e use a tecla (enter) para cri-los
novamente.
Insira o Leia mais depois da palavra pretendidos do segundo pargrafo, clicando no
boto Leia Mais, no rodap do editor de
texto. Uma linha pontilhada vermelha
417/683
418/683
419/683
420/683
421/683
422/683
423/683
424/683
425/683
426/683
427/683
Idioma Portugus.
Aba Opes Avanadas
Opes do Artigo Partindo do princpio
que voc configurou globalmente, os parmetros globais de contedo, para o site, no
iremos alterar nenhuma opo;
Opes de Tipos de Link Sem alterao.
Perceba o parmetro Imagem do Link, aqui
que inserimos uma imagem no link, se for
necessrio;
Opes de Exibio de Pgina esses parmetros esto relacionados ao SEO:
Ttulo no Navegador o texto a ser exibido
no navegador. Se ficar em branco, usar o
padro definido nas configuraes globais;
Cabealho da Pgina se for definido Sim, o
ttulo associado ao item ser apresentado. O
padro No;
Classe da Pgina uma classe CSS exclusiva
para esse item. Em branco, ser utilizada a
classe padro do template.
428/683
429/683
430/683
431/683
432/683
433/683
434/683
435/683
436/683
437/683
438/683
439/683
440/683
441/683
442/683
443/683
444/683
445/683
446/683
447/683
Os seguintes itens de menu devem ser criados em cada menu, de acordo com o idioma:
Estatuto - abre o artigo estatuto;
Notcias lista os artigos da categoria Notcias;
Blog acesso ao blog da escola, com tema
associado; e
Fale Conosco.
Demonstrarei o processo para o idimoa portugus e lembro que o mesmo deve ser feito
para os outros idiomas. Para concluirmos o
exerccio seguiremos os seguintes passos:
Acesse o back-end e navegue pelo menu superior Menus Menu Portugus Adicionar
Item de Menu;
Selecione o Tipo de Item de Menu Artigos
nico Artigo;
Use o filtro Selecionar Idioma Portugus,
para facilitar o processo e clique sobre o
artigo Estatuto;
448/683
ttulo do item de menu ser Estatuto. Selecione o idioma portugus e clique no boto
Salvar e Novo;
O prximo item de menu ser do tipo Artigos
Lista de Categorias e o ttulo ser Notcias.
Selecione a categoria Notcias. Na aba Detalhes selecione o idioma portugus e na aba
Opes Avanadas, voc poder alterar os
parmetros de visualizao da lista;
Clique no boto Salvar e Novo;
O prximo item de menu ser do tipo Artigos
Categoria como Blog e o ttulo ser Blog.
449/683
450/683
451/683
Demonstrarei o processo para o idimoa portugus e lembro que o mesmo deve ser feito
para os outros idiomas. Para concluirmos o
exerccio seguiremos os seguintes passos:
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Temas;
Na aba Styles, clique no nome do template
452/683
sj_joomla3-Default;
Na aba Menus assignment (1) marque o
checkbox do item de menu Blog, no menu
portugus (2); e
figura:
453/683
454/683
Acesse http://www.livrodejoomla.com.br/
insumos/?#a13 para conhecer a Google
Developers. Entre com o seu login do Google
(gmail, youtube e etc...) para utilizar o servio;
455/683
456/683
457/683
458/683
459/683
460/683
461/683
462/683
Acesse http://www.livrodejoomla.com.br/
insumos/?#a14 para validar a propriedade
do seu domnio no site Webmasters Google,
se ainda no o fez. O modo mais comum
baixar uma pgina de validao da google e
transferir para a raiz do seu site. Depois,
basta voltar e clicar no boto de validao;
Crie um sitemap para o seu site. Indico o http://www.xml-sitemaps.com/ que muito
fcil de usar. Escolha a opo de arquivo
.xml e aps o trmino do processo, baixe o
sitemap para a sua mquina e faa a transferncia via FTP para a raiz do site. Volte ao
google Webmasters e confirme o envio do
sitemap; e
No esquea de colar o cdigo da google
Analytics, referente ao site, no seu template.
Partindo do princpio que voc possui uma
conta na google Analytics, que a propriedade
do domnio foi ocnfirmada, o sitemap enviado e o cdigo de rastreamento incorporado
ao template, vamos continuar o processo:
463/683
464/683
465/683
466/683
figura:
467/683
Este mdulo indispensvel qualquer projeto e permite ao profissional, prover ao cliente, uma forma de medir os resultados da
poltica de webmarketing criada para o
projeto.
MP3 Integrado
Usaremos o JosDewplayer, plugin para renderizao de arquivos .mp3 no site.
Exerccio nr 1 Plugin para MP3
468/683
Acesse http://www.livrodejoomla.com.br/
insumos/extensoesdoprojeto e baixe o plugin;
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Extenses e instale o plugin;
Aps a instalao, os parmetros de configurao do plugin, sero apresentados, a
saber:
Player para renderizao de 01 arquivo .mp3,
basta utilizar a tag {play}caminho-do-arquivo{/play}
Partindo do princpio que o arquivo musica.mp3 encontra-se no diretrio images/
audio/, a sintaxe correta para a utilizao do
plugin, seria:
{play}images/audio/musica.mp3{/play}
Para utilizar substituir os parmetros
[AUTOPLAY] e [AUTOREPLAY], basta adicionar um "|" entre cada um dos parmetros:
Sintaxe para utilizar os 2 parmetros:
469/683
{play}images/stories/musica.mp3|[AUTOPLAY]|[AUTOREPLAY]{/
play}
O plugin Josdewplayer pode reproduzir um
arquivo mp3 onde quer que esteja. Apenas
certifique-se, nesse caso, de usar a URL completa da fonte (tem que conter "http"),
mesmo que seja no mesmo servidor do site
Joomla.
Sintaxe:
{play}http://meusite.com.br/images/audio/
musica.mp3{/play}
O plugin Josdewplayer pode renderizar mltiplos arquivos .mp3. Um conjunto de setas
permite passar de um para o outro arquivo.
Podem ser locais ou remotos, utilizando os
mesmos parmetros como o nico player.
Use a Estrela como separador: *
Sintaxe:
470/683
{play}images/stories/musica.mp3*http://meusite.com.br/images/audio/musica.mp3*images/stories/outramusica.mp3|[AUTOPLAY]{/play}
A partir da verso 2.0, o plugin Josdewplayer
pode reproduzir listas de reproduo via arquivo .xml.
Envie um arquivo xml para a raiz do
diretrio dos arquivos .mp3 (existe um exemplo na pasta do plugin); e
Use-o nas tags.
Sintaxe:
{play}images/stories/myplaylist.xml{/play}
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Plugins,
selecione o plugin instalado e publique-o.
Perceba na aba Opes Bsicas que os parmetros Autostart e Autoreplay, podem ser
definidos, alm de um multiplayer retangular;
471/683
Crie o diretrio audio em /images e faa upload de um arquivo .mp3 para o mesmo.
Usarei o arquivo que est no diretrio insumos/audio, do site do livro; e
Podemos usar o plugin em um mdulo
HTML personalizado e/ou em um artigo.
Mdulo HTML personalizado Acesse o
back-end e navegue pelo menu superior Extenses Gerenciador de Mdulos. Clique no
boto Novo e crie um novo mdulo HTML
personalizado com os seguintes parmetros:
Ttulo Msica
Exibir ttulo No
Posio Direita [position-7] template Protostar; e
Aba Sada Personalizada digite {play}images/audio/ride.mp3{/play}
figura: Resultado no front-end
472/683
Slide Show
Usaremos o Jt Slide, mdulo para exibio
de Slide Show no site do projeto.
Exerccio nr 1 Mdulo Slide Show
Acesse http://www.livrodejoomla.com.br/
insumos/extensoesdoprojeto e baixe o mdulo;
473/683
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Extenses e instale o mdulo;
Aps a instalao, acesse o mdulo para configurao e publicao. Os parmetros de
configurao do mdulo, so os seguintes:
Aba Detalhes
Estado publicado;
Ttulo Slide Show;
Exibir Ttulo ocultar; e
Posio Utilizaremos a posio slide, que
criamos anteriormente. Perceba que ela no
est na lista apresentada, por qu? So listadas as posies existentes no manifesto XML
do template e as gravadas no banco de dados. Por enquanto, nossa posio no
enquadra-se em nenhuma das opes, ela est no arquivo ndex.php. Digite slide no
campo Posio e aperte a tecla Enter. A nova
posio
ser
listada
como
Posio
Personalizada.
Aba Opes Bsicas
474/683
475/683
O mdulo permite a transio de at 10 imagens. Para o projeto, utilizaremos 3 imagens que esto disponveis no site do livro.
Os parmetros de configurao so os
seguintes:
Image a imagem do 1 slide, pode ser selecionada da mquina ou do prprio servidor;
476/683
477/683
Encapsulamento do /administrator
Encapsular, nada mais que esconder.
Usaremos o pluginAdminExile, para esconder o /administrator de nosso site, aumentando sensivelmente a segurana contra tentativas de invases.
Existem Scanners que buscam a URL administrativa de sites que uma vez encontradas,
so vtimas de ataques do tipo Fora Bruta.
Engana-se quem pensa que esses programas
buscam apenas a URL /administrator e
478/683
dessa forma s atingiriam sites desenvolvidos com Joomla. A grande maioria dos
CMS esto na lista dos Scanners, dentre eles,
Wordpress e OsCommerce.
Exerccio nr 1 Plugin AdminExile
Acesse http://www.livrodejoomla.com.br/
insumos/extensoesdoprojeto e baixe o plugin;
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Extenses e instale o plugin;
Aps a instalao, acesse o plugin para configurao e publicao. Use a aba Filtrar para
ganhar tempo. O plugin, do tipo System;
de Os parmetros de configurao do mdulo, so os seguintes:
479/683
o
endereo
de
480/683
481/683
TAG Generator
A TAG Generator est presente no cabealho
de um site desenvolvido com Joomla! e pode
ser visualizada apertando-se por exemplo, as
teclas ctlr+u, no Firefox.
Usaremos um plugin que possibilita a customizao ou eliminao dessa TAG. Isto
eliminar ataques automticos que buscam
por essa TAG no cdigo.
Exerccio nr 1 Plugin ByebyeGenerator
Acesse http://www.livrodejoomla.com.br/
insumos/extensoesdoprojeto e baixe o plugin;
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Extenses e instale o plugin;
Aps a instalao, acesse o plugin para configurao e publicao. Use a aba Filtrar para
ganhar tempo. O plugin, do tipo System;
482/683
483/683
Akeeba Backup
Uma das operaes mais importantes na manuteno de um site, o Backup. A melhor
extenso para o Joomla, chama-se Akeeba
Backup e desde a verso 1.5.x do CMS, vem
emprestando funcionalidades ao core do
Joomla!
O Akeeba faz um dump no banco de dados,
ou seja, cria o backup de todas as tabelas. A
engenharia do sistema permite at mesmo
backups de grandes bancos de dados, sem
perda de informao, atravs do particionamento dos registros. Alm do banco de dados, o Akeeba copia todos os arquivos e
diretrios, gerando um pacote de todo o site.
484/683
Acesse http://www.livrodejoomla.com.br/
insumos/extensoesdoprojeto e baixe o componente com seu pacote de idioma pt-BR;
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Extenses e instale o componente;
485/683
486/683
487/683
Passe o mouse sobre cada parmetro e visualize a explicao do que cada um faz.
Abaixo, em Configurao Avanada, iremos
alterar a opo Engenharia do Arquivo. O
488/683
489/683
490/683
491/683
492/683
493/683
Mdulos;e
Use a aba Filtrar para encontrar o mdulo
Seletor de Idiomas e mude a posio do mdulo para [Pesquisar position-0].
Exerccio nr 6 Habilitando o mdulo de busca
494/683
495/683
496/683
497/683
498/683
499/683
500/683
requisitos do projeto.
Acesse o back-end e navegue pelo menu superior Extenses Gerenciador de Menus
Menu Portugus;
Configure os parmetros da aba Opes
Avanadas Opes do Artigo, ocultando os
parmetros desnecessrios; e
Clique no boto Salvar e Fechar.
Exerccio nr 10 Preparando para a publicao
501/683
502/683
Captulo
17
Publicao
Recuperao
504/683
505/683
Com o banco de dados criado, vamos relacionar um usurio ao banco. Criarei um novo
506/683
usurio para demonstrar o processo e ajudlo (a) caso necessite desse esclarecimento.
Criarei o usurio livro560_projeto. No h
necessidade de ser idntico ao banco de dados. Clique no boto Criar usurio;
figura:
507/683
508/683
509/683
510/683
511/683
512/683
513/683
514/683
515/683
516/683
Akeeba.
A primeira tela do Akeeba nos traz informaes do provedor de hospedagem, do PHP e
dos diretrios tmp, logs e cache;
figura: Tela 1 restore akeeba
517/683
518/683
519/683
520/683
521/683
523/683
voc domina.
No existe forma errada ou certa de programar, o principal ter lgica. Alguns programam de forma estruturada outros orientado a objeto. Para o Framework Joomla,
devemos programar orientado a objetos.
Alis, se voc conhece um pouco do cdigo
dos componentes do Joomla! 1.5, perceber
o quanto o nvel de abstrao aumentou no
Joomla! 3.x. Lembra muito a programao
em Java.
No foco deste captulo ensinar programao, logo, sugiro a leitura de algum livro de PHP orientado a Objetos para ajudar,
se for o caso.
Joomla! Platform
Precisamos conhecer a Joomla! Platform e os
comandos PHP mais utilizados no Joomla
antes de iniciarmos.
Podemos pensar o CMS Joomla como uma
plataforma para criao de aplicativos.
524/683
525/683
526/683
A idia geral que voc use o mtodo jimport () mtodo com um caminho separado
por ponto para a biblioteca que deseja usar e,
em seguida, a plataforma garante que ele esteja disponivel para voc quando for us-lo.
As pastas so joomla, cms, phpmailer,
phputf8 e SimplePie. Phpmailer, phputf8 e
simplepie, no fazem parte do core do
Joomla, so bibliotecas de terceiros que o
CMS Joomla usa para oferecer diversas funcionalidades, a saber:
phpmailer: um pacote para lidar com o envio de e-mail complexo escrito em PHP;
phputf8: um pacote para fazer o PHP mais
amigvel ao encoding UTF-8 e utilizado
para aumentar a funcionalidade nativa do
PHP para lidar com UTF-8 enconding;
SimplePie: um pacote para lidar com anlise de XML alimentado com Atom e RSS.
A pasta Joomla contm todas as bibliotecas
que compem a plataforma Joomla.
A pasta cms foi adicionado na verso 2.5. Ela
527/683
528/683
nvel de servidor.
Arquivos .php podem ser criados e editados
em qualquer programa editor de texto, por
exemplo bloco de notas e uma boa prtica de
programao no Joomla, ou no, usar codificao UTF-8 para todos os arquivos.
O cdigo PHP pode ser escrito junto com a
linguagem de marcao de texto HTML e a
extenso que identifica arquivos php a
.php. Ex: index.php
Arquivos PHP no Joomla
O CMS Joomla possui vrios arquivos que
possuem somente cdigo PHP. Arquivos
PHP so identificados pelas tags <?php e
?>.Exemplo: <?php echo $info; >
Quando o arquivo composto apenas de
cdigo PHP, no existe a necessidade da tag
de fechamento. Alis, uma boa prtica de
programao com PHP no usar a tag de
fechamento para arquivos que possuam
apenas cdigo PHP, tendo em vista que
529/683
530/683
abaixo:
$a=$b+$c;
equivalente a: $a = $b + $c;
A segunda notao a preferida porque
mais legvel. Alm disso, uma nica linha de
cdigo pode levar at mais de uma linha de
texto. Por exemplo:
$a = $b + $c + $d;
Caracteres importantes
Toda declarao PHP:
termina com um pontoe vrgula (;)
Parnteses ( ) e Chaves { } so usados para
delimitar blocos de cdigo
Blocos de cdigo so usados para designar o
incio e o fim do cdigo para:
CLASSES (possuem atributos e mtodos)
FUNES
DECLARAES
INSTRUES
SWITCHS
LOOPS
Parnteses so usados para a instruo
531/683
532/683
533/683
534/683
Operaes Comuns
Operaes Aritmticas e Concatenao de
Strings
No PHP as quatro operaes matemticas
so representadas pelos smbolos:
+ (ADIO)
- (SUBTRAO)
* (MULTIPLICAO)
/ (DIVISO)
535/683
536/683
537/683
538/683
539/683
540/683
$c = d;
$e = $f;
}
else
{
// caso contrrio
$g = $h;
$i = $j;
}
Perceba que usamos a clusula else para testar a condio.
Em blocos com muitas condies devemos
usar elseif para os blocos de cdigo subsequentes.
Exemplo 2: IF - ELSEIF
if ($a == $b)
{
$x = $y; // se a condio verdadeira
}
elseif ($c == $d)
{
$g == $h; // somente se ($a == $b) e ($c
541/683
igual $d)
}
Podemos usar vrios blocos elseif no cdigo.
Ateno: Nunca use sinal de igualdade
simples ( = ), para comparar valores. A comparao deve ser feita com o sinal de
igualdade duplo ( == ). O sinal de igualdade
simples utilizado para atribuir valor a uma
varivel.
Por exemplo, considere o cdigo abaixo:
$a = dog ;
$b = cat ;
If ($a = $b) // foi usado = ao invs de == por
engano.
{
echo true\n; // resultado sempre verdadeiro
echo $a . \n; // $a agora cat }
Acidentalmente, utilizamos o sinal simples
de igualdade ao invs do sinal duplo.
O sinal simples de igualdade tem duas funes iguais:
542/683
543/683
544/683
$d se a condio for verdadeira. Caso contrrio ser atribudo o valor da varivel $e.
Declarao ( Switch )
A declarao Switch utilizada para executar
diferentes blocos de cdigo, baseados no valor de uma expresso. A sintaxe bsica da declarao a seguinte:
switch ($a)
{
case 'abc';
$b = $c;
break;
case 'def';
$d = $e;
break;
default:
$f = $g;
break;
}
Entendendo o cdigo:
a declarao switch testa o valor de $a da
545/683
seguinte forma:
a) se for 'abc', o valor atribudo a $b ser $c;
b) se for 'def', o valor atribudo a $d ser $e;
c) se nenhuma
das condies forem satisfeitas o valor
padro ser assumido, neste caso, o valor atribudo a $f ser $g.
Perceba que a cada teste, o cdigo interrompido pelo comando break. Ou seja, caso a
primeira condio seja atendida, o bloco da
declarao switch encerrado e o processamento do cdigo continua.
Declaraes ( Looping )
Foreach
Loops do tipo foreach so a maneira mais
simples de percorrer um array. O bloco de
cdigo do loop executado uma vez para
cada elemento do array. Por exemplo, no
bloco de cdigo abaixo, $groups um
simples array:
Foreach ($groups as $group) // groups um
546/683
array
{
echo $group; // $group contm os elementos do array
// aqui seria inserido o restante do cdigo, se
fosse o caso
}
Neste exemplo, se $groups no um array,
voc receber um aviso do PHP que o array
est vazio. Neste caso, o loop ser ignorado.
Voc pode usar loops do tipo foreach com arrays associativos, especificando as variveis a
usar para cada chave e valor.
Observe o exemplo:
$assoc = array(name => Fred, age =>
29);
Foreach ($assoc as key => value) {
echo $key . : . $value . \n; // imprime cada
par chave/valor
}
Aqui, $key vai ser a chave para cada elemento da matriz e $valor vai conter o valor
547/683
548/683
Observe o exemplo:
do
{
// bloco de cdigo processado uma vez e
depois ser repetido
// enquanto ao mesmo tempo a condio
verdadeira
// cdigo no bloco de cdigo deve finalmente
satisfazer a condio
}
While ($a != $b);
O segundo tipo checa a primeira condio,
antes de executar o bloco de cdigo.
Observe o exemplo:
While ($a != $b)
{
// bloco de cdigo ser executado apenas se
a condio for verdadeira
// cdigo no bloco de cdigo deve, eventualmente, seri nserido para condio falsa
}
Em ambos os casos, importante
549/683
compreender que o bloco de cdigo executado deve eventualmente tornar a condio falsa. Caso contrrio, voc vai ter uma
condio de loop infinito.
Comando Foreach
O comando continue usado para ignorar o
restante do bloco de cdigo do para uma iterao do loop.
Foreach ( $groups in $group )
{
if ( $group = 'Public' ) {
continue; // ignora group 'Public'
}
echo $group;
}
Sintaxe Alternativa
Em arquivos contendo somente o cdigo
PHP, normalmente, o cdigo colocado em
um elemento de PHP. Em arquivos de layout, no entanto, podemos misturar elementos do PHP com outro elemento HTML,
550/683
551/683
552/683
figura:
Variveis
553/683
554/683
555/683
$emptyArray = array( );
O cdigo abaixo cria uma matriz com dois
valores:
$simple = array(zero, one); // $simple[0]
= zero, $simple[1] = one
Matrizes podem ser indexadas ou associadas.
Matrizes usam nmeros inteiros 0,1,2, etc...
para aceesar elementos, na indexao.
Por exemplo, o cdigo seguinte acede ao
primeiro elemento no exemplo anterior
(note que o primeiro elemento 0, e no 1):
echo $simple[0]; // ser printado zero na
tela
As matrizes de associao so armazenadas
em pares chave-valor. Este exemplo cria uma
matriz associativa:
$assoc = array (name => Jim , age =>
29);
Para acessar os valores, use o seguinte:
echo $assoc[ name ]; // printa Jim, na tela
echo $assoc[ age ]; // printa 29, na tela
Para adicionar um novo elemento ao array
556/683
557/683
558/683
559/683
560/683
562/683
563/683
564/683
565/683
566/683
567/683
O Model ( Modelo ) responsvel por operaes relacionadas ao Banco de dados tambm conhecidas pelo acrnimo CRUD (
Create Read Update Delete).
A View ( Viso ) responsvel por apresentar
os formulrios do componente responsveis
por inserir, editar e apagar dados, alm do
resultado das consultas realizadas contra o
banco de dados.
O Controller ( Controlador ) responsvel
por gerenciar e relacioanr as tarefas do
Model e da View.
Customizao do com_users (Back-end)
Gerenciamento de usurios
Iniciaremos a customizao do componente
pela parte administrativa, a mais complexa.
Registrar o campo cpf no manifesto de
formulrio
No Joomla! 3, todos os campos do
568/683
569/683
570/683
571/683
572/683
Aps as acolunas temos uma barra de ferramentas que permite criar uma nova, basta
escolher o local e clicar no boto executar.
figura: Criando a coluna cpf
Perceba na imagem que estamos adicionando uma coluna depois da coluna username.
Agora, basta preencher os parmetros da
coluna e clicar no boto Salvar.
figura: Parmetros da coluna
573/683
574/683
575/683
576/683
577/683
Aps criarmos a coluna cpf no banco de dados chegou a hora de testar o que foi feito at
agora, cadastrando um novo usurios atravs
do back-end do site.
figura: Usurio cadastrado com sucesso
578/683
grvado na base. Basta editar o seu perfil e incuir o cpf para que a devida gravao ocorra
com sucesso.
figura: Registro cpf gravado no banco de dados
579/683
580/683
581/683
582/683
views/registration/tmpl/default.php
arquivo que carrega os campos do
form
Abra o arquivo registration.xml na sua IDE
preferida e insira o cdigo abaixo, em
negrito:
figura: Registration xml
figura: Resultado no front-end
583/683
584/683
585/683
Traduo de Constantes
Override de Idiomas do com_users (Front-end)
Para finalizar a customizao do componente, vamos traduzir as duas constantes criadas no Front-end.
Navegue pelo menu superior Extenses Gerenciador de Idiomas
Sobreposies;
586/683
587/683
Repita o processo para o idioma ingls e todos os outros que possuir no seu projeto.
Plugin Usurio Perfil
Antes de sairmos alterando o cdigo-fonte
do componente bom conhecermos o plugin
do tipo usurio, Perfil. Este plugin nativo
no Joomla! 3.x e trabalha em sincronia com
o com_users aumentando os campos
comuns do cadastro. Para habilt-lo basta
seguir pelo menu superior Extenses
Gerenciador de Plugins.
Habilitando o plugin de Perfil de Usurios
Para habilitar o plugin basta nevegar pelo
menu superior Extenses Gerenciador de
Plugins e habilitar o plugin Perfil de Usurio.
Automaticamente ele ser inserido no formulrio do cadastro padro do Joomla.
588/683
589/683
590/683
591/683
592/683
593/683
594/683
595/683
596/683
597/683
598/683
Validao
digitados
Autenticao
de
dados
599/683
de
Validao
600/683
601/683
602/683
603/683
605/683
606/683
607/683
figura:
608/683
609/683
Note que voc pode entrar com qualquer atributo no jdoc: include tag e estes estaro
disponveis na funo modChrome. Isto
pode ser til para personalizar ainda mais a
aparncia de mdulos. Suponha, por exemplo, que seu mdulo chrome tenha uma
borda em torno dele e voc gostaria de
definir a largura da borda na criao da
posio no template. Uma forma de isso ser
implementado seria adicionar um atributo
chamado border_width no jdoc: include element e depois ler este atributo dentro da
funo chrome para definir a largura (por exemplo, usando uma classe css diferente com
base no valor border_width).
Continuando a anlise do cdigo restante da
funo modChrome_container, percebemos
que a primeira linha do bloco if/endif checa
se a varivel $module no est vazia (mdulo
despublicado, sem contedo) e caso positivo
nada ser mostrado.
610/683
611/683
612/683
613/683
figura:
614/683
modo de edio.
Aperte as teclas (ctrl+f) para pesquisar e digite if ($this->countModules('position-7')). A
primeira opo encontrada o trecho de
cdigo que iremos utilizar. Copie todo o
trecho de cdigo de acordo com o demonstrado abaixo para sua IDE preferida, pode
ser o bloco de notas:
figura:
615/683
616/683
Para visualizar o resultado no front-end atualize o site. Agora, basta dar asas a imaginao e alterar o que quiser na forma de apresentao dos mdulos.
figura:
617/683
Especificamente,
queremos
incluir
a
primeira parte de cada artigo abaixo do ttulo
do artigo. Para fazer isso, vamos criar um
modelo substituto para o layout do mdulo.
Ou seja, faremos um Override no template
do mdulo.
Configurando o loadposition do mdulo para os dados de exemplo
Primeiro, vamos criar um artigo simples com
uma chamada ao mdulo Latest News. No
back-end navegue pelo menu superior
618/683
Perceba que se trata de um artigo, mas estamos usando o plugin loadmodule para inserir o mdulo no corpo do artigo. O
comando {loadmodule mod_articles_latest},
diz ao Joomla para inserir o mdulo articles_latest, neste ponto do corpo do artigo.
619/683
Agora, acesse o front-end do site para visualizar o artigo criado. Se voc o setou como
destaque ele estar na pgina inicial. Caso
contrrio, clique sobre o ttulo do artigo no
mdulo ltimas Notcias. O artigo deve estar
parecido com a figura abaixo:
620/683
621/683
622/683
623/683
624/683
Em seguida montada uma lista desordenada atravs da tag HTML <ul> </ul> O
prximo passo usar o comando foreach
para criar um loop e instanciar as variveis
$list, $item e $link; e
Finalmente apresentar o ttulo ($item->title)
com link para o artigo ($item->link), dentro
da lista montada.
Vamos fazer uma pequena alterao no arquivo apenas para quebrar o gelo. Quel tal
inserirmos um ttulo com a tag HTML < h1
>, antes do instanciamento das variveis?
Veja na imagem abaixo, o pedao de cdigo
inserido. Lembre-se que o arquivo customizado foi o default.php do template andromeda. Ou seja, o que est em templates/andromeda/html/
mod_articles_latest/.
625/683
626/683
627/683
628/683
629/683
630/683
631/683
632/683
633/683
634/683
635/683
636/683
637/683
Personalizado
com_content_article_view_andromeda_option Artigo com layout dos Termos de Servio
No back-end do site, crie um artigo chamado
Termos de Servio;
No menu superior Menus Main Menu
Adicionar Item de Menu (Aba Detalhes
Tipo de tem de Menu) clique no boto Selecionar Artigos e escolha o novo tipo de
tem de menu Layout Personalizado;
figura: novo tipode item de menu
638/683
Este arquivo PHP recebe as variveis passadas pelo boto opes localizado no menu
superior Artigos
639/683
figura:
640/683
figura:
Alterando o
com_users
template
do
componente
641/683
642/683
figura:
643/683
644/683
figura:
Inserindo
Template
uma
imagem
de
fundo
no
645/683
646/683
figura:
647/683
648/683
650/683
651/683
pt-BR.plg_user_validaidade.sys.ini
traduo para o portugus (sistema);
en-GB.plg_user_validaidade.ini
652/683
653/683
Arquivo validaidade.xml
figura: Arquivo validaidade.xml
654/683
655/683
Discover (Descobrir)
Uma novidade pouca explorada no Joomla! 3
a funo Discover (Descobrir) que auxilia
na criao de extenses. Pode ser acessada
atravs do menu superior Extenses Gerenciador de Extenses Menu a esquerda
[Descobrir].
Ao clicarmos no hiperlink Descobrir, o sistema busca por alguma extenso rf, que
656/683
657/683
658/683
BR.plg_user_validaidade.sys.ini;
Crie um subdiretrio chamado en-GB dentro
do diretrio validaidade/language e mova os
arquivos de idiomas que voc criou. Obrigatoriamente
devem
chamar-se:
enGB.plg_user_validaidade.ini
e
emGB.plg_user_validaidade.sys.ini;
Selecione todos os arquivos e diretrios do
diretrio validaidade e compacte criando um
arquivo chamado plg_validaidade.zip; e
figura: instalador do plugin
659/683
Acesse http://www.livrodejoomla.com.br/
insumos/?#a19 para baixar o pacote de instalao do plugin validaidade.
Chegamos ao final da segunda edio do livro, espero ter conseguido o objetivo maior
lanado com este projeto que foi Ajudar o
usurio na criao, configurao e publicao de um site com Joomla! 3.x.
Acesse http://www.livrodejoomla.com.br/
660/683
662/683
libfontconfig1 libfreetype6 libgd2-xpm libgmp3c2 libgomp1 libhtml-templateperl libiomultiplex-perl libjpeg62 libjs-jquery libmpfr1ldbl libmysqlclient15off
libnet-cidr-perl libnet-daemon-perl libnetserver-perl libnet-snmp-perl libplrpc-perl
libpng12-0
libpq5
libssh2-1
libstdc++6-4.3-dev libt1-5
libtalloc1 libterm-readkey-perl libtimedateperl libwbclient0 libxpm4 munin-node
mysql-server
mysql-common
openssl
openssl-blacklist php5 php5common php5-gd php5-mysql php5-suhosin
psmisc ssl-cert ttf-dejavu ttf-dejavu-core ttfdejavu-extra wwwconfig-common libwwwperl htop sudo
Hardening e Tunning do Apache
Edite os seguintes parmetros do arquivo
|/etc/apache2/conf.d/security|
Server Tokens
De
663/683
ServerTokens Full
Para
ServerTokens Prod
ServerSignature
De
ServerSignature On
Para
ServerSignature Off
TraceEnable
De
TraceEnable On
Para
TraceEnable Off
(*) Nos arquivos de configurao em |/etc/
apache2/sites-available/| edite a diretiva
*Document* deixando da seguinte forma:
664/683
665/683
Habilite o SSL
Para
habilitar
o
SSL
acesse
tp://blog.alexos.com.br/?p=371
ht-
Tunning do Apache
As configuraes de tunning do Apache2 esto totalmente ligadas a quantidade de recursos (CPU, memria e banda) disponveis:
Por exemplo para um servidor QuadCore
com 8 GB e um link de 5Mb recomendado
a seguinte configurao:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 0
Descrio de cada diretiva
666/683
667/683
MaxClients)
Valor mximo da diretiva MaxClients - http://httpd.apache.org/docs/2.0/mod/
mpm_common.html#serverlimit
* MaxClients (Varia de acordo com os recursos disponveis)
Nmero mximo de conexes simultneas http://httpd.apache.org/docs/2.0/mod/
mpm_common.html#maxclients
* MaxRequestsPerChild (0 siginifica ilmitado)
Limite de requesies que um processo filho
poder manipular - http://httpd.apache.org/
docs/2.0/mod/
mpm_common.html#maxrequestsperchild
(*) Dica Importante: Para testes de benchmark do Apache2 recomendado o uso do
AB
(Apache
Benchmark
-
668/683
http://httpd.apache.org/docs/2.0/programs/ab.html)
Hardening e Tuninng do MySQL
Execute o seguinte comando e siga os passos
recomendados:
/usr/bin/mysql_secure_installation Enter
current password for root (enter for none):
Informe a senha do root do mysql ou pressione ENTER se a senha ainda no foi configurada
Change the root password? [Y/n]
Pressione ENTER para criar uma nova senha
Remove anonymous users? [Y/n]
Pressione ENTER
Disallow root login remotely? [Y/n]
Pressione ENTER
Remove test database and access to it? [Y/
669/683
n]
Pressione ENTER
Reload privilege tables now? [Y/n]
Pressione ENTER
MySQL Tunning
Para o tunning recomendado o uso do
(MySQL Performance Tunning Primer Script
www.day32.com/MySQL/tuningprimer.sh) (*) Dica Importante: O uso desta
ferrramenta recomendado aps 48 horas
de uso do banco permitindo que o script detecte os valores corretos para o tunning do
banco. Este script validar os parmetros do
arquivo *my.cnf* e criar um novo arquivo
com as alteraes recomendadas.
Hardening do PHP
Para ampliar a segurana do PHP recomendado
o
uso
do(Suhosin
-
670/683
671/683
Hardening do SSH
Modifique as seguintes linhas do arquivo
|/etc/ssh/sshd_config|:
Port 22 para, por exemplo Port 3000
PermitRootLogin yes para PermitRootLogin
no
Limite o uso do sudo somente para o grupo
admin
Crie o grupo admin - addgroup admin
Adicione seu usurio nesse grupo adduser
seuuser admin
Configure o sudo adicionando a seguinte
linha: %admin ALL=(ALL) ALL
Desabilite o usurio root - usermod -L root
Para manter o sistema operacional e os aplicativos atualizados recomendo o uso do
(Cron-apt - http://blog.alexos.com.br/cronapt-otimizando-a-atualizacao-dosservidores-debian/ ).
672/683
Monitoramento de performance
Para monitorar a performance do servidor e
dos servios recomendo o uso do (Munin
http://munin-monitoring.org ), em http://blog.alexos.com.br/monitorandovarios-servidores-de-forma-simples-com-omunin/ voc encontra como instalar e configurar o Munin.
Agora vamos apresentar a configurao do
Munin para monitorar o Apache.
Com o`` server-status`` funcionando habilite os plugins do Apache:
cd /etc/munin/plugins
ln
-s
/usr/share/munin/plugins/
apache_processes apache_processes
ln
-s
/usr/share/munin/plugins/
apache_accesses apache_accesses
Feito isso necessrio editar o arquivo |/etc/
munin/plugin-conf.d/munin-node| e informar o usurio com permisso de acesso as
673/683
674/683
#!/bin/bash
# Server firewall
# Alexandro Silva
# April 27th '2010
PATH=/bin:/usr/bin:/sbin:/usr/sbin
TCPOK="123 80 443"
UDPOK="53"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#Drop incoming malformed NULL packets
iptables -A INPUT -p tcp --tcp-flags ALL
NONE -j DROP
#Drop incoming malformed XMAS packets
iptables -A INPUT -p tcp --tcp-flags ALL
ALL -j DROP
#Syn flood protection
iptables -A INPUT -p tcp --syn -m limit -limit 1/s --limit-burst 3 -j RETURN
675/683
676/683
Insumos do Livro
Guia de Consulta
Rpida Joomla! 3.x
- 2 Edio
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
678/683
679/683
Referncias
Livros
Nielsen Jakob. Projetando Websites. Brasil,
2000.
Silva, Maurcio Samy. Construindo sites com
CSS e (X)HTML. Brasil, 2008.
Kalbach James. Design de Navegao Web.
Brasil, 2009.
North, Barrie M. Joomla! 1.6: A Users
Guide. USA, 2011.
Jarvis Jeff. O que a Google faria? Brasil,
2010.
Krug Steve. No me faa pensar. Brasil,
2006.
Rebitte Leonardo, Marcus Vinicius. Dominado Tableless. Brasil, 2006.
Vaz, Conrado Adolpho, Google Marketing.
Brasil 2008.
Dexter Mark and Landry Louis, Joomla! Programming. USA 2012.
681/683
Websites e Blogs
http://www.joomlabrasilia.org
http://php.net/manual/pt_BR/index.php
http://blog.alexos.com.br/
http://docs.joomla.org/Release_and_support_cycle
http://www.youtube.com/cout45
http://www.apachefriends.org/pt_br/
xampp.html
http://support.google.com/webmasters/
http://docs.joomla.org/International_Enhancements_for_Version_1.6#Unicode_URLs
http://w3c.br/divulgacao/guiasreferencia/
css2/#mod-texto
JED
http://joomlacode.org/gf/project/jtranslation3_x/frs/
682/683
http://pixlr.com/editor/
http://msdn.microsoft.com/pt-br/library/
ms142509.aspx
http://en.wikipedia.org/wiki/P3P
http://www.w3.org/
http://br.mozdev.org/firefox/download/
https://addons.mozilla.org/pt-BR/firefox/
addon/firebug/
http://pt.wikipedia.org/wiki/Brainstorming
http://pt.wikipedia.org/wiki/MVC
http://community.joomla.org/translations/
joomla-3-translations.html
http://www.smartaddons.com/joomla/templates/template-showcase/item/345-sjjoomla3-free-template-for-joomla-30
http://pt.wikipedia.org/wiki/
Navega%C3%A7%C3%A3o_estrutural
http://pt.wikipedia.org/wiki/
Google_Analytics