O Open Cart é uma alternativa para pequenos e-commerce?

Recentemente comecei a estudar o Open Cart (OC) como plataforma para e-commerce no lugar do WooComerce, apesar de pretender levantar mais detalhadamente as vantagens de cada uma das plataformas, o Open Cart me chamou atenção por parecer uma escolha interessante para alguns modelos de negócios como: os que usam inscrições recorrentes (subscriptions/assinaturas) e sistemas de afiliados. Parece que o OC já tem boa parte dessas duas regras de negócio implementadas, mas em compensação a documentação, suporte e extensões da comunidade me parecem ser bem precárias em relação ao WooCommerce.

Nesse ponto ocorre o famoso trade-off entre os diferentes frameworks/ferramentas: vale a pena pegar algo mais desconhecido, que tem pouca documentação, menos mão de obra especializada e potencialmente vai gerar mais bugs e trabalho para manter? Não existem respostas prontas, cada projeto e equipe de software demandam diferentes necessidades e vão ver cada aspecto com diferentes pesos.

O Open Cart é um sistema que exige bem pouco no que diz respeito a configuração do servidor. Segundo o próprio Open Cart os requisitos para instalar a aplicação são:

Servidor Web (Apache de preferência)
PHP 5.4+
Banco de dados (MySQLi de preferência)

Enquanto as bibliotecas e módulos PHP exigidos são:
Curl
ZIP
Zlib
GD Library
Mcrypt
Mbstrings
Xml

Na minha experiência local eu tive alguns problemas instalando o OC com o XAMPP e PHP 7.4, o primeiro erro foi esse Notice que impedia o carregamento dos estados no Open Cart por meio do Ajax:

Notice: Trying to access array offset on value of type bool in CAMINHO PARA O OPEN CART\catalog\controller\startup\startup.php on line 166

Esse notice foi inserido na versão 7.4 do PHP, você pode ver mais na nota abaixo:

Trying to use values of type nullboolintfloat or resource as an array (such as $null[“key”]) will now generate a notice.

https://www.php.net/manual/en/migration74.incompatible.php

Para corrigir alterei a condição do IF para verificar se o $this->session->data[‘shipping_address’][‘country_id’] era diferente de null antes de ser usado.

if (isset($this->session->data['shipping_address']) && isset($this->session->data['shipping_address']['country_id'])) {
			$this->tax->setShippingAddress($this->session->data['shipping_address']['country_id'], $this->session->data['shipping_address']['zone_id']);
		} elseif ($this->config->get('config_tax_default') == 'shipping') {
			$this->tax->setShippingAddress($this->config->get('config_country_id'), $this->config->get('config_zone_id'));
		}

Pretendo continuar nessa jornada de testes do Open Cart e quero tentar implementar um módulo de “checkout transparente e recorrente” pelo Pag Seguro.

Postado em PHP

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *