Virtuemart 2: Dicas de customização de templates
Algumas dicas para customizar seu template em Joomla 2.5 ou Joomla 1.5, Joomla 1.6 até em Joomla 1.7, mas realmente usando a versão do Virtuemart 2.0.
Customizando templates no Virtuemart 2.0
Estes códigos php tem que ser inseridos na index.php do seu template Joomla para que funcionem.
São usados para exibir módulos de forma personalizada, de modo que cada categoria ou produto tenha um banner ou qualquer outro módulo específico, para personalizar ao máximo a loja em Virtuemart 2.0.
Estas alterações são independentes de versão (2.02, 2.04, 2.06, etc ).
Criar uma posição de módulo para aparecer sempre em qualquer flypage ( página de detalhes do produto )
<?php if (JRequest::getVar('view')=='productdetails') { ?>
<div id="moduloflypage"><jdoc:include type="modules" name="detalhes_produto" /></div>
<?php } ?>
Criar uma posição de módulo para cada flypage. Cria uma posição de módulo chamada detalhes_produto# aonde o # é o código do produto ( product_id )
<?php if (JRequest::getVar('view')=='productdetails') { ?>
<div id="moduloflypage"><jdoc:include type="modules" name="detalhes_produto<?php echo JRequest::getInt('virtuemart_product_id',0); ?>" /></div>
<?php } ?>
Módulos na página de categorias de produtos, para todas as categorias
<?php if (JRequest::getVar('view')=='category') { ?>
<div id="modulocategoria"><jdoc:include type="modules" name="categoria_produto" /></div>
<?php } ?>
Criar uma posição de módulo para cada categoria. Cria uma posição de módulo chamada categoria_produto# aonde o # é o código da categoria
<?php if (JRequest::getVar('view')=='category') { ?>
<div id="modulocategoria"><jdoc:include type="modules" name="categoria_produto<?php echo JRequest::getInt('virtuemart_category_id',0); ?>" /></div>
<?php } ?>
Cria uma posição de módulo na página do produto que irá aparecer se determinada categoria # for ligada ao produto.
<?php if (JRequest::getVar('view')=='productdetails') { ?>
<div id="produto_pela_categoria"><jdoc:include type="modules" name="produto_pela_categoria<?php echo JRequest::getInt('virtuemart_category_id',0); ?>" /></div>
<?php } ?>
Muitas outras visões no componente Virtuemart. Você pode fazer o mesmo com qualquer Visão do Virtuemart: cart (carrinho), manutenção da conta (account), etc.
<?php if (JRequest::getVar('view')=='NOME-DA-VISÃO') { ?>
<div id="divid"><jdoc:include type="modules" name="Nome-da-posição" /></div>
<?php } ?>
Artigo traduzido daqui: http://www.kaizenmediaworks.com/virtuemart-template-and-module-control
Utilidade: Faixas de cep por estado
Um post bem rápido, mas bem útil. Consegui uma lista com as faixas de cep separadas por estado do Brasil:
| acre | 69900-050 | 69918-430 |
| alagoas | 57010-000 | 57608-550 |
| amazonas | 69005-000 | 69153-490 |
| amapa | 68900-001 | 68909-895 |
| bahia | 40010-000 | 48909-810 |
| ceara | 60010-000 | 63133-150 |
| distrito federal | 70040-000 | 73380-600 |
| espirito santo | 29010-001 | 29910-260 |
| goias | 72800-010 | 75909-390 |
| maranhao | 65005-402 | 65919-360 |
| minas gerais | 30110-000 | 39804-711 |
| mato grosso do sul | 79002-000 | 79843-300 |
| mato grosso | 78005-000 | 78750-786 |
| para | 66010-000 | 68746-732 |
| paraiba | 58010-000 | 58808-500 |
| pernambuco | 50010-000 | 56915-130 |
| piaui | 64000-010 | 64218-860 |
| parana | 80010-000 | 87711-570 |
| rio de janeiro | 20010-000 | 28924-210 |
| rio grande do norte | 59010-000 | 59635-120 |
| rondonia | 78900-005 | 78977-335 |
| roraima | 69301-000 | 69317-434 |
| rio grande do sul | 90010-000 | 99074-570 |
| santa catarina | 88010-000 | 89815-655 |
| sergipe | 49010-000 | 49097-700 |
| sao paulo | 01001-000 | 19915-697 |
| tocantins | 77001-002 | 77828-400 |
Fonte: Correios
leia maisSnippets: Mini-dicas de Joomla
Faz tempo que não postava algum código PHP aqui no blog. Portanto separei alguns códigos bacanas bem rapidos e que ajudam bastante na hora de desenvolver plugins e componentes pra Joomla e com frequência.
Verificar se o site está usando https ou não
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) {
$site_seguro = true;}
Fazer uma consulta no Joomla ( em qualquer tabela )
$db = JFactory::getDBO(); $query = "SELECT * FROM #__tabela WHERE x =1"; $db->setQuery($query); $consulta = $db->loadObjectList();
Adicionar algum conteúdo no cabeçalho da página ( no head )
$doc =& JFactory::getDocument(); $doc->addCustomTag( '<script></script>' );
Capturar o título da página
global $mainframe; $titulo = $mainframe->getPageTitle(); // $titulo = "SITE DO CHAMPS"
Capturar a url completa do site
$u = JFactory::getURI(); $url = $u->toString(); // $url = "http://www.site.com.br/"
Verificar se está dentro da área Administrativa do Joomla ou não
global $mainframe;
if(!$mainframe->isAdmin()) {
// fora da area admin
}
Algumas constantes do Joomla
Mostra o caminho a nivel de servidor ( /home/xxx/public_html ) e não url.
| JPATH_ADMINISTRATOR | Caminho para a pasta administrator do Joomla. |
| JPATH_BASE | Caminho aonde o Joomla está instalado. |
| JPATH_CACHE | Caminho para a pasta cache. |
| JPATH_COMPONENT | Caminho para o componente atual que está sendo executado. |
| JPATH_COMPONENT_ADMINISTRATOR | Caminho para o componente na área administrativa que está sendo executado. |
| JPATH_COMPONENT_SITE | Caminho para a pasta anterior ao componente que está sendo executado. |
| JPATH_CONFIGURATION | Caminho para o arquivo configuration.php. |
| JPATH_INSTALLATION | Caminho para a pasta installation ( instalação ) do Joomla. |
| JPATH_LIBRARIES | Caminho para a pasta libraries ( bibliotecas ) do Joomla. |
| JPATH_PLUGINS | Caminho para a pasta plugins. |
| JPATH_ROOT | Semelhante ao JPATH_BASE. |
| JPATH_SITE | Semelhante ao JPATH_BASE. |
| JPATH_THEMES | Caminho para a pasta /templates do site. |
| JPATH_XMLRPC | Caminho para a pasta xmlrpc |
leia mais
Tutorial: Pacote com 20 Scripts Web Selecionados
Enriqueça sua aplicação web ou sistema php com estes 20 scripts web selecionados. Este pacote contém animações jQuery, captura de dados com PHP, autocompletar, menus em cascata, exclua dados usando Ajax, altere a tela de login de seu sistema, enfim, faça uma Revolução 3.0!!
Faça o download destes tutoriais.
jQuery Drag & Drop
Usando jQuery, PHP e MySQL, um script drag-and-drop (arrastar-e-soltar) que atualiza um banco de dados. Veja o demo
jQuery Delete
Exclua itens usando PHP, jQuery e AJAX. Veja o demo
PHP jQuery e MySQL Autocomplete
Um poderoso script de auto-completar que busca numa base Mysql e retorna o resultado. Veja o demo
jQuery & PHP username checker
Checa o banco de dados para verificar se um usuário existe ou não e retorna verdadeiro ou falso. Veja o demo
CSS3 Buttons
Botões estilosos feitos usando Css3. Veja o demo
Feedburner Stats
Usando PHP e CURL para recuperar o número de inscritos de sua conta no feedburner. Veja o demo
jQuery image Zoom
Crie uma galeria de imagens simples usando o efeito de passar o mouse sobre o item (hover). Veja o demo
jQuery PHP & MySQL inline editing
Edite qualquer conteúdo de uma página html diretamente aonde está localizado usando requisições Ajax jQuery. Veja o demo
jQuery Gallery
Galeria de imagens animada com título e descrição. Veja o demo
Highlighting form inputs
Coloque um css de destaque em campos input usando Javascript quando o campo estiver sendo utilizado. Veja o demo
jQuery JSON & PHP
Crie uma simples galeria de produtos usando JSONP PHP e MySQL. Veja o demo
jQuery Tabs
Simples abas (tabs) renderizadas usando jQuery. Veja o demo
jQuery XML
Crie uma galeria de produtos usando como base um arquivo XML e jQuery. Veja o demo
jTruncate
Use o plugin jTruncate para resumir ou reduzir um texto criando um link ‘leia mais’. Veja o demo
PHP Page scrape
Obtenha conteúdos de determinadas através de chamadas usando PHP e CURL. Veja o demo
AJAX Check
Verifique se foi realizada um requisição GET ou POST ou se a requisição feita é por AJAX. Veja o demo
PHP Pagination
Script de paginação muito que pode ser adaptado à qualquer sistema PHP orientado à objeto. Veja o demo
jQuery Sliding Menu
Menu em cascata deslizante usando jQuery, inspirado pelo site 9rules.com. Veja o demo
jQuery Tooltips
Um experimento usando jQuery tooltips com requisções Ajax, imagens, conteúdo dinâmico, etc. Veja o demo
Faça o download destes tutoriais.
fonte: http://papermashup.com/20-complete-scripts-to-download/ leia maisMódulos indispensáveis para Virtuemart Versão 2 – O confronto final
Perceberam que toda versão 2 de tradução de filme americano para o português brazuca tem um sufixo (confronto final, a vingança, a cartada final, ou em algum outro lugar esdrúxulo…).
Mas isso não vem ao caso.. A questão é que separei mais módulos realmente muito úteis para o Virtuemart, que farão de todos os utilizadores, os Rambos da programação.
Lista dos módulos v2:
-
Alphanumeric Product Search Module
Cria uma lista em alfabética dos produtos, classificados pela primeira letra do nome do produto.
Alphanumeric Product Search Module (1986)
-
Virtuemart Recently Viewed Products in Module Module
Módulo que permite que se veja os produtos recentemente visualizados dentro de um módulo. Por padrão aparece juntamente com o layout do Virtuemart.
Virtuemart Recently Viewed Products in Module Module (845)
-
Virtuemart Multiple Products Display with Tabs Module
Essa é evolução do módulo All-in-one do Virtuemart 1.0. Agora compatível com a nova versão do VM, tem as opções de mostrar numa mesma área, separada por abas, horizontalmente, verticalmente ou separada por linhas x colunas
Virtuemart Multiple Products Display with Tabs Module (660)
-
Virtuemart Recently Sold Module
Este módulo mostra os últimos produtos comprados no Virtuemart. Mostra uma lista com foto dos 6 últimos itens (pode ser alterado na configuração).
Virtuemart Recently Sold Module (471)
Função para retornar checkbox selecionados
Olá meu caro povo do site. =)
Fiz uma funçãozinha usando o Prototype JS para retornar os valores de todos os elementos checkbox de um determinado ID.
Bem simples, não tem nem 10 linhas.
/**
* Retorna os valores dos elementos checkbox que estão selecionados
*
* @param el elemento id que contém os inputs
*/
function pegar_valor_campos(el) {
var inpt = $(el).getElementsByTagName('input');
var valores = new Array();
for (var i in inputs ){
if (inpt[i].type == 'checkbox' && inpt[i].checked == 'checked'){
valores[] = inpt[i].value;
}
}
return valores;
}
Fui. =)
leia mais




















Últimos comentários