Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Avatar do usuário
Por thnardi
#64643
Hoje no opencart o frete grátis ou frete fixo pode ser definido por região geográfica, que é o mesmo que Estados (pelomenos no caso do brasil).

Como fazer uma forma para definir pelomenos uma cidade, a cidade sede da loja? No meu caso estou desenvolvendo uma loja para uma empresa de Toledo - Paraná. Pensei no seguinte:

1) criar uma tabela oc_city no banco. com basicamente ID e nome, pode até ter um campo para associar ela com um estado, mas não achei necessidade para isto ainda.

2) criar um campo na tabela address city_id, para associar..

3) fazer um comparativo na hora de add no banco ( no arquivo do model do address mesmo), que compara, usando case insensitive a city digitada no cadastro com a cidade que eu quero dar frete grátis (por enquanto hardcode), depois dá para pensar um form no admin para cadastrar cities e fazer o comparativo com as cities cadastradas.

No meu caso como eu so tenho uma citie a id dela é 1. então se o comparativo for true vai jogar 1, se for false vai jogar zero..

4) No modulo do frete grátis, ná pagina admin, criar um campo entry_city e carregar as cities da tabela city.

5) add código para fazer a verificação além das regiões geográficas, a city, para liberar o frete grátis..


Bolei esta lista, mas devido minha falta de experiência estou tendo bastante dificuldade.. Estou parado no item 3. sempre joga zero no banco..

alguém quer me ajudar? tem alguma sugestão?

obrigado!
Avatar do usuário
Por valdeir2000
Mensagens Especiais
#64715
thnardi escreveu:Sempre fico com receio de comprar um módulo pq nunca sei se ele vai funcionar no meu template de layout
Caso você não queira comprar por algum receio e tenha algum conhecimento em PHP (básico), dá para você criar algo baseado em algum desses módulos (Faixa de CEP). Ex:

algoritmo FaixaCep

Inicio
....Leia (cep_destino);
....
....Inteiro cep_inicio = 01001000, cep_fim = 23078001;
....
....Se cep_destino > cep_inicio e cep_destino < cep_fim entao
........Imprima ("O valor do frete é de R$20,00");
....Fim Se....
fim
Avatar do usuário
Por Carleta
#68173
valdeir2000 escreveu:
thnardi escreveu:Sempre fico com receio de comprar um módulo pq nunca sei se ele vai funcionar no meu template de layout
Caso você não queira comprar por algum receio e tenha algum conhecimento em PHP (básico), dá para você criar algo baseado em algum desses módulos (Faixa de CEP). Ex:

algoritmo FaixaCep

Inicio
....Leia (cep_destino);
....
....Inteiro cep_inicio = 01001000, cep_fim = 23078001;
....
....Se cep_destino > cep_inicio e cep_destino < cep_fim entao
........Imprima ("O valor do frete é de R$20,00");
....Fim Se....
fim

não entendi essa parte do codigo??
Avatar do usuário
Por valdeir2000
Mensagens Especiais
#68174
@Carleta , esse código é apenas para fins didáticos. Utilizei eles apenas para exemplificar a lógica de programação utilizada em módulos para essa finalidade.

Ele é muito utilizado para quem está aprendendo lógica de programação.
https://sourceforge.net/projects/visualg30/
https://pt.wikipedia.org/wiki/Visualg

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]