Fórum OpenCart Brasil

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

#86237
Boa tarde pessoal,

Uma luz ai para eu terminar um plugin,
Gostaria que o XMl atualize a tabela de cadastro do produto,

NO caso como a versão Brasil atualizou com os campos eu tenho um cliente no qual eu não poderia atualizar a loja devido a muitas outras questões, mas apenas incluir os campos ai via XML,
A exemplo, eu já criei um XMl para rodar os campos no cadastro do produto e na listagem, mas não sei executar o comando sql via instalador pelo XML.
Não consegui colar a instrução aqui, o cloudflare bloqueou.

Qualquer dica seria ótima, além de tudo é um aprendizado.
:D
#86243
@reds Por motivo de segurança e para se adequa a função de marketplace direto na loja não é mais permitido executar query's sql via instalador de extensões no opencart 3.x, essa função era efetuada pelo arquivo "install.php" nas versões 2.x do opencart;

Para executar essa função na versão 3x, é possível pelo método abaixo, veja se auxilia; O método que criei utilizei em uma loja onde eu precisava criar duas colunas na tabela produto, são elas "price_custo e price_margem_lucro", pode usar como exemplo;

Arquivo admin/controller/catalog/product.php

Localizar
Código: Selecionar todos
	protected function getList() {

Substituir por:
Código: Selecionar todos
	protected function getList() {

	//Verifica se coluna existe, caso não cria;
	$this->model_catalog_product->checarExistenciaColunasBD();

No arquivo admin/model/catalog/product.php"> crie o método abaixo
Código: Selecionar todos
public function checarExistenciaColunasBD() {
	$check_query = $this->db->query("describe " . DB_PREFIX . "product");
	$exist = false;
	foreach($check_query->rows as $row) {
		if($row['Field']=='price_custo' or $row['Field']=='price_margem_lucro') {
			$exist = true;
		}
	}
	if(!$exist) {
		$this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD `price_custo` DECIMAL(15,2) NOT NULL DEFAULT '0.00' AFTER `shipping`, ADD `price_margem_lucro` DECIMAL(15,2) NOT NULL DEFAULT '0.00' AFTER `price_custo`;");
	}
}

pessoal, eu tenho backup da loja, aí eu fiz[…]

Histórico de usuários na loja

Bom dia :D Gostaria de saber se quando crio v&[…]

Olá, Voltei só para dar um feedback[…]

Olá, pessoal, tudo bem? No caso prov&aacut[…]