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

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

Códigos: Classe para converter um vetor em xml

Olá pessoal.
Começo esta semana com uma classe bacana que usei para desenvolver uma alteração num módulo do componente Eventlist do Joomla.
Essa classe ( que não fui eu fiz, mas alterei ), serve para converter um vetor associativo em um arquivo xml de forma recursiva, ou seja, a classe chama o próprio método novamente de forma iterativa os níveis do vetor.

O interessante é que ela pode ser usada não somente no módulo que alterei, mas em qualquer sistema php.

leia mais

Criar Visão Mysql – Código explicado

Olá caros amigos.

Passo a vocês mais um código bacana, que é de como se criar uma visão no mysql.

Uma visão ou view é uma estrutura que não armazena dados, apenas contém uma consulta de uma ou mais tabelas do banco; essa consulta é otimizada e analisada a cada vez que é feita uma atualização em uma tabela ou uma das tabelas, ou seja, de forma automática.

Usa-se muito uma visão, quando se necessita ter dados, como contagem de muitos registros em uma coluna, ou algum tipo de cálculo que não seria possível utilizar sqls aninhadas ( que são consultas que selecionam outras consultas = aninhadas, de ninho mesmo.. heheh ).

leia mais

Update utilizando INNER JOIN

Olá pessoal,

Mais um post da série com INNER JOIN ( êta trenzinho bom esse tal de INNER JOIN.. Deve dá até pra comer com pão.. hehe ).

Desta vez eu precisava atualizar os dados de uma coluna de uma tabela pagamento, com base nos dados de uma outra coluna de uma tabela com os valores pagos no cartão,  a qual estava certíssima.

leia mais
Page 1 of 41234