sábado, 31 de dezembro de 2011
sexta-feira, 30 de dezembro de 2011
Criando um template simples em Joomla 1.5
How to create a basic Joomla 1.5 template?
First, open the "templates" directory in your Joomla installation. Then create a subfolder in it named "tutorial_template". All the files of your template will reside in it.
Inside your new directory, create a file called index.php, and another named templateDetails.xml. Then create a folder named css and in it - a new file name template.css. In order to create these files, you can use a simple Notepad and store the files on your computer, and upload them later via FTP or the File Manager of your cPanel.
Those are the basic files that each Joomla template needs to function properly. O
index.php - Specifies the available module positions and the path to your Stylesheet file. This is the main "section" of your template;
templateDetails.xml - This is a system file that provides information about your template to the Joomla application;
css/template.css - The stylesheet file of your template. It defines the looks of your website;
Once you have done that, change the default template for your website to the newly created one. For more information how to do this, check our tutorial on Changing the default template of Joomla 1.5.
Now, let's take a detailed look on what each file should contain:
The index.php file should start with:
Menu Drop-Down Horizontal no Joomla 1.5
ul#menulist_root li ul {
display:none;
}
ul#menulist_root li:hover ul{
display:block;
background:none;
}
ul#menulist_root li ul li{
background:#000000;
opacity:.85;
filter: alpha(opacity=85);
-moz-opacity: 0.85;
clear:both;
}
ul#menulist_root li ul li a{
background:none;
width:66px;
}
ul#menulist_root li ul li a:hover{
color:#AA0000;
background:none;
}
display:none;
}
ul#menulist_root li:hover ul{
display:block;
background:none;
}
ul#menulist_root li ul li{
background:#000000;
opacity:.85;
filter: alpha(opacity=85);
-moz-opacity: 0.85;
clear:both;
}
ul#menulist_root li ul li a{
background:none;
width:66px;
}
ul#menulist_root li ul li a:hover{
color:#AA0000;
background:none;
}
IMAGENS & LEGENDAS
Em HTML não existe um elemento (tag) específico que permita inserir uma imagem com respectiva legenda em um documento web. Um elemento com esta característica foi proposto quando dos estudos para as recomendações do HTML3 (Ver proposta), mas não chegou a ser implementado nem mesmo no HTML4.
Colocar uma barra de rolagem dentro de uma célula de tabela
Nesta dica vou mostrar como dimensionar uma área fixa com barra de rolagem [ usando CSS é claro :-) ] para ser inserida dentro de uma célula de tabela. A inspiração para esta dica veio de um post em um fórum CSS.
Vamos usar uma tabela com 03 linhas e 03 colunas na qual nossa área com scroll vai ser colocada dentro da célula central. A técnica é válida para qualquer célula em qualquer tabela.
Barra de navegação tipo botões
Objetivo
Este tutorial tem por objetivo mostrar uma técnica CSS para construção de barras de navegação com um visual do tipo botões clicáveis e interativos à ação do usuário quando os links são colocados no estado "over". O estado "visited" é destacado por uma tonalidade mais clara para o texto do link.
Galeria de fotos com CSS
Introdução
Neste tutorial mostrarei uma técnica de construção de uma galeria de imagens baseada em CSS. O funcionamento da galeria segue o padrão tradicional e consagrado de mostrar o conjunto de todas as fotos da galeria agrupado em forma de versões reduzidas, conhecidas como "thumbnails", que funcionam como uma espécie de gatilho para visualização da versão ampliada. Antes de prosseguir na leitura visite a página contendo a galeria em funcionamento.
quinta-feira, 29 de dezembro de 2011
Joomla 1.5 default CSS
/*Frontend*/
/* FILE: components\com_contact\views\category\tmpl\default.php */
div.componentheading
div.contentpane
div.contentdescription
td.sectiontablefooter
td.sectiontableheader
/* FILE: components\com_contact\views\category\tmpl\default_items.php */
a.category
td.sectiontableentry1
td.sectiontableentry2
/* FILE: components\com_contact\views\contact\tmpl\default.php */
form#selectForm
div.componentheading
table.contentpane
td.contentheading
/* FILE: components\com_contact\views\contact\tmpl\default_form.php */
form#emailForm
input#contact_name
label#contact_emailmsg
input#contact_email
input#contact_subject
label#contact_textmsg
textarea#contact_text
input#contact_email_copy
form.form-validate
div.contact_email
input.inputbox
input.required
input.validate-email
textarea.inputbox
textarea.required
button.button
button.validate
/* FILE: components\com_content\helpers\icon.php */
span.hasTip
/* FILE: components\com_content\models\article.php */
hr#system-readmore
/* FILE: components\com_content\views\archive\tmpl\default.php */
form#jForm
div.componentheading
input.inputbox
button.button
/* FILE: components\com_content\views\archive\tmpl\default_items.php */
ul#archive-list
div#navigation
li.row
h4.title
h5.metadata
span.created-date
span.author
div.intro
/* FILE: components\com_content\views\article\tmpl\default.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\article\tmpl\form.php */
input#title
input#created_by_alias
input#publish_up
input#publish_down
textarea#metadesc
textarea#metakey
table.adminform
td.key
input.inputbox
img.calendar
textarea.inputbox
/* FILE: components\com_content\views\article\tmpl\pagebreak.php */
input#title
input#alt
td.key
/* FILE: components\com_content\views\category\tmpl\blog.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\category\tmpl\blog_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\category\tmpl\blog_links.php */
a.blogsection
/* FILE: components\com_content\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_content\views\category\tmpl\default_items.php */
input.inputbox
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.sectiontablefooter
/* FILE: components\com_content\views\frontpage\tmpl\default.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\frontpage\tmpl\default_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span .article_separator
/* FILE: components\com_content\views\frontpage\tmpl\default_links.php */
a.blogsection
/* FILE: components\com_content\views\section\tmpl\blog.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\section\tmpl\blog_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\section\tmpl\blog_links.php */
a.blogsection
/* FILE: components\com_content\views\section\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_mailto\views\mailto\tmpl\default.php */
div.componentheading
input.inputbox
button.button
/* FILE: components\com_mailto\views\sent\tmpl\default.php */
div.componentheading
/* FILE: components\com_newsfeeds\views\categories\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_newsfeeds\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_newsfeeds\views\category\tmpl\default_items.php */
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
a.category
td.sectiontablefooter
/* FILE: components\com_newsfeeds\views\newsfeed\tmpl\default.php */
table.contentpane
td.componentheading
td.contentheading
/* FILE: components\com_poll\views\poll\tmpl\default.php */
form#poll
div.componentheading
div.contentpane
/* FILE: components\com_poll\views\poll\tmpl\default_graph.php */
table.pollstableborder
th.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.smalldark
/* FILE: components\com_search\search.php */
span.highlight
/* FILE: components\com_search\views\search\tmpl\default.php */
div.componentheading
/* FILE: components\com_search\views\search\tmpl\default_error.php */
table.searchintro
/* FILE: components\com_search\views\search\tmpl\default_form.php */
input#search_searchword
input#area_{VALUE} /* Value is set programatically */
table.contentpaneopen
input.inputbox
input.button
/* FILE: components\com_search\views\search\tmpl\default_results.php */
table.searchintro
table.contentpaneopen
span.small
/* FILE: components\com_user\views\login\tmpl\default_login.php */
form#login
table.contentpane
div.componentheading
input.inputbox
input.button
/* FILE: components\com_user\views\login\tmpl\default_logout.php */
form#login
div.componentheading
table.contentpane
input.button
/* FILE: components\com_user\views\register\tmpl\default.php */
form#josForm
label#namemsg
input#name
label#usernamemsg
input#username
label#emailmsg
input#email
label#pwmsg
input#password
label#pw2msg
input#password2
form.form-validate
div.componentheading
table.contentpane
input.inputbox
input.required
button.button
button.validate
/* FILE: components\com_user\views\register\tmpl\default_message.php */
div.componentheading
div.message
/* FILE: components\com_user\views\remind\tmpl\default.php */
input#email
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-email
button.validate
/* FILE: components\com_user\views\reset\tmpl\complete.php */
input#password1
input#password2
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-password
button.validate
/* FILE: components\com_user\views\reset\tmpl\confirm.php */
input#token
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
button.validate
/* FILE: components\com_user\views\reset\tmpl\default.php */
input#email
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-email
button.validate
/* FILE: components\com_user\views\user\tmpl\default.php */
div.componentheading
/* FILE: components\com_user\views\user\tmpl\form.php */
input#name
input#email
input#username
input#password
input#password2
div.componentheading
input.inputbox
button.button
/* FILE: components\com_weblinks\views\categories\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_weblinks\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_weblinks\views\category\tmpl\default_items.php */
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.sectiontablefooter
/* FILE: components\com_weblinks\views\weblink\tmpl\form.php */
form#adminForm
input#jformtitle
input#jformurl
textarea#jformdescription
div.componentheading
input.inputbox
textarea.inputbox
/* FILE: components\com_wrapper\views\wrapper\tmpl\default.php */
div.contentpane
div.componentheading
/* FILE: libraries\joomla\database\database\mysql.php */
table#explain-sql
/* FILE: libraries\joomla\database\database\mysqli.php */
table#explain-sql
/* FILE: libraries\joomla\document\error\error.php */
table.Table
td.TD
/* FILE: libraries\joomla\html\html.php */
span.editlinktip
span.hasTip
img.calendar
/* FILE: libraries\joomla\html\html\behavior.php */
div#keepAliveLayer
/* FILE: libraries\joomla\html\html\grid.php */
input#cb{ROW_NUMBER} /* Value is set programatically */
/* FILE: libraries\joomla\html\html\grid.php */
span.editlinktip
span.hasTip
/* FILE: libraries\joomla\html\pane.php */
dl.tabs
div.pane-sliders
div.panel
h3.jpane-toggler
h3.title
div.jpane-slider
div.content
/* FILE: libraries\joomla\html\parameter.php */
table.paramlist
table.admintable
td.paramlist_description
td.paramlist_key
span.editlinktip
td.paramlist_value
/* FILE: libraries\joomla\html\toolbar.php */
div.toolbar
/* FILE: libraries\joomla\template\tmpl\adminfilters.html */
#search
input.text_area
input.button
select.inputbox
/* FILE: libraries\joomla\template\tmpl\adminlists.html */
input#cb{ITEM_ID} /* Value is set programatically */
input.text_area
/* FILE: libraries\joomla\template\tmpl\breadcrumbs.html */
span.breadcrumbs
span.pathway
/* FILE: libraries\joomla\template\tmpl\calendar.html */
button#trigger_{ID} /* Value is set programatically */
button.button
/* FILE: libraries\joomla\template\tmpl\dtree.html */
div.expander
/* FILE: libraries\joomla\template\tmpl\forms.html */
input#{NAME} /* Value is set programatically */
input#{VALUE} /* Value is set programatically */
/* FILE: libraries\joomla\template\tmpl\help.html */
div#overDiv
a.tooltip
/* FILE: libraries\joomla\template\tmpl\page.html */
form{FORMNAME} /* Value is set programatically */
/* FILE: libraries\joomla\template\tmpl\tabs.html */
link#luna-tab-style-sheet
div#{PANEID} /* Value is set programatically */
div.tab-page
h2.tab
/* FILE: modules\mod_banners\tmpl\default.php */
div.bannergroup
div.bannerheader
div.banneritem
div.clr
div.bannerfooter
/* FILE: modules\mod_breadcrumbs\helper.php */
a.pathway
/* FILE: modules\mod_breadcrumbs\tmpl\default.php */
span.breadcrumbs
span.pathway
/* FILE: modules\mod_feed\tmpl\default.php */
table.moduletable
ul.newsfeed
/* FILE: modules\mod_latestnews\tmpl\default.php */
ul.latestnews
li.latestnews
a.latestnews
/* FILE: modules\mod_login\tmpl\default.php */
input#mod_login_username
input#mod_login_password
input#mod_login_remember
input.inputbox
input.button
/* FILE: modules\mod_mainmenu\helper.php */
li#{ITEM ID} /* Value is set programatically */
span.separator
/* FILE: modules\mod_mainmenu\legacy.php */
ul#mainlevel
ul#sublevel
/* FILE: modules\mod_mostread\tmpl\default.php */
ul.mostread
li.mostread
a.mostread
/* FILE: modules\mod_newsflash\tmpl\_item.php */
table.contentpaneopen
td.contentheading
a.contentpagetitle
/* FILE: modules\mod_newsflash\tmpl\horiz.php */
table.moduletable
/* FILE: modules\mod_newsflash\tmpl\vert.php */
span.article_separator
/* FILE: modules\mod_poll\tmpl\default.php */
input#voteid{VOTE ID NUMBER} /* Value is set programatically */
table.poll
table.pollstableborder
input.button
/* FILE: modules\mod_related_items\tmpl\default.php */
ul.relateditems
/* FILE: modules\mod_search\helper.php */
input#mod_search_searchword
input.inputbox
input.button
/* FILE: modules\mod_search\tmpl\default.php */
div.search
/* FILE: modules\mod_sections\tmpl\default.php */
ul.sections
/* FILE: components\com_contact\views\category\tmpl\default.php */
div.componentheading
div.contentpane
div.contentdescription
td.sectiontablefooter
td.sectiontableheader
/* FILE: components\com_contact\views\category\tmpl\default_items.php */
a.category
td.sectiontableentry1
td.sectiontableentry2
/* FILE: components\com_contact\views\contact\tmpl\default.php */
form#selectForm
div.componentheading
table.contentpane
td.contentheading
/* FILE: components\com_contact\views\contact\tmpl\default_form.php */
form#emailForm
input#contact_name
label#contact_emailmsg
input#contact_email
input#contact_subject
label#contact_textmsg
textarea#contact_text
input#contact_email_copy
form.form-validate
div.contact_email
input.inputbox
input.required
input.validate-email
textarea.inputbox
textarea.required
button.button
button.validate
/* FILE: components\com_content\helpers\icon.php */
span.hasTip
/* FILE: components\com_content\models\article.php */
hr#system-readmore
/* FILE: components\com_content\views\archive\tmpl\default.php */
form#jForm
div.componentheading
input.inputbox
button.button
/* FILE: components\com_content\views\archive\tmpl\default_items.php */
ul#archive-list
div#navigation
li.row
h4.title
h5.metadata
span.created-date
span.author
div.intro
/* FILE: components\com_content\views\article\tmpl\default.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\article\tmpl\form.php */
input#title
input#created_by_alias
input#publish_up
input#publish_down
textarea#metadesc
textarea#metakey
table.adminform
td.key
input.inputbox
img.calendar
textarea.inputbox
/* FILE: components\com_content\views\article\tmpl\pagebreak.php */
input#title
input#alt
td.key
/* FILE: components\com_content\views\category\tmpl\blog.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\category\tmpl\blog_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\category\tmpl\blog_links.php */
a.blogsection
/* FILE: components\com_content\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_content\views\category\tmpl\default_items.php */
input.inputbox
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.sectiontablefooter
/* FILE: components\com_content\views\frontpage\tmpl\default.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\frontpage\tmpl\default_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span .article_separator
/* FILE: components\com_content\views\frontpage\tmpl\default_links.php */
a.blogsection
/* FILE: components\com_content\views\section\tmpl\blog.php */
div.componentheading
table.blog
td.article_column
div.blog_more
/* FILE: components\com_content\views\section\tmpl\blog_item.php */
div.contentpaneopen_edit
table.contentpaneopen
td.contentheading
a.contentpagetitle
td.buttonheading
span.small
td.createdate
td.modifydate
a.readon
span.article_separator
/* FILE: components\com_content\views\section\tmpl\blog_links.php */
a.blogsection
/* FILE: components\com_content\views\section\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_mailto\views\mailto\tmpl\default.php */
div.componentheading
input.inputbox
button.button
/* FILE: components\com_mailto\views\sent\tmpl\default.php */
div.componentheading
/* FILE: components\com_newsfeeds\views\categories\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_newsfeeds\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_newsfeeds\views\category\tmpl\default_items.php */
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
a.category
td.sectiontablefooter
/* FILE: components\com_newsfeeds\views\newsfeed\tmpl\default.php */
table.contentpane
td.componentheading
td.contentheading
/* FILE: components\com_poll\views\poll\tmpl\default.php */
form#poll
div.componentheading
div.contentpane
/* FILE: components\com_poll\views\poll\tmpl\default_graph.php */
table.pollstableborder
th.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.smalldark
/* FILE: components\com_search\search.php */
span.highlight
/* FILE: components\com_search\views\search\tmpl\default.php */
div.componentheading
/* FILE: components\com_search\views\search\tmpl\default_error.php */
table.searchintro
/* FILE: components\com_search\views\search\tmpl\default_form.php */
input#search_searchword
input#area_{VALUE} /* Value is set programatically */
table.contentpaneopen
input.inputbox
input.button
/* FILE: components\com_search\views\search\tmpl\default_results.php */
table.searchintro
table.contentpaneopen
span.small
/* FILE: components\com_user\views\login\tmpl\default_login.php */
form#login
table.contentpane
div.componentheading
input.inputbox
input.button
/* FILE: components\com_user\views\login\tmpl\default_logout.php */
form#login
div.componentheading
table.contentpane
input.button
/* FILE: components\com_user\views\register\tmpl\default.php */
form#josForm
label#namemsg
input#name
label#usernamemsg
input#username
label#emailmsg
input#email
label#pwmsg
input#password
label#pw2msg
input#password2
form.form-validate
div.componentheading
table.contentpane
input.inputbox
input.required
button.button
button.validate
/* FILE: components\com_user\views\register\tmpl\default_message.php */
div.componentheading
div.message
/* FILE: components\com_user\views\remind\tmpl\default.php */
input#email
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-email
button.validate
/* FILE: components\com_user\views\reset\tmpl\complete.php */
input#password1
input#password2
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-password
button.validate
/* FILE: components\com_user\views\reset\tmpl\confirm.php */
input#token
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
button.validate
/* FILE: components\com_user\views\reset\tmpl\default.php */
input#email
div.componentheading
form.josForm
form.form-validate
table.contentpane
label.hasTip
input.required
input.validate-email
button.validate
/* FILE: components\com_user\views\user\tmpl\default.php */
div.componentheading
/* FILE: components\com_user\views\user\tmpl\form.php */
input#name
input#email
input#username
input#password
input#password2
div.componentheading
input.inputbox
button.button
/* FILE: components\com_weblinks\views\categories\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
a.category
span.small
/* FILE: components\com_weblinks\views\category\tmpl\default.php */
div.componentheading
table.contentpane
td.contentdescription
/* FILE: components\com_weblinks\views\category\tmpl\default_items.php */
td.sectiontableheader
td.sectiontableentry1
td.sectiontableentry2
td.sectiontablefooter
/* FILE: components\com_weblinks\views\weblink\tmpl\form.php */
form#adminForm
input#jformtitle
input#jformurl
textarea#jformdescription
div.componentheading
input.inputbox
textarea.inputbox
/* FILE: components\com_wrapper\views\wrapper\tmpl\default.php */
div.contentpane
div.componentheading
/* FILE: libraries\joomla\database\database\mysql.php */
table#explain-sql
/* FILE: libraries\joomla\database\database\mysqli.php */
table#explain-sql
/* FILE: libraries\joomla\document\error\error.php */
table.Table
td.TD
/* FILE: libraries\joomla\html\html.php */
span.editlinktip
span.hasTip
img.calendar
/* FILE: libraries\joomla\html\html\behavior.php */
div#keepAliveLayer
/* FILE: libraries\joomla\html\html\grid.php */
input#cb{ROW_NUMBER} /* Value is set programatically */
/* FILE: libraries\joomla\html\html\grid.php */
span.editlinktip
span.hasTip
/* FILE: libraries\joomla\html\pane.php */
dl.tabs
div.pane-sliders
div.panel
h3.jpane-toggler
h3.title
div.jpane-slider
div.content
/* FILE: libraries\joomla\html\parameter.php */
table.paramlist
table.admintable
td.paramlist_description
td.paramlist_key
span.editlinktip
td.paramlist_value
/* FILE: libraries\joomla\html\toolbar.php */
div.toolbar
/* FILE: libraries\joomla\template\tmpl\adminfilters.html */
#search
input.text_area
input.button
select.inputbox
/* FILE: libraries\joomla\template\tmpl\adminlists.html */
input#cb{ITEM_ID} /* Value is set programatically */
input.text_area
/* FILE: libraries\joomla\template\tmpl\breadcrumbs.html */
span.breadcrumbs
span.pathway
/* FILE: libraries\joomla\template\tmpl\calendar.html */
button#trigger_{ID} /* Value is set programatically */
button.button
/* FILE: libraries\joomla\template\tmpl\dtree.html */
div.expander
/* FILE: libraries\joomla\template\tmpl\forms.html */
input#{NAME} /* Value is set programatically */
input#{VALUE} /* Value is set programatically */
/* FILE: libraries\joomla\template\tmpl\help.html */
div#overDiv
a.tooltip
/* FILE: libraries\joomla\template\tmpl\page.html */
form{FORMNAME} /* Value is set programatically */
/* FILE: libraries\joomla\template\tmpl\tabs.html */
link#luna-tab-style-sheet
div#{PANEID} /* Value is set programatically */
div.tab-page
h2.tab
/* FILE: modules\mod_banners\tmpl\default.php */
div.bannergroup
div.bannerheader
div.banneritem
div.clr
div.bannerfooter
/* FILE: modules\mod_breadcrumbs\helper.php */
a.pathway
/* FILE: modules\mod_breadcrumbs\tmpl\default.php */
span.breadcrumbs
span.pathway
/* FILE: modules\mod_feed\tmpl\default.php */
table.moduletable
ul.newsfeed
/* FILE: modules\mod_latestnews\tmpl\default.php */
ul.latestnews
li.latestnews
a.latestnews
/* FILE: modules\mod_login\tmpl\default.php */
input#mod_login_username
input#mod_login_password
input#mod_login_remember
input.inputbox
input.button
/* FILE: modules\mod_mainmenu\helper.php */
li#{ITEM ID} /* Value is set programatically */
span.separator
/* FILE: modules\mod_mainmenu\legacy.php */
ul#mainlevel
ul#sublevel
/* FILE: modules\mod_mostread\tmpl\default.php */
ul.mostread
li.mostread
a.mostread
/* FILE: modules\mod_newsflash\tmpl\_item.php */
table.contentpaneopen
td.contentheading
a.contentpagetitle
/* FILE: modules\mod_newsflash\tmpl\horiz.php */
table.moduletable
/* FILE: modules\mod_newsflash\tmpl\vert.php */
span.article_separator
/* FILE: modules\mod_poll\tmpl\default.php */
input#voteid{VOTE ID NUMBER} /* Value is set programatically */
table.poll
table.pollstableborder
input.button
/* FILE: modules\mod_related_items\tmpl\default.php */
ul.relateditems
/* FILE: modules\mod_search\helper.php */
input#mod_search_searchword
input.inputbox
input.button
/* FILE: modules\mod_search\tmpl\default.php */
div.search
/* FILE: modules\mod_sections\tmpl\default.php */
ul.sections
Arquivo de Configuração do Joomla 1.5 : configuration.php para fora da raiz
Mover o arquivo configuration.php para fora da raiz, mova simplesmente o arquivo de configuração para qualquer pasta que você queira dentro do site e atribua-lhe um novo nome. No exemplo utilizei 'joom.conf'.
Crie um novo arquivo de configuração na raiz com o nome de configuration.php contendo o seguinte código:
<?phprequire( dirname( __FILE__ ) . '/../joom.conf' );
?>
quarta-feira, 21 de dezembro de 2011
10 Técnicas para Reset CSS
1. Generic Reset CSS
Esse com certeza é o mais conhecido e utilizado pelos desenvolvedores:1.
* {
2.
padding
:
0
;
3.
margin
:
0
;
4.
border
:
0
;
5.
}
Reset CSS
Por padrão, todos os elementos HTML possuem um estilo incorporado, e isso varia de Browser para Browser, não existe um padrão. Com isso você pode passar por vários problemas ao tentar desenvolver CSS Cross-browser.
Para evitar esse tipo de problema, é aconselhável utilizar técnicas de CSS Reset, ou seja, inciar o CSS com todos as tags HTML sem qualquer estilo padrão definido pelo browser. Abaixo vou mostrar algumas técnicas, algumas desconhecias por alguns, outras já utilizadas por default por vários desenvolvedores.
Para evitar esse tipo de problema, é aconselhável utilizar técnicas de CSS Reset, ou seja, inciar o CSS com todos as tags HTML sem qualquer estilo padrão definido pelo browser. Abaixo vou mostrar algumas técnicas, algumas desconhecias por alguns, outras já utilizadas por default por vários desenvolvedores.
segunda-feira, 19 de dezembro de 2011
Popups em Joomla 1.5 usando Mootools
Utiliza este script dentro das tags header do seu template
<?php JHTML::_( 'behavior.modal' ); ?>
<script>
SqueezeBox.loadModal = function(modalUrl,handler,x,y) {
this.initialize();
var options = $merge(options || {}, Json.evaluate("{handler: '" + handler + "', size: {x: " + x +", y: " + y + "}}"));
this.setOptions(this.presets, options);
this.assignOptions();
this.setContent(handler,modalUrl);
};
window.addEvent('domready', function() {
SqueezeBox.loadModal('http://www.eniomarcelo.com.br','iframe',100,100);
});
</script>
<?php JHTML::_( 'behavior.modal' ); ?>
<script>
SqueezeBox.loadModal = function(modalUrl,handler,x,y) {
this.initialize();
var options = $merge(options || {}, Json.evaluate("{handler: '" + handler + "', size: {x: " + x +", y: " + y + "}}"));
this.setOptions(this.presets, options);
this.assignOptions();
this.setContent(handler,modalUrl);
};
window.addEvent('domready', function() {
SqueezeBox.loadModal('http://www.eniomarcelo.com.br','iframe',100,100);
});
</script>
quarta-feira, 14 de dezembro de 2011
Aumentar a memória alocado do Apache via PHP
Alterar o memory_limit com a função ini_set do php.
Ex:
ini_set(“memory_limit”, “16M”);
Ex:
ini_set(“memory_limit”, “16M”);
sexta-feira, 25 de novembro de 2011
Configurando date.timezone do PHP no UBUNTU
Dentro do arquivo php.ini que fica em /etc/php5/apache2/php.ini no UBUNTU. procure por pela linha :
[Date]
; Defines the default timezone used by the date functions
;date.timezone =
troque a linha ;date.timezone =
por
date.timezone = "America/Campo_grande"
pronto..... é só reiniciar o apache...
Grande Abraço a todos
[Date]
; Defines the default timezone used by the date functions
;date.timezone =
troque a linha ;date.timezone =
por
date.timezone = "America/Campo_grande"
pronto..... é só reiniciar o apache...
Grande Abraço a todos
quarta-feira, 9 de novembro de 2011
Usando CSS Sprites para fazer seu site carregar mais rápido
Esta técnica é aconselhável tanto para sites com layout de muitas imagens como para sites com menus animados. Sabe quando você passa o mouse sobre um item do menu de um site e tem que esperar a imagem que corresponde ao “botão pressionado” carregar? Ou quando o conteúdo em texto do site já apareceu, mas ainda fica uma eternidade até carregar imagem por imagem? É exatamente isso que vamos tentar evitar por aqui.
Veja, por exemplo, o tempo que alguns sites conhecidos levam para carregar o HTML e outros arquivos como imagens, css e javascript.
Veja, por exemplo, o tempo que alguns sites conhecidos levam para carregar o HTML e outros arquivos como imagens, css e javascript.
segunda-feira, 7 de novembro de 2011
Iptables - Redirecionamento de portas para máquinas na rede interna
Redirecionar certas portas para os hosts da rede interna. Isso permite que você rode um servidor de FTP ou um Servidor de Páginas como o Apache por exemplo, em qualquer um dos micros da rede e não apenas no servidor que está diretamente conectado à internet. O servidor simplesmente redireciona todas as requisições recebidas na porta para o micro especificado, de forma transparente.
O foward de portas também usa o Nat, por isso você também deve carregar o módulo caso não tenha feito anteriormente:
modprobe iptable_nat
Em seguida vem as regras para fazer o forward da porta.
Neste caso estou direcionando a porta 22 (do SSH) na conexão com a internet (eth0) para o micro 192.168.0.2 da rede local:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.0.2 -j ACCEPT
Você pode repetir o comando várias vezes para direcionar varias portas diferentes para várias máquinas. Naturalmente uma mesma porta não pode ser fowardada duas vezes.
Também é possível fowardar ranges de portas. No Unreal Tournament por exemplo você precisa abrir as portas UDP 7777, 7778 e 7779 neste caso as regras seriam:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 7777:7779 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p udp -i eth0 --dport 7777:7779 -d 192.168.0.2 -j ACCEPT
O foward de portas também usa o Nat, por isso você também deve carregar o módulo caso não tenha feito anteriormente:
modprobe iptable_nat
Em seguida vem as regras para fazer o forward da porta.
Neste caso estou direcionando a porta 22 (do SSH) na conexão com a internet (eth0) para o micro 192.168.0.2 da rede local:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 22 -d 192.168.0.2 -j ACCEPT
Você pode repetir o comando várias vezes para direcionar varias portas diferentes para várias máquinas. Naturalmente uma mesma porta não pode ser fowardada duas vezes.
Também é possível fowardar ranges de portas. No Unreal Tournament por exemplo você precisa abrir as portas UDP 7777, 7778 e 7779 neste caso as regras seriam:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 7777:7779 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p udp -i eth0 --dport 7777:7779 -d 192.168.0.2 -j ACCEPT
Marcadores:
IPTABLES Firewall,
Linux,
Segurança
Aumentando a segurança do servidor SSH
Segue abaixo umas regrinhas para você colocar no seu script de firewall:
PORTSSH="4578"
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport $PORTSSH -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport $PORTSSH -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
iptables -A INPUT -p tcp --dport $PORTSSH -j ACCEPT
- Na primeira linha, altere o valor 4578 que usei como exemplo para o número da sua porta ssh.
- A segunda é pra logar informações da "criança" que tentar abrir conexão direto na porta 22 que é a padrão do ssh.
- A terceira e quarta é pra evitar um ataque de força bruta.
- E a quinta é pra abrir a verdadeira porta do servidor ssh.
Marcadores:
IPTABLES Firewall,
Linux,
Segurança
sexta-feira, 4 de novembro de 2011
Aumentando a Segurança em Ambientes Microsoft
Esta trilha fornecerá informações técnicas sobre como implementar e configurar diversas tecnologias da Microsoft para aumentar a segurança do seu Ambiente.
Contar total de pessoas online em um site ou sistema
Segue o exemplo:
Só mude aonde estiver em azul.
Agora salve o código abaixo como tabela.sql e rode-o no seu banco de dados.
$host = "localhost"; $user = "usuario"; $pass = "senha"; $db = "banco_de_dados"; $connection = @mysql_connect($host, $user, $pass) or die("Unable to connect to database!"); @mysql_select_db($db, $connection) or die("Unable to select database!"); $ts = time(); $to = time()-60; $sql = @mysql_query("SELECT count(*) FROM usuarios_online WHERE ip='$REMOTE_ADDR'"); $sqlt = @mysql_result($sql,0,0); if ($sqlt) @mysql_query("UPDATE usuarios_online SET timestamp='$ts',local='$PHP_SELF',nick='$admin_nick' WHERE ip='$REMOTE_ADDR'"); else @mysql_query("INSERT INTO usuarios_online (timestamp,ip,local,nick) VALUES ('$ts','$REMOTE_ADDR','$PHP_SELF','$admin_nick')"); $sql = @mysql_query("DELETE FROM usuarios_online WHERE timestamp<$to"); $sql = @mysql_query("SELECT ip FROM usuarios_online"); $UOL = @mysql_num_rows($sql); $UOLS = ($UOL <= 1) ? "" : "s"; # ja esta com a verificacao pra coloca 's' se for maior que 1 usuario online echo "$UOL usuário${UOLS} online"; ?> |
Só mude aonde estiver em azul.
Agora salve o código abaixo como tabela.sql e rode-o no seu banco de dados.
CREATE TABLE `usuarios_online` ( `timestamp` int(20) NOT NULL default '0', `ip` varchar(25) NOT NULL default '', `local` varchar(70) default NULL, `nick` varchar(30) NOT NULL default '' ) TYPE=MyISAM; |
segunda-feira, 10 de outubro de 2011
Filesystem Check Failed !!! no Boot do LINUX
Quando seu linux apresentar esta mensagem no
boot : Filesystem Check Failed !!!
é sinal que sua partição se corrompeu por
algum motivo, o motivo mais comum é por
falta de energia. Então, o que fazer ?
domingo, 9 de outubro de 2011
Dicas e Truques para o Exame 70-680
Segue algumas dicas para certificação 70-680 Microsoft Windows 7
As percentagens indicam o peso relativo de cada área de tópico importante sobre o exame.
sexta-feira, 7 de outubro de 2011
Alterando o fuso horário no Linux
Para alterarmos o fuso horário, usamos o programa "tzdata". A instalação deve ser feita segundo o procedimento padrão de sua distro, mas na maioria das vezes já vem instalado.
1) no terminal, faça:
$ sudo dpkg-reconfigure tzdata
e escolha o fuso que preferir.
1) no terminal, faça:
$ sudo dpkg-reconfigure tzdata
e escolha o fuso que preferir.
quinta-feira, 6 de outubro de 2011
Montando partição HD no boot do LINUX
edite o arquivo /etc/fstab e adicione uma linha parecida com essa:
/dev/sda3 /home ext4 defaults 0 0
OBS: Tudo depende de como o HD está ligado, IDE primária aceita hda/hdb IDE secundária aceita hdc/hdb, o que diferencia um dou outro é uma opção master/slave, se for só uma partição então fica hda1, se tiver mais pode ser hda5 se for partição extendida, mas se for primária seria hda2.
Se for HD sata vai ser sda ou sdb depende de como está instalado e da quantidade de HDs.
/dev/sda3 /home ext4 defaults 0 0
OBS: Tudo depende de como o HD está ligado, IDE primária aceita hda/hdb IDE secundária aceita hdc/hdb, o que diferencia um dou outro é uma opção master/slave, se for só uma partição então fica hda1, se tiver mais pode ser hda5 se for partição extendida, mas se for primária seria hda2.
Se for HD sata vai ser sda ou sdb depende de como está instalado e da quantidade de HDs.
Formatando HD no LINUX
$ mkfs.ext3 /dev/sdx
esse comando cria uma partição ext3
obs: não se esqueça de substituir /dev/sdx pelo device certo, uma vez eu formatei o hd errado. :)
esse comando cria uma partição ext3
obs: não se esqueça de substituir /dev/sdx pelo device certo, uma vez eu formatei o hd errado. :)
Partticionando HD no LINUX com fdisk
Ao particionar, você deve ter em mente 6 operações básicas: listar as partições existentes, criar uma nova partição, deletar uma partição, mudar o tipo de uma partição, marcar uma partição como ativa e gravar a tabela de partições no disco.
Vejamos como fazer isso usando três ferramentas para linux: fdisk e cfdisk.
Vejamos como fazer isso usando três ferramentas para linux: fdisk e cfdisk.
Microsoft Forefront: Alcançando a defesa profunda com o Forefront
Com as várias camadas e os modos de proteção oferecidos pelo Microsoft Forefront, você pode configurar a proteção para atender precisamente às suas necessidades.
Boletins de Segurança de Setembro
MS11-070: Vulnerabilidade em WINS poderia permitir elevação de privilégio (2571621)
MS11-071: Vulnerabilidade em componentes do Windows poderia permitir execução remota de código (2570947)
MS11-072: Vulnerabilidades no Microsoft Excel poderiam permitir execução remota de código (2587505)
MS11-073: Vulnerabilidades no Microsoft Office poderiam permitir execução remota de código (2587634)
MS11-074: Vulnerabilidades no Microsoft SharePoint poderiam permitir elevação de privilégio (2451858)
MS11-071: Vulnerabilidade em componentes do Windows poderia permitir execução remota de código (2570947)
MS11-072: Vulnerabilidades no Microsoft Excel poderiam permitir execução remota de código (2587505)
MS11-073: Vulnerabilidades no Microsoft Office poderiam permitir execução remota de código (2587634)
MS11-074: Vulnerabilidades no Microsoft SharePoint poderiam permitir elevação de privilégio (2451858)
quarta-feira, 5 de outubro de 2011
Como executar script ao iniciar Linux (Testado no Ubuntu)
Com um editor de texto (recomendo Gedit ou VIM), crie seu script e salve-o com extensão .sh na pasta /etc/init.d.
- No terminal dentro do caminho /etc/init.d, digite o comando: # chmod 755 nome_do_script.sh - Isso dará as permissões necessárias para o arquivo ser executado.
- Após ter feito isso, utilize o seguinte comando: # update-rc.d nome_do_script.sh defaults - Isso atualizará os diretórios rc.d, adicionando seu script na inicialização do sistema.
- Caso necessite remover o arquivo da inicialização, utilize o comando: # update-rc.d nome_do_script.sh remove
Com isso, comandos que você precisa executar toda vez ao iniciar sistema - como compartilhar internet, montar unidade ou iniciar um programa - será executado automaticamente.
- No terminal dentro do caminho /etc/init.d, digite o comando: # chmod 755 nome_do_script.sh - Isso dará as permissões necessárias para o arquivo ser executado.
- Após ter feito isso, utilize o seguinte comando: # update-rc.d nome_do_script.sh defaults - Isso atualizará os diretórios rc.d, adicionando seu script na inicialização do sistema.
- Caso necessite remover o arquivo da inicialização, utilize o comando: # update-rc.d nome_do_script.sh remove
Com isso, comandos que você precisa executar toda vez ao iniciar sistema - como compartilhar internet, montar unidade ou iniciar um programa - será executado automaticamente.
terça-feira, 4 de outubro de 2011
Componentes, módulos e plugins úteis
Componentes:
1- JCE 1.5.2 - Editor de texto com função show/hide
2- Art Banners Plus - Permite inserir banner em flsh
3- Phoca Gallery 2.2.0 - Existe uma mais nova (2.2.3), mas tive problemas com a criação de thumbmails nela. Essa versão, apesar de ser anterior, já vem com o plugin de uploads múltiplos através de zip, java (a que eu mais uso) e ftp, diferente da 2.1.0 que não disponibiliza essas recursos.
4- Phoca Favicon - Para substituição do favicon default do joomla.
5- Phoca guestbook - Livro de visitas
6- Joomla Pack 1.2 - Faz backup do site e do banco de dados
7- Joomla Explorer - Administra seus arquivos através do admin do joomla.
7- DocMan e Phoca Downloads - Gerenciadores de download.
8- Aacajoom - Administrador de newsletter
Módulos:
1- Phoca Gallery Menu 2.2.1 - Cria um menu usando como referência as categorias do Phoca Gallery.
2- Art Banners Plus Módulo - Para visualização dos banners cadastrados no componente homônimo.
3- Anti Right Click - Bloqueia o uso do botão direito no site.
4- LCPlayer - Módulo para execução de rádios e tvs on line através de endereço mms.
5- Page Peel Banner - Como vou descrever esse? Hum... Ele inseri no canto superior de sua home page aquele efeito de folha balançando e então, quando o internauta proxima o mouse em direção a animação, ela se movimenta e divulga um banner (500 x 500). Deu pra entender? :D
6- Rok Slide Show 3.0.3 - Fácil, prático e customizável.
Plugins:
1- All Videos 2.5.3 - Inseri videos através da tag {"extençãodoarquivo"}{/extensaodoarquivo}.
2- JCE 1.5.2 - Plugin que aciona as funcionalidade deste excelente editor de textos.
1- JCE 1.5.2 - Editor de texto com função show/hide
2- Art Banners Plus - Permite inserir banner em flsh
3- Phoca Gallery 2.2.0 - Existe uma mais nova (2.2.3), mas tive problemas com a criação de thumbmails nela. Essa versão, apesar de ser anterior, já vem com o plugin de uploads múltiplos através de zip, java (a que eu mais uso) e ftp, diferente da 2.1.0 que não disponibiliza essas recursos.
4- Phoca Favicon - Para substituição do favicon default do joomla.
5- Phoca guestbook - Livro de visitas
6- Joomla Pack 1.2 - Faz backup do site e do banco de dados
7- Joomla Explorer - Administra seus arquivos através do admin do joomla.
7- DocMan e Phoca Downloads - Gerenciadores de download.
8- Aacajoom - Administrador de newsletter
Módulos:
1- Phoca Gallery Menu 2.2.1 - Cria um menu usando como referência as categorias do Phoca Gallery.
2- Art Banners Plus Módulo - Para visualização dos banners cadastrados no componente homônimo.
3- Anti Right Click - Bloqueia o uso do botão direito no site.
4- LCPlayer - Módulo para execução de rádios e tvs on line através de endereço mms.
5- Page Peel Banner - Como vou descrever esse? Hum... Ele inseri no canto superior de sua home page aquele efeito de folha balançando e então, quando o internauta proxima o mouse em direção a animação, ela se movimenta e divulga um banner (500 x 500). Deu pra entender? :D
6- Rok Slide Show 3.0.3 - Fácil, prático e customizável.
Plugins:
1- All Videos 2.5.3 - Inseri videos através da tag {"extençãodoarquivo"}{/extensaodoarquivo}.
2- JCE 1.5.2 - Plugin que aciona as funcionalidade deste excelente editor de textos.
segunda-feira, 3 de outubro de 2011
Uma dica muito boa no site do El Micox, ele demonstrou como começar um css as propriedades css mais comuns.
Segue o código que o El Micox fez:
* { margin: 0; padding: 0; /* padronizando nos navegadores */ }
img { border: 0;}
fieldset { display: block; border: 2px ridge #FFF; padding: 10px; /* padronizando nos navegadores */ }
ul, ol { margin-left: 10px; /* padronizando nos navegadores */}
input[type=hidden]{ display: none !important; visibility: hidden !important; /* esconde mesmo inputs hidden no FF */}
button { border: 1px outset #AAA;}
form button { text-align: center; margin: 5px auto; display: block; }
form ul { list-style: none; margin-left: 0; }
fieldset label { display: block;}
fieldset .radios label { display: inline; }
p { margin-top: 5px; } /* padronizando tamanhos de cabecalho em todos os browsers */
h1 { font-size: 250%;}
h2 { font-size: 200%;}
h3 { font-size: 150%;}
h4 { font-size: 120%;} /* classes costumeiras */
.ak { text-decoration: underline; /* access keys */ }
.u { text-decoration: underline; /* textos underline */}
.secoes { display: none; /* exibe nomes das seções se o CSS estiver desativado */ }
.img-left { float: left; }
.img-right { float: right;}
.erroinfo { background: #FFCCCC;}
.erro { background: #FF0000;}
img { border: 0;}
fieldset { display: block; border: 2px ridge #FFF; padding: 10px; /* padronizando nos navegadores */ }
ul, ol { margin-left: 10px; /* padronizando nos navegadores */}
input[type=hidden]{ display: none !important; visibility: hidden !important; /* esconde mesmo inputs hidden no FF */}
button { border: 1px outset #AAA;}
form button { text-align: center; margin: 5px auto; display: block; }
form ul { list-style: none; margin-left: 0; }
fieldset label { display: block;}
fieldset .radios label { display: inline; }
p { margin-top: 5px; } /* padronizando tamanhos de cabecalho em todos os browsers */
h1 { font-size: 250%;}
h2 { font-size: 200%;}
h3 { font-size: 150%;}
h4 { font-size: 120%;} /* classes costumeiras */
.ak { text-decoration: underline; /* access keys */ }
.u { text-decoration: underline; /* textos underline */}
.secoes { display: none; /* exibe nomes das seções se o CSS estiver desativado */ }
.img-left { float: left; }
.img-right { float: right;}
.erroinfo { background: #FFCCCC;}
.erro { background: #FF0000;}
Guia de CSS - Joomla
Esse é um site que contém várias referências para os CSS utilizados no core do Joomla.
Paginação do Joomla
Você já reparou que a paginação do Joomla é meio feia?? Pois é pensando nisso, fiz uma que passarei a usar como padrão nos sites que vou desenvolver, isso não singifica que será aplicados em todos mas pelo menos serve de base.
Básicamente o que você precisa fazer é baixar este arquivo (paginacao.zip), dentro do zip existem dois arquivos, um é o código php esse você deve colocar dentro da pasta html do seu template (/templates/seutemplate/html/pagination.php), e o outro arquivo é o CSS da nossa paginação, esse você deve pegar o código lá e colocar dentro do CSS do seu template ou apenas indicar no seu template mais um arquivo de CSS.
Além de modificarmos para um modo mais bonito, também deixamos o mesmo muito mais semântico. Se quiser ver a prévia do resultado basta olhar a paginação aqui do blog.
Adoraria ver variações desse trabalho, quem fizer alguma coisa relacionada e com isso e quiser postar nos comentários, ficarei grato.
Fonte : Ronildo Costa : http://www.ronildo.com.br/blog/index.php?start=80
Básicamente o que você precisa fazer é baixar este arquivo (paginacao.zip), dentro do zip existem dois arquivos, um é o código php esse você deve colocar dentro da pasta html do seu template (/templates/seutemplate/html/pagination.php), e o outro arquivo é o CSS da nossa paginação, esse você deve pegar o código lá e colocar dentro do CSS do seu template ou apenas indicar no seu template mais um arquivo de CSS.
Além de modificarmos para um modo mais bonito, também deixamos o mesmo muito mais semântico. Se quiser ver a prévia do resultado basta olhar a paginação aqui do blog.
Adoraria ver variações desse trabalho, quem fizer alguma coisa relacionada e com isso e quiser postar nos comentários, ficarei grato.
Fonte : Ronildo Costa : http://www.ronildo.com.br/blog/index.php?start=80
Templates de CSS
Se você também tem os hábitos de começar os projetos do zero (não totalmente do zero ), essa dica é bem legal.
Encontrei esse site que disponibiliza alguns grids de CSS para ajudar no desenvolvimento. Ele não faz muita coisa, mas o que faz ajuda muito.
Para utilizar só entrar no template que quiser e exibir o código fonte e copiar tudo ou salvar página.
Smooth Scroll Joomla
Aqui vai mais uma dica pra Joomla, é uma dica bem simples porém dá uma enfeitada no site. Esse efeito chama-se Smooth Scroll, ele suaviza um scroll para não dar um salta e sim deslizar na página.
Recentemente eu implementei isso aqui no blog, se você quiser colocar isso nas suas páginas siga as instruções.
Se quiserem ver um exemplo na prática esse link pode ajudar.
Recentemente eu implementei isso aqui no blog, se você quiser colocar isso nas suas páginas siga as instruções.
- Tenha certeza que seu Joomla está carregando o javascript do Mootools.
Como você sabe? olhe o código fonte do seu site e veja se tem a chamada para o arquivo:<script type="text/javascript" src="/media/system/js/mootools.js"></script> - Coloque este código no index.php do seu template entre as tags <head>:
<script type="text/javascript">
window.addEvent('domready',function(){ new SmoothScroll({ duration:1700 }, window); });
</script> - Agora quando você criar âncoras no seu site ele vai suavizar automáticamente.
- Não esqueça de criar suas âncoras desse tipo: <a name="topo" id="topo"></a>
<a href="#topo" class="anchor">Algum texto</a>
Se quiserem ver um exemplo na prática esse link pode ajudar.
PNG Fix para IE 6
<!--[if IE 6]>
<script src="/blog/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/javascript
/DD_belatedPNG.js" type="text/javascript"></script>
<script>
/* Exemplo de utilizacao */
DD_belatedPNG.fix('.png_bg');
</script>
<![endif]-->
Basicamente esse é o código que você vai precisar colocar no seu template entre as tags head.
Nesta linha (DD_belatedPNG.fix('.png_bg');), você coloca todos os elementos do HTML que você quer que seja afetado. Por exemplo onde tá .png_bg, você pode colocar div ou p, então tudo que for div ou paragráfo, o script vai interferir nas imagens para funcionar o truque.
Nesta linha que vou colocar o código abaixo é o caminho para onde arquivo está, no caso eu coloquei o arquivo dentro de uma pasta chamada "javascript" dentro da pasta do meu template.
<script src="/blog/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/javascript /DD_belatedPNG.js" type="text/javascript"></script>
O site do desenvolvedor e onde você pode fazer o download do arquivo é este aqui: http://www.dillerdesign.com/experiment/DD_belatedPNG/
Bloquear instalação de componentes
Crie um arquivo .htaccess e coloque dentro da pasta administrator do Joomla.
Adicione o seguinte código no arquivo:
Adicione o seguinte código no arquivo:
Options +FollowSymlinks RewriteEngine On RewriteCond %{QUERY_STRING} com_installer RewriteCond %{REMOTE_ADDR} !^10\.153\.11\.11 RewriteRule ^(.*)$ index.php [F,L]
Esse código acima diz, a URL que contenha a string "com_installer" e todos os IP's diferente do IP declarado, redirecione o usuário para index.php com erro de forbidden.
Abrir uma Window Modal quando abrir o site
<?php $js = 'window.addEvent(\'domready\', function(){SqueezeBox.setContent(\'iframe\',\'http://www.eniomarcelo.com.br/\')});'; JHTML::_('behavior.mootools'); JHTML::_('behavior.modal'); $doc =& JFactory::getDocument(); $doc->addScriptDeclaration($js); ?>
Rodapé sempre embaixo
O código HTML
<div class="tudo">
<div class="topo"></div>
<div class="conteudo"></div>
<div class="rodape"></div>
</div>
O código CSS
html,
body {
margin:0;
padding:0;
height:100%;
}
.tudo {
min-height:100%;
position:relative;
}
.topo {
background:#ff0;
padding:10px;
}
.conteudo {
padding:10px;
padding-bottom:60px; /* Mesma Altura do Rodapé */
}
.rodape {
position:absolute;
bottom:0;
width:100%;
height:60px; /* Mesma Altura do Rodapé */
background:#6cf;
}
Usando um servidor NFS como meio de armazenamento para o VMware
É possível utilizar no VMware um servidor NFS como datastore, que é o espaço necessário para armazenar para suas máquinas virtuais. Assim os “sem-storage” podem utilizar um método barato para deixar as máquinas virtuais em um local centralizado.
Como instalar o VMware ESXi 5.0
O VMware 5.0 foi lançado poucas semanas atrás e trouxe muitas novidades para a virtualização de servidores.
Instalação da versão 3.5 do VMware ESXi
Baixe o software e registre-se no site da VMware.
Queime a imagem em um CD, coloque do drive e reinicie o servidor.
Quando a tela abaixo aparecer tecle Enter para instalar:
Queime a imagem em um CD, coloque do drive e reinicie o servidor.
Quando a tela abaixo aparecer tecle Enter para instalar:
VMware lança versão ESXi grátis: Seu datacenter nunca mais será o mesmo
Para saber a importância deste fato, analise os produtos de virtualização gratuitos da VMware:
VMware Player: Para usuários que querem testar appliances prontos como distribuições Linux. Não possui o recurso de criar máquinas virtuais. Roda em cima de Windows e Linux como aplicação.
VMware Server: Tem por objetivo rodar servidores de teste, não recomendado para servidores de produção com grande carga de IO. Roda em cima de Windows e Linux com serviço.
Abaixo diagrama das “camadas” do hardware físico até a máquina virtual no VMware Player e VMware Server:
quinta-feira, 15 de setembro de 2011
Cerca de 25% de todos os PCs do mundo já estão rodando o Windows 7
Não há dúvidas de que, pouco mais de um ano após seu lançamento, o Windows 7 tem sido um grande sucesso no mercado, tanto para consumidores finais ou para empresas. Com apenas três meses após seu lançamento, o Windows 7 havia alcançado 10% de market share.
Agora, segundo dados recentes da Statcounter, o sistema já é responsável por 25% do uso no mundo todo.
quarta-feira, 14 de setembro de 2011
Versão do Windows 7 que permite que os clientes possam reutilizar antigos PCs
Pessoal,
Para quem quizer testar o Windows Thin PC entre no Connect http://connect.microsoft.com e faça o seu cadastro.
O Thin PC é uma versão do Windows 7 que permite que os clientes possam reutilizar antigos PCs sem que seja necessário uma licença VDA para acessar desktops VDI. O ThinPC substitui o WinFLP!
Estão disponiveis para TESTES e por favor deem o Feed back.
Novidades da versão RC:
- Rica experiencia VDI eatravés do suporte a RemoteFX.
- Maior segurança no end point negando algumas gravações de discos via filtros.
- Suporte a gestão corporativa através do System Center.
Grande Abraço!
quinta-feira, 8 de setembro de 2011
Adicionando imagem de fundo na visualização de pastas no Windows Explorer !!
Neste vídeo-tutorial, vamos conhecer o gratuito Windows 7 Folder Background Changer ( Download : http://www.thewindowsclub.com/windows-7-folder-background-changer-released ), que adiciona uma imagem de fundo na visualização de pastas no Windows Explorer.
Windows 7 - Instalação e upgrade
Conheça em detalhes o processo de instalação do Windows 7 , bem como seus requisitos de hardware, tipos de instalação , upgrade e migração de dados. Alem destas informações serão abordados as edições do Windows 7 (e suas diferenças) e atualizações do Windows XP para o Windows 7.
link da vídeo aula : http://technet.microsoft.com/pt-br/windows/ff728813.aspx
link da vídeo aula : http://technet.microsoft.com/pt-br/windows/ff728813.aspx
Como instalar o Windows 7 a partir de um pendrive
Será preciso ter um pen-drive com, no mínimo, 4 GB de espaço. Conecte o pen drive ao PC. No Windows 7, abra o Prompt de Comando ou a caixa Executar em modo Administrador e digite os comandos abaixo:
1. Preparando o Pen-Drive para receber o Windows 7 para instalação
a. Execute o CMD (Command Prompt) como Administrador
b. Digite os comando para preparar o USB, cuidado para não formatar o HD
i. Diskpart
ii. List Disk (Verifique o número do USB)
iii. Select Disk X
iv. Clean (CUIDADO NESTE COMANDO)
v. Create Partition Primary
vi. Format quick fs=fat32
vii. Active
viii. Exit
c. Copie o conteúdo do DVD para o Pen-Drive preparado com o comando: robocopy <unidade origem> <unidade destino do pendrive> /s. ex: robocopy e: f: /s
d. Altere o Boot da máquina na BIOS
e. Coloque o Pen-Drive na máquina e ligue
f. Pronto é só esperar o boot e seguir os passos do Windows 7 para instalação.
terça-feira, 6 de setembro de 2011
Marcar Provas da Microsoft no site da Prometric
Se você deseja marcar provas para exame de certificação da Microsoft, acesse este link http://www.register.prometric.com/ClientProgram.asp do site da Prometric e siga o passo-a-passo para marcar sua prova e boa sorte...
Proteção de dados e recuperação - Backup - Windows 7
Conheça neste vídeo como funciona o processo de backup, agendamento e recuperação do Windows 7. Você aprenderá a configurar o backup, ajustar opções de recuperação do sistema e de arquivos.
link : http://technet.microsoft.com/pt-br/windows/ff729408.aspx
link : http://technet.microsoft.com/pt-br/windows/ff729408.aspx
segunda-feira, 5 de setembro de 2011
sexta-feira, 2 de setembro de 2011
Video Aula para auxiliar seus estudos para o exame 70-680 Windows 7.
Windows 7 - Technet
Windows 7 - Technet - Application Compatibility Toolkit - Parte 1
Windows 7 - Technet - AppLocker
Windows 7 - Technet - BitLocker e BitLocker To Go
Windows 7 - Technet - BranchCache
Windows 7 - Technet - DirectAccess
Windows 7 - Technet - Gerenciamento e Manutençao de Imagens
Windows 7 - Technet - PowerShell 2.0
Windows 7 - Technet - Gravador de Passos para Reprodução de Problemas
Windows 7 - Technet - Controle de Conta de Usuários
Windows 7 - Technet - User State Migration Tool
Windows 7 - Technet - Plataforma de Solução de Problemas
Windows 7 - Technet - Gerenciamento do Windows 7
Windows 7 - Technet - Produtividade em Qualquer Lugar
Windows 7 - Technet - Segurança e Controle
Windows 7 - Technet - O novo Virtual PC e o XP Mode
Windows 7 - Technet - Atualização do Windows Vista para Windows 7
Windows 7 - Technet - Atualização do Windows XP para Windows 7
Windows 7 - Technet - Application Compatibility Toolkit - Parte 1
Windows 7 - Technet - AppLocker
Windows 7 - Technet - BitLocker e BitLocker To Go
Windows 7 - Technet - BranchCache
Windows 7 - Technet - DirectAccess
Windows 7 - Technet - Gerenciamento e Manutençao de Imagens
Windows 7 - Technet - PowerShell 2.0
Windows 7 - Technet - Gravador de Passos para Reprodução de Problemas
Windows 7 - Technet - Controle de Conta de Usuários
Windows 7 - Technet - User State Migration Tool
Windows 7 - Technet - Plataforma de Solução de Problemas
Windows 7 - Technet - Gerenciamento do Windows 7
Windows 7 - Technet - Produtividade em Qualquer Lugar
Windows 7 - Technet - Segurança e Controle
Windows 7 - Technet - O novo Virtual PC e o XP Mode
Windows 7 - Technet - Atualização do Windows Vista para Windows 7
Windows 7 - Technet - Atualização do Windows XP para Windows 7
Assinar:
Postagens (Atom)