HTMLy CMS em Língua Portuguesa | Temas
Diversas informações acerca dos temas
Disponibilidade de temas
O HTMLy CMS foi concebido com foco em blog, contudo você pode adaptar seu tema para que fique igual a um site pessoal ou empresarial.
Por padrão o pacote de instalação contém os seguintes temas: blog, clean, logs, readable, twentyfifteen e twentysixteen.
Os temas que você pode baixar no site oficial são (do mais recente pro mais antigo): Gridzone, Occasio, Fairy, Moth, Independent Publisher, Casper, Clean Blog, Ignite e Vapor.
Alguns criados por outras pessoas são o BrightSmart-BT3 e o bootstrap-blog.
Você pode baixar os temas que fiz no site fs projetos e ideias.
Alterando um tema
A partir da versão 2.7.7, o tema pode ser alterado na área de administração na barra lateral Configurações -> Configurar -> Geral -> Tema.
Você também pode alterar manualmente no arquivo config/config.ini
na linha views.root = "themes/NomePastaTema"
.
Estrutura padrão do tema
HTMLy usa o mecanismo de template tradicional: tags HTML misturadas com PHP.
Para entender melhor o funcionamento, abra os arquivos dos temas que vem com a instalação do HTMLy e contribua com seu desenvolvimento.
O CMS implementa um modelo de páginas conforme informação abaixo.
themes/nomeDoTema/
/css <- Pasta para colocar os arquivos de estilo
/img <- Pasta para as imagens
/js <- Pasta para os JavaScripts
404.html.php <- Base para páginas não encontradas
404-search.html.php <- Padrão quando não há nenhum resultado
layout.html.php <- Página base para seu tema
main.html.php <- Página inicial
no-posts.html.php <- Determina o padrão para páginas sem postagens
post.html.php <- Apresentação de uma postagem individual
profile.html.php <- Página padrão do perfil do autor
static.html.php <- Padrão para páginas e sub-páginas estáticas
Quando há necessidade de customizar o tema há outros tipos de modelo como a seguir.
Frente - Somente para a página inicial layout--front.html.php <- somente layout para primeira página
static--front.html.php <- conteúdo principal se usarmos a página inicial estática
main--front.html.php <- conteúdo principal se usarmos a página inicial dinâmica
Blog - para a URL '/blog' layout--blog.html.php <- layout da página blog
main--blog.html.php <- conteúdo principal da página blog
Página estática - exemplo de uma página '/sobre' layout--static.html.php <- modelo para todas páginas estáticas
layout--static--sobre.html.php <- modelo somente para a página sobre
static--sobre.html.php <- modelo para o conteudo principal da página 'sobre'
Sub Página estática - exemplo de uma página '/sobre/empresa' layout--static--sobre.html.php <- página pai
static--sobre.html.php <- conteúdo principal da página pai
layout--static--sobre--empresa.html.php <- modelo somente para a página '/sobre/empresa'
static--sobre--empresa.html.php <- conteúdo principal da página filha
Postagem de blog - disponível apenas com estilo baseado na categoria layout--post--uncategorized.html.php <- layout para postagens com categoria não categorizada
layout--post.html.php <- layout para todas as postagens do blog
post--uncategorized.html.php <- conteúdo principal para postagem individual com categoria não categorizada
Categoria - Exemplo de uma categoria não categorizada layout--category.html.php
main--category.html.php
layout--category--uncategorized.html.php
main--category--uncategorized.html.php
Tags - Exemplo de post com a tag github layout--tag.html.php
main--tag.html.php
layout--tag--github.html.php
main--tag--github.html.php
Arquivados layout--archive.html.php
main--archive.html.php
Busca layout--search.html.php
main--search.html.php
Tipo - Exemplo com o tipo imagem layout--type.html.php
main--type.html.php
layout--type--image.html.php
main--type--image.html.php
Variáveis & Funções de Tema
layout.html.php
Contém a estrutura base do HTML.
echo head_contents();
- imprime as tags e metatags de cabeçalho como RSS, charset, viewport dentre outros;echo $title . ' ' . $description .' ' . $canonical;
- imprime o título, a descrição e o meta canônico da página;site_url()
- informa a URL do site;facebook()
- imprime o script do Facebook, se utilizarmos seu comentário
Necessário habilitar no Painel de Controle em Configurações->Configurar->Widget->Comentários e selecionarmos Facebook, e inserir o Facebook App Idlogin()
- utilizado para verificação se está logado;toolbar()
- mostra a barra de ferramentas no topo;is_index()
- checa se a página atual é a inicial;blog_title() / blog_tagline() / blog_description()
- na sequencia informa imprime o título, o slogan e a descrição do blog;content()
- imprime o conteúdo principal de outro arquivo modelo como main.html.php ou post.html.php;copyright()
- informa um aviso de direitos autorais e link de crédito;analytics()
- imprime o Google Analytics.
Configure no site do Google e depois vá no Painel de Controle em Configurações->Configurar->Widget->Google Analytics e preencha os campos.
main.html.php
Este arquivo de modelo lida com índice de postagens como na página inicial dinâmica, tags, categorias, arquivo e resultado de pesquisa.
$posts
- contém a coleção de resultados das páginas; utilizeforeach($posts as $p){...}
e retorne as variáveis
* na versão 2.8 -$p->url $p->title $p->date $p->body $p->description $p->tag $p->category $p->author $p->authorUrl $p->related $p->views $p->type $p->file $p->image $p->video $p->audio $p->quote $p->link
$p->video
agora retorna apenas o link do vídeo, para obter o ID do vídeo, utilizeget_video_id($p->video)
.
* na versão 2.8.1 foi introduzido as variáveis:$p->readTime, $p->authorName, $p->authorAbout
para o tema.
get_teaser($p->body, $p->url)
- imprime o resumo, se estiver setado nas configurações o teaser.type como 'trimmed', caso contrário imprime todo o artigo;$category->title / $category->body
- título e conteúdo da categoria;$tag->title / $archive->title / $search->title
- título da tag, título dos arquivados e da busca;$pagination['prev'] / $pagination['next'] / $page / $pagination['pagenum']
- variáveis de paginação;$pagination['html']
- renderiza a paginação completa;$breadcrumb
- imprime o breadcrumb;disqus_count()
- mostra a numeração de comentários do Disqus.
post.html.php
Na página de postagem única as variáveis disponíveis são as mencionadas abaixo.
- Por exemplo:
foreach($posts as $p){...}
* na versão 2.8 -$p->url $p->title $p->date $p->body $p->description $p->tag $p->category $p->author $p->authorUrl $p->related $p->views $p->type $p->file $p->image $p->video $p->audio $p->quote $p->link
$p->video
agora retorna apenas o link do vídeo, para obter o ID do vídeo, utilizeget_video_id ($p->video)
.
$prev / $next
- para navegação na postagem;$post / $next
- as duas coleções contém todas as variável como em $p descrita acima, exemplo:$prev['url'] / $prev['image']
;$breadcrumb / disqus($p->title, $p->url) / disqus_count()
- para navegação, o comentário disqus e sua contagem;get_related($p->related)
- referente aos posts relacionados;
static.html.php
Para páginas estáticas as variáveis mais comuns são: $p->title / $p->url / $p->body
profile.html.php
Para a página de perfil temos: $name / $about / $posts
. A variável $posts
funciona como em main.html.php.
Outros arquivos modelos
Geralmente contém apenas tags HTML, ou por exemplo um widget de pesquisa: search()
Recursos de tema avançado
HTMLy pode listar quase qualquer postagem com base em tag, categoria, autor ou tipo. Você só precisa ler o /system/includes/functions.php
para saber a função correta para customizar seu próprio widget.