SdevLab – Passo a Passo | Como instalar o Joomla! em um servidor local

Eae galera!

Neste post vou mostrar como instalar o joomla em um servidor local (como por exemplo easyphp e wamp server).  Se você já tem um servidor como estes, já pode começar. Se ainda não tem e não sabe como se virar, veja este post com um exemplo de instalação passo a passo.

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post se refere ao Joomla versão 1.5.x. Se precisar de tutoriais sobre uma versão mais nova, basta usar a busca do blog pois um material mais atualizado já foi publicado.

Passo a Passo – Como instalar o Joomla! em um servidor local

Para instalar o Joomla! siga os seguintes passos:

1 – Entre no site www.joomla.org e clique no link Download Joomla! conforme a imagem abaixo:

2 – Clicando no link você será direcionado para a página de download, nesta escolha a opção fullinstall;

3 – Quando o donwload terminar, crie uma pasta (por exemplo site) dentro da pasta www do seu servidor local (para aprender a instalar um servidor web local clique aqui) e descompacte o arquivo nesta pasta;

4 – No gerenciador de bancos de dados do seu server (por exemplo PhpMyAdmin) crie um banco, um usuário, e dê permissão total para este usuário no banco que foi criado;

5 – Agora no navegador, acesse seu servidor local (http://localhost) e clique na pasta site, como na imagem abaixo:

Nota: http://localhost/site/installation também funciona

6 – Apartir deste momento começa realmente o processo de instalação; esta primeira tela é somente uma tela de idiomas (que vai ser utilizado durante a instalação). Escolha um de seu gosto e continue;

7 – A tela seguinte é um checkin de instalação, se aparecer algum não no primeiro bloco seu sistema não é compativel e primeiro este problema deve ser resolvido. Se nenhuma  irregularidade for encontrada, passe para a tela seguinte;

8 – Esta tela fala sobre a licença do Joomla! , se tiver curiosidade leia, senão passe para a próxima;

9 – Agora chegou a parte mais importante da instalação. Nesta tela você vai precisar informar para o instalador o nome do seu servidor (no nosso caso é localhost), o nome do banco (o banco criado no passo 4) assim como seu usuário e senha (também criados no passo 4).

10 – Nesta tela ficam as informações de ftp. Não são obrigatórias, e como estamos trabalhando em um servidor local, passe para o passo seguinte.

11 – Para finalizar, preecha os campos da tela de Configuração Principal. Vale uma observação aqui, embora seja requisitos desta tela somente o email, senha e nome do site, no seu primeiro acesso à parte administrativa vai ser necessário um nome de usuário, que por padrão é admin.

12 – Pronto! Para finalizar remova a pasta installation do diretório de seu site.

Até a próxima!

SdevLab – Passo a Passo | Como instalar o WampServer 2

Fala Galera!

Apartir de agora vou começar a postar alguns tutoriais que vão precisar de um servidor web que rode php para funcionar, e além deste servidor vamos precisar também de um servidor de banco de dados.
Para quem não sabe fazer estas instalações separadamente, aqui vai um guia rápido de como instalar o WampServer 2, que é um software (para windows) que engloba todas as nossas necessidades.

Boa Leitura!

Passo a Passo – Como instalar o WampServer 2

Para instalar  WampServer 2, siga os passos abaixo:

1 – Baixar os arquivos de instalação do site www.wampserver.com/en/

2 – Quando o download terminar, execute o arquivo;

2 – Aceite os termos de uso do software;

3 – Escolha um diretório para a instalação;

4 – Neste ponto as configurações para a instalação já estão praticamente terminadas. Na tela abaixo, clique em Install;

5 – Nesta tela a instalação principal já foi finalizada, na próxima tela tem 2 checkbox que dão opções de deixar um ícone na área de trabalho e/ou na barra de inicialização rápida, mas nenhum dos 2 são obrigatórios;

6 – Pronto, se a tela abaixo apareceu, sua instalação terminou com sucesso.

OBS: Se você já tinha outro servidor parecido (por exemplo o EasyPHP) instalado no seu computador, pode acontecer algum conflito entre os serviços. Para ter certeza que o WampServer 2 está funcionando corretamente, você deve ter o ícone (perto do relógio do computador) como a imagem abaixo:

Se nada deu errado durante os passos da instalação você tem o WampServer 2 instalado e pronto pra funcionar!
Até a próxima!

SdevLab – Exemplo de Código | Menu drop-down com CSS e Javascript

Aproveitando esta fornada de tutoriais css, segue abaixo o código de um menu Drop-down. O código não é meu, nem do cara que eu copiei, ou seja, alguem fez colocou na net e não reinvidicou, mas só pra não ficar chato, o site “origem” pelo menos pra mim do código é este -> http://www.yogodoshi.com/blog/web-developer.

Menu drop-down com CSS e Javascript


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Testando o menu drop-down</title>
<style type=”text/css”>
body { font: normal 62.5% verdana; }

ul.menubar{
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
}

ul.menubar .submenu{
margin: 0px;
padding: 0px;
list-style: none;
background-color: #FFFFFF;
border: 1px solid #ccc;
float:left;
}

ul.menubar ul.menu{
display: none;
position: absolute;
margin: 0px;
}

ul.menubar a{
padding: 5px;
display:block;
text-decoration: none;
color: #777;
padding: 5px;
}

ul.menu, ul.menu ul{
margin: 0;
padding: 0;
border-bottom: 1px solid #ccc;
width: 150px; /* Width of Menu Items */
background-color: #FFFFFF; /* IE6 Bug */
}

ul.menu li{
position: relative;
list-style: none;
border: 0px;
}

ul.menu li a{
display: block;
text-decoration: none;
border: 1px solid #ccc;
border-bottom: 0px;
color: #777;
padding: 5px 10px 5px 5px;
}

ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
}

/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
* html ul.menu li a { height: 1%; }
/* End */

ul.menu ul{
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
}

ul.menu li.submenu ul { display: none; } /* Hide sub-menus initially */

ul.menu li.submenu { background: transparent url(arrow.gif) right center no-repeat; }

ul.menu li a:hover { color: #E2144A; }

</style>

<script type=”text/javascript”>
function horizontal() {

var navItems = document.getElementById(“menu_dropdown”).getElementsByTagName(“li”);

for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == “submenu”)
{
if(navItems[i].getElementsByTagName(‘ul’)[0] != null)
{
navItems[i].onmouseover=function() {this.getElementsByTagName(‘ul’)[0].style.display=”block”;this.style.backgroundColor = “#f9f9f9″;}
navItems[i].onmouseout=function() {this.getElementsByTagName(‘ul’)[0].style.display=”none”;this.style.backgroundColor = “#FFFFFF”;}
}
}
}

}

</script>

</head>

<body onload=”horizontal();”>

<ul id=”menu_dropdown” class=”menubar”>
<li class=”submenu”><a href=”#”>Not&iacute;cias</a></li>
<li class=”submenu”><a href=”#”>Institucional</a>

<ul class=”menu”>
<li><a href=”#”>Fotos da Frota</a></li>
<li><a href=”#”>História</a></li>
<li><a href=”#”>Missão</a></li>
<li><a href=”#”>Visão</a></li>
<li><a href=”#”>Instalações</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Qualidade</a>

<ul class=”menu”>
<li><a href=”#”>Resultado dos indicadores</a></li>
<li><a href=”#”>Informativos da Qualidade</a></li>
<li><a href=”#”>Política de Qualidade</a></li>
<li><a href=”#”>Projetos Sociais</a></li>
<li><a href=”#”>Resultado da pesquisa de satisfação</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Serviços</a>

<ul class=”menu”>
<li><a href=”#”>Links Úteis</a></li>
<li><a href=”#”>Itinerário</a></li>
<li><a href=”#”>Mapa das Rotas<sup>novo</sup></a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Contato</a>

<ul class=”menu”>
<li><a href=”#”>Colabore Conosco</a></li>
<li><a href=”#”>Enquetes finalizadas</a></li>
<li><a href=”#”>Fale Conosco</a></li>
<li><a href=”#”>Trabalhe Conosco</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Localize seu ônibus</a></li>
</ul>

</body>
</html>


OBS: Se copiar e colar o código não funcionar, salve este arquivo (menu3) no seu computador. É um arquivo .doc, logo você vai precisar abrir ele e salvar o mesmo como menu3.htm (codificação UNICODE) para conseguir o resultado esperado que é um menu como a imagem abaixo.

Até a próxima!
xD

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Testando o menu drop-down</title>
<style type=”text/css”>
body { font: normal 62.5% verdana; }ul.menubar{
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
}ul.menubar .submenu{
margin: 0px;
padding: 0px;
list-style: none;
background-color: #FFFFFF;
border: 1px solid #ccc;
float:left;
}ul.menubar ul.menu{
display: none;
position: absolute;
margin: 0px;
}ul.menubar a{
padding: 5px;
display:block;
text-decoration: none;
color: #777;
padding: 5px;
}ul.menu, ul.menu ul{
margin: 0;
padding: 0;
border-bottom: 1px solid #ccc;
width: 150px; /* Width of Menu Items */
background-color: #FFFFFF; /* IE6 Bug */
}

ul.menu li{
position: relative;
list-style: none;
border: 0px;
}

ul.menu li a{
display: block;
text-decoration: none;
border: 1px solid #ccc;
border-bottom: 0px;
color: #777;
padding: 5px 10px 5px 5px;
}

ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
}

/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
* html ul.menu li a { height: 1%; }
/* End */

ul.menu ul{
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
}

ul.menu li.submenu ul { display: none; } /* Hide sub-menus initially */

ul.menu li.submenu { background: transparent url(arrow.gif) right center no-repeat; }

ul.menu li a:hover { color: #E2144A; }

</style>

<script type=”text/javascript”>
function horizontal() {

var navItems = document.getElementById(“menu_dropdown”).getElementsByTagName(“li”);

for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == “submenu”)
{
if(navItems[i].getElementsByTagName(‘ul’)[0] != null)
{
navItems[i].onmouseover=function() {this.getElementsByTagName(‘ul’)[0].style.display=”block”;this.style.backgroundColor = “#f9f9f9″;}
navItems[i].onmouseout=function() {this.getElementsByTagName(‘ul’)[0].style.display=”none”;this.style.backgroundColor = “#FFFFFF”;}
}
}
}

}

</script>

</head>

<body onload=”horizontal();”>

<ul id=”menu_dropdown” class=”menubar”>
<li class=”submenu”><a href=”#”>Not&iacute;cias</a></li>
<li class=”submenu”><a href=”#”>Institucional</a>

<ul class=”menu”>
<li><a href=”#”>Fotos da Frota</a></li>
<li><a href=”#”>História</a></li>
<li><a href=”#”>Missão</a></li>
<li><a href=”#”>Visão</a></li>
<li><a href=”#”>Instalações</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Qualidade</a>

<ul class=”menu”>
<li><a href=”#”>Resultado dos indicadores</a></li>
<li><a href=”#”>Informativos da Qualidade</a></li>
<li><a href=”#”>Política de Qualidade</a></li>
<li><a href=”#”>Projetos Sociais</a></li>
<li><a href=”#”>Resultado da pesquisa de satisfação</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Serviços</a>

<ul class=”menu”>
<li><a href=”#”>Links Úteis</a></li>
<li><a href=”#”>Itinerário</a></li>
<li><a href=”#”>Mapa das Rotas<sup>novo</sup></a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Contato</a>

<ul class=”menu”>
<li><a href=”#”>Colabore Conosco</a></li>
<li><a href=”#”>Enquetes finalizadas</a></li>
<li><a href=”#”>Fale Conosco</a></li>
<li><a href=”#”>Trabalhe Conosco</a></li>
</ul>
</li>
<li class=”submenu”><a href=”#”>Localize seu ônibus</a></li>
</ul>

</body>
</html>

SdevLab – Tutorial | CSS Como desenvolver um Layout Tabless

O tutorial de hoje é a sequência do tutorial anterior, e é também o último da série de tutorias sobre CSS. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, visite esta página!

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post foi escrito com base nos tutoriais do W3C para CSS (se não me engano, esta versão é a primeira que tinha no W3C (CSS 1), ou seja, veio antes do CSS 2.1). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de CSS 2.1 ou CSS 3, logo não é mais válido. Vale lembrar que o conteúdo ainda é válido, só não é a versão mais nova!

CSS Como desenvolver um Layout Tabless

Conforme prometido, segue abaixo o código de um layout tabless. Este termo “Tabless” significa sem tabelas, ou seja, é um layout desenvolvido na semântica correta.

Os comentários sobre o layout estão na folha de estilos, que é o “esqueleto” do modelo.

Código html:

&lt;html&gt;

    &lt;head&gt;
        &lt;title&gt;
            Teste 11 - Exemplo de Layout Tabless
        &lt;/title&gt;
        &lt;link href="estilo_tabless.css" rel="stylesheet" type="text/css" /&gt;
    &lt;/head&gt;
    
    &lt;body&gt;
        &lt;div id="all"&gt;
            &lt;div id="topo"&gt;
                &lt;h1&gt;
                    Topo do Site
                &lt;/h1&gt;
            &lt;/div&gt;
            &lt;div id="nav"&gt;
                &lt;h2&gt;
                    Navegação
                &lt;/h2&gt;
                &lt;h3&gt;
                    Links
                &lt;/h3&gt;
                &lt;ul&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Maio 2006&lt;/a&gt;
                    &lt;/li&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Abril 2006&lt;/a&gt;
                    &lt;/li&gt;
                    &lt;li&gt;
                        &lt;a href="#"&gt;Março 2006&lt;/a&gt;
                    &lt;/li&gt;
                &lt;/ul&gt;
            &lt;/div&gt;
            &lt;div id="principal"&gt;
                &lt;h2&gt;
                    Principal
                &lt;/h2&gt;
                &lt;p&gt;
                    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi eleifend,
                    purus quis laoreet faucibus, ante augue malesuada mi, id rhoncus augue
                    lorem eget elit. Ut sollicitudin sodales purus. Phasellus libero felis,
                    blandit nec, commodo ut, imperdiet ut, nibh. Suspendisse potenti. Donec
                    ullamcorper cursus dolor.
                &lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;

NOTA: Ao copiar da página para um arquivo de texto, substitua os caracteres &lt; e &gt; por < e > respectivamente. Se fosse usar os caracteres originais (< e >) o código não seria exibido corretamente aqui no blog.

Folha de estilo (deve ser salva como estilo_tabless.css):

/* Folha de estilo do Layout */
body {
margin:0;
padding:0;
background:#ffffff;
text-align:center;
}
/* Esta regra all define o tamanho do site */
#all {
width:750px;
}
/* A regra topo define o topo do layout. A função dela no modelo é
somente definir o tamanho do topo
e colocar uma linha de divisão entre ele e o restante da página */
#topo {
height:50px;
border-width: 1 1 1 1px;
background: #000000;
}
/* Esta regra define as características da lista de links da coluna
esquerda do layout */
ul{
margin:0;
padding:0;
list-style: square;
}
/* A regra abaixo define as configurações gerais dos títulos */
h1, h2, h3 {
color:#ffffff;
font-size:1.4em;
}
/* Aqui sobrescrevemos as regras dos titulos 2 e 3 que devem ser
menores que o 1 */
h2 {
color:#000000;
font-size:1.2em;
}
h3 {
color:#000000;
font-size:1.0em;
}
#nav {
width:30%;
float:left;
border-right:dotted #000000;
border-width: 0 1 0 0px;
}
#principal {
border:dotted #000000;
border-width: 1 1 1 1px;
}

Nota: Veja que no modelo foi utilizada uma tag nova,  <div>,  que funciona de maneira similar à uma coluna de tabela.

Este modelo é o que existe de mais simples em termos de layouts css, mas serve de base para outros mais complexos. Para continuar os estudos eu indico o site do Maujor (que é minha fonte de consulta de CSS), o site do W3C e ainda o CSS ZenGarden (o melhor na minha opinião).

OBS: CSS não é igual HTML, apesar de não ser uma linguagem de programação é bastante complexa dada a quantidade de recursos à serem explorados.

Aqui terminamos a série de tutoriais css, se alguma dúvida bater (ou sujestão, crítica, etc) deixe um comentário!

Até a próxima!
xD

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-css1
Contribua!

SdevLab – Tutorial | CSS List

Fala galera!

O tutorial de hoje é a sequência do tutorial anterior, que dava continuidade à uma série de tutorias sobre CSS. Se você já tem uma noção básica não faz diferença a sequência, porém, se você deseja aprender na ordem correta, visite esta página!

Boa leitura!

ATUALIZAÇÃO (14/08/2015): Este post foi escrito com base nos tutoriais do W3C para CSS (se não me engano, esta versão é a primeira que tinha no W3C (CSS 1), ou seja, veio antes do CSS 2.1). O link de referência deste post, ou de posts seguintes desta mesma série, hoje aponta para o tutorial de CSS 2.1 ou CSS 3, logo não é mais válido. Vale lembrar que o conteúdo ainda é válido, só não é a versão mais nova!

CSS List

A propriedade list define as regras para as listas. Abaixo segue a tabela com as propriedades:

Propriedade Descrição Opções
list-style-image imagem do marcador da lista
  1. none
  2. URL: url(“caminho/marcador.gif”)
list-style-position local onde o marcador da lista é posicionado
  1. outside: marcador fora do alinhamento do texto
  2. inside: marcador alinhado com text
list-style-type tipo do marcador da lista
  1. none: sem marcador
  2. disc: círculo (bolinha cheia)
  3. circle: circunferência (bolinha vazia)
  4. square: quadrado cheio
  5. decimal: números 1, 2, 3, 4, …
  6. decimal-leading-zero
  7. lower-roman: romano minúsculo i, ii, iii, iv, …
  8. upper-roman: romano maiúsculo I, II, III, IV, …
  9. lower-alpha: letra minúscula a, b, c, d, …
  10. upper-alpha: letra maiúscula A, B, C, D, …
  11. lower-greek
  12. lower-latin
  13. upper-latin
  14. hebrew
  15. armenian
  16. georgian
  17. cjk-ideographic
  18. hiragana
  19. katakana
  20. hiragana-iroha
  21. katakana-iroha

Siga o modelo abaixo para testar as propriedades (o mais interessante de se testar é o type, porque o resto é muito simples):

<html> 
<head> 
<style type="text/css"> 
<!-- ul { list-style-type: katakana; } --> 
</style> 
<title>Teste 10</title> 
</head> 
<body> 
<ul> 
<li>Item um</li> 
<li>Item dois</li> 
<li>Item tres</li> 
</ul> 
</body> 
</html>

A sintaxe geral para as listas segue abaixo:

list-style: position; imagem ou list-style: position; type

No próximo tutorial será apresentado um modelo de site desenvolvido com html + css.

Até lá!
xD

Fonte de pesquisa: maujor.com

Os códigos deste post estão disponíveis em:
https://github.com/jonasvm/sdevlab-cursos/tree/master/sdevlab-css1
Contribua!