Fórum OpenCart Brasil

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

#78812
Ola pessoal,

Existe algum módulo, mesmo que seja pago, que eu consiga configurar a opção de frete de retirada em produto em X endereco?

Hoje o modulo atual, só me permite que eu defina RETIRAR EM LOJA, mesmo eu tendo 3 lojas fisicas. Queria que o cliente me disesse onde quer retirar, LOJA 1, Loja 2 ou LOJA 3.

Obrigado
#78817
Isso pode ser feito duplicando a mesma função(sendo uma para cada loja) ou adicionando um select no mesmo modulo, onde quando selecionado tal modalidade de frete ele seja obrigado a selecionar onde retirar e essa informação seria armazenada no campo comentário do pedido.

:ugeek:
#78846
Se estiver utilizando o módulo nativo "Retirar na loja" é só fazer a seguinte alteração no arquivo catalog/model/extension/shipping/pickup.php

Localizar:
Código: Selecionar todos
			$quote_data['pickup'] = array(
				'code'         => 'pickup.pickup',
				'title'        => $this->language->get('text_description'),
				'cost'         => 0.00,
				'tax_class_id' => 0,
				'text'         => $this->currency->format(0.00, $this->session->data['currency'])
			);

Substituir por:
Código: Selecionar todos
			$stores = array();

			$stores[] = array(
				'store_id' => 0,
				'name'     => $this->config->get('config_name')
			);

			$this->load->model('setting/store');

			$results = $this->model_setting_store->getStores();

			foreach ($results as $result) {
				$stores[] = array(
					'store_id' => $result['store_id'],
					'name'     => $result['name']
				);
			}
			
			foreach($stores as &$store) {
				$quote_data['pickup'.$store['store_id']] = array(
					'code'         => 'pickup.pickup'.$store['store_id'],
					'title'        => 'Retirar em ('.$store['name'].')',
					'cost'         => 0.00,
					'tax_class_id' => 0,
					'text'         => $this->currency->format(0.00, $this->session->data['currency'])
				);
			}
dariopencart gostou disso
#90558
Boa noite, estou com um problema similar,
Tenho a distribuição em Salvador e em Porto Alegre
Preciso que o cliente de São Paulo para baixo (Rio Grande do Sul) tenha o calculo feito pelo CEP da produção de lá de Porto alegre e os clientes do Norte, Nordeste, centro-oeste e parte do Sudeste o calculo seja feito pelo CEP de Salvador.
Alguém q possa ajudar indicando uma soluções?
Desde já agradeço.
#90851
Olá @veteranodf ,
Funciona perfeitamente da forma como fez a modificação, porem tenho apenas uma loja cadastrada e dois endereços para retirar. Os endereços cadastrei em Configurações->Dados auxiliares->Localizações.
Será que poderia alterar para buscar as informações nesse cadastro ao invés do cadastro de lojas?
Desde já muito obrigado!
#90854
@dariopencart para essa necessidade faça o proposto abaixo; Espero que seja o que necessita;

Localizar:
Código: Selecionar todos
			$quote_data['pickup'] = array(
				'code'         => 'pickup.pickup',
				'title'        => $this->language->get('text_description'),
				'cost'         => 0.00,
				'tax_class_id' => 0,
				'text'         => $this->currency->format(0.00, $this->session->data['currency'])
			);

Substituir por:
Código: Selecionar todos
            $query_location = $this->db->query("SELECT * FROM `" . DB_PREFIX . "location`");
            
            foreach($query_location->rows as &$location) {
                $quote_data['pickup'.$location['location_id']] = array(
                    'code'         => 'pickup.pickup'.$location['location_id'],
                    'title'        => 'Retirar em ('.$location['name'].')',
                    'cost'         => 0.00,
                    'tax_class_id' => 0,
                    'text'         => $this->currency->format(0.00, $this->session->data['currency'])
                );
            }
dariopencart gostou disso

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 […]