Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#82405
Boa tarde. Comecei a trabalhar com programação recentemente em cima de um marketplace opencart e gostaria de saber como posso enviar informações de addproduct.php (Controller) para addproduct.php (Model).

Poderia adicionar um "include '...\addproduct.php';" ou existe alguma outra forma específica?

Percebi alguns códigos como ''$this->load->view('account/customerpartner/addproduct');'' , existe algum para carregar a arquivo Controller em Model?

Obrigado desde já pela atenção!
#82406
Olá @João Vitor Dias.

O OpenCart foi desenvolvido em POO (Programação Orientada a Objetos) utilizando o modelo de camadas MVC (Model, View e Controller), que basicamente é um padrão de programação independente da linguagem PHP, pois ele aparece em várias outras linguagens de programação além do PHP como JAVA, Ruby, Node, etc, ou seja, para facilitar sua vida no desenvolvimento com OpenCart, o básico é conhecer os conceitos de POO e MVC, sendo que tem muitos cursos baratos na Udemy sobre o assunto, além de muitos vídeos gratuitos no Youtube. :D

Dito isto, no OpenCart você vai utilizar POO com MVC para enviar dados de um controller para um model da seguinte maneira:

- Primeiro você irá estanciar a classe que você deseja utilizar com um comando similar ao abaixo:
$this->load->model('setting/store');

Onde 'setting/store' é o nome da pasta / o nome do arquivo, ou seja, se você colocou o arquivo dentro da estrutura abaixo:
catalog/model/setting/store.php

Você vai estanciá-lo assim:
$this->load->model('setting/store');

- Uma vez estanciado, você pode invocar qualquer função e repassar parâmetros para ela, com um comando como o abaixo:
$this->model_setting_store->getStores($data);

Onde "model_setting_store" é equivalente a parte do caminho para o arquivo "catalog/model/setting/store.php", e "getStores($data)" é o nome da função que receberá um array, que em nosso exemplo foi definido como "$data".

Se a função "getStores" for retornar algum valor para o controller que você deseja utilizar, para receber o return da função, basta declarar uma variável para armazenar o resultado conforme abaixo:
$stores = $this->model_setting_store->getStores($data);

Em resumo, se você não entendeu a explicação, o ideal é dedicar alguns dias para aprender PHP com POO e MVC, depois de estudar e praticar esses conceitos, você pode voltar a analisar este exemplo que sem dúvidas as coisas ficarão mais compreensíveis. ;)

Espero ter ajudado e bons estudos. :D
João Vitor Dias gostou disso

HostDime/DimeNoc. Tenho uma revenda de hospedagem […]

Se a hospedagem for com a qualidade "hostinge[…]

Perfeito , resolvido! Sabe como muda o tamanho da[…]

Sim, quanto a isso tranquilo, já fiz divers[…]