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
leia mais

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 mais

Snippets: 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 mais

Mó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)

fontes:
http://www.joomlahackers.net/index.php?option=com_phocadownload&view=category&id=5&Itemid=86
http://www.ouest-online.com/blog/realisations/virtuemart-recently-viewed-products.html
http://www.anzproducts.com/home/
http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/7889/visit
leia mais

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
Page 1 of 512345