- Fórum
- /
- Suporte Joomla
- /
- Componentes
- /
- Joomla 1.5
- /
- Novidade: Frete por tamanho FREE no Virtuemart 1.1.x
Novidade: Frete por tamanho FREE no Virtuemart 1.1.x
- Fabio Cardoso
-
Autor do Tópico
- Offline
- JCB! Hero
-
Menos
Mais
13 anos 8 meses atrás #64353
por Fabio Cardoso
"Vencer a si mesmo é a maior das vitórias."
[i:3c4s7sku]Platão[/i:3c4s7sku]
"Ensinar é mostrar que é possível. Aprender é tornar possível a si mesmo."
[i:3c4s7sku]Paulo Coelho[/i:3c4s7sku]
[b:3c4s7sku]Não respondo dúvidas sobre Joomla em MP. Use o fórum.[/b:3c4s7sku]
[color=#000080:3c4s7sku]
Criação e hospedagem de sites, e-commerce. Consultoria em Joomla.
<!--...
Fabio Cardoso created the topic: Novidade: Frete por tamanho FREE no Virtuemart 1.1.x
Prezados,
Faz tempo que venho procurando um esquema para driblar o limite de tamanho de frete dos Correios. Mas graças a Deus e ao digníssimo Luiz Felipe Weber, disponho o código que ele criou para mim num gesto extremamente bondoso e louvável, de forma gratuita. Foi uma demonstração de puro espírito open source.
Inserindo esse código, o Virtuemart não exibirá os módulos de Sedex e Pac como forma de transporte caso o produto adquirido tenha mais de 105cm de lado, que é o limite dos Correios.
Esse código deve ser inserido no arquivo standard_shipping.php (além dos arquivos de módulos de outros desenvolvedores, como o Fernando Soares, se for o caso), conforme segue:
Segue o código:
Ao companheiro Luiz Felipe Weber, meus agradecimentos pela disposição e boa vontade ao disponibilizar a funcionalidade.
Aos companheiros moderadores, meu perdão por porventura dispor essa funcionalidade em local inadequado no fórum.
um abraço,
Fabio.
Faz tempo que venho procurando um esquema para driblar o limite de tamanho de frete dos Correios. Mas graças a Deus e ao digníssimo Luiz Felipe Weber, disponho o código que ele criou para mim num gesto extremamente bondoso e louvável, de forma gratuita. Foi uma demonstração de puro espírito open source.
Inserindo esse código, o Virtuemart não exibirá os módulos de Sedex e Pac como forma de transporte caso o produto adquirido tenha mais de 105cm de lado, que é o limite dos Correios.
Esse código deve ser inserido no arquivo standard_shipping.php (além dos arquivos de módulos de outros desenvolvedores, como o Fernando Soares, se for o caso), conforme segue:
class standard_shipping {
/**
* returns a html list with selectable rates
* $d[]: Array with search criteria
* "country", "zip", "weight"
* @param array $d
* @return string
*/
function list_rates( &$d ) {
global $VM_LANG, $CURRENCY_DISPLAY, $vmLogger ;
/** inserir o código aqui */
Segue o código:
$lista_produtos = array();
$qtde_produtos = 0;
$qt_produtos = array();
// pega todos os produtos do carrinho da sessão
foreach($_SESSION['cart'] as $k=>$v) {
if (is_numeric($k)) {
$lista_produtos[] = $v['product_id'];
$qtde_produtos += $v['quantity'];
$qt_produtos[$v['product_id']] = $v['quantity'];
}
}
// captura os dados de todos os produtos
$q = "SELECT product_id, (product_height) as hp, (product_length) as lp, (product_width) as wp FROM #__{vm}_product
WHERE product_id in (".implode(',',$lista_produtos).")";
$dbpc = new ps_DB;
$dbpc->query($q);
while( $dbpc->next_record() ) {
for($i=0;$i<$qt_produtos[$dbpc->f('product_id')];$i++) {
$Order_Height += ($dbpc->f('hp') > 0)?$dbpc->f('hp'):''; // sempre aumenta a altura
$Order_Length = ($dbpc->f('lp') > 0 && $dbpc->f('lp') > $Order_Length )?$dbpc->f('lp'):$Order_Length; // se o comprimento do produto for maior, mantem o maior
$Order_Width = ($dbpc->f('wp') > 0 && $dbpc->f('wp') > $Order_Width)?$dbpc->f('wp'):$Order_Width; // se a largura do produto for maior, mantem sempre o maior
}
}
// não mostra o modulo se as medidas forem abaixo do permitido
if ($Order_Height < 105 and $Order_Length < 105 and $Order_Width < 105) {
// encerra o módulo e parte para a exibição de outro
return false;
}
Ao companheiro Luiz Felipe Weber, meus agradecimentos pela disposição e boa vontade ao disponibilizar a funcionalidade.
Aos companheiros moderadores, meu perdão por porventura dispor essa funcionalidade em local inadequado no fórum.
um abraço,
Fabio.
"Vencer a si mesmo é a maior das vitórias."
[i:3c4s7sku]Platão[/i:3c4s7sku]
"Ensinar é mostrar que é possível. Aprender é tornar possível a si mesmo."
[i:3c4s7sku]Paulo Coelho[/i:3c4s7sku]
[b:3c4s7sku]Não respondo dúvidas sobre Joomla em MP. Use o fórum.[/b:3c4s7sku]
[color=#000080:3c4s7sku]
Criação e hospedagem de sites, e-commerce. Consultoria em Joomla.
<!--...
Please Entrar ou Registrar to join the conversation.