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`;");
	}
}
reds gostou disso
#86324
Obrigado @veteranodf
Show dbola,
vou voltar a mexer em breve no xml que estou trabalhando e ai retorno com um feedback, sua ajuda foi grande!
:D

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