Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v1.x.
Por marciomoura
#26533
hmm é possivel que seja o cache nem tinha me ligado, sim desenvolvi ele com o SCRIPTCASE conhece???

estou fazendo um script php para fazer a integração, o meu banco é em POSTGRES, dai estou desenvolvendo um conector para fazer o trabalho....
Avatar do usuário
Por edgabaldi
#26535
Entendi.

Você pode Fazer uma classe no próprio Opencart, para receber requisições em ajax para limpar o cache após você salvar os dados. Não sei se é a melhor solução, mas como se trata de uma integração com outro sistema e o cache é do opencart, você vai ter que tratar o cache no opencart. Pelo menos, até onde eu posso imaginar :-)
Por marciomoura
#26537
pois é, estou tentando entender, como ele faz para limpar o cache, mas é dureza entender, ehehehehe

vou continuar quebrando a cabeça, valeu fera pela ajuda!!!
Por marciomoura
#26540
rapaz, descobri o problema foi mais facil que eu pensava....

cada vez que voce lista os departamentos ou qualquer coisa no painel o opencart cria no seguinte diretorio 'ocart\system\cache' alguns arquivos com os registros da tabela, acredito que seja para agilizar a pesquisa dos registros, sem precisar ficar indo toda hora no banco, basta voce eliminar estes arquivos, que ele trata de carregar os registros novamente.....

criei uma função que lista este diretorio, e de acordo com o que eu estou fazendo mando eliminar estes arquivos, por exemplo para o departamentos ele cria um arquivo com o seguinte nome cache.category.2.0.1345676659, ele cria a quantidade de registros que tem no banco, basta eliminar estes arquivo e pronto....
aqui pra mim resolveu 100%....

função do proprio opencart que faz isso:
Código: Selecionar todos
public function delete($key) {
		$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');
		
		if ($files) {
    		foreach ($files as $file) {
      			if (file_exists($file)) {
					unlink($file);
				}
    		}
		}
  	}