Fórum OpenCart Brasil

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

#89499
Eu desenvolvi um módulo (starter_module) que está funcionando perfeitamente ao adicionar ao layout do Opencart. Criei também um arquivo install.xml para realizar as modificações no arquivo product.php do Catalog, conforme abaixo:
Código: Selecionar todos
<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Amani Informações de Parcelamento</name>
    <version>3.0</version>
    <author>Ronan P. da Silva</author>
    <link>https://exemplo.com.br</link>
    <code>starter_module</code>
    <description>Exibe informações de parcelamento na página do produto</description>
    <file path="catalog/controller/product/product.php">
        <operation>
            <search><![CDATA[ $this->model_catalog_product->updateViewed($this->request->get['product_id']); ]]></search>
            <add position="after"><![CDATA[
                $data['starter_module'] = $this->load->controller('extension/module/starter_module');
            ]]></add>
        </operation>
    </file>
    <file path="catalog/view/theme/journal3/template/product/product.twig|catalog/view/theme/default/template/product/product.twig">
        <operation>
            <search><![CDATA[<a id="button-cart" data-loading-text="<span class='btn-text'>{{ button_cart }}</span>" class="btn btn-cart" {% if (j3.settings.get(stylePrefix ~ 'CartDisplay') == "icon") and (j3.settings.get(stylePrefix ~ 'CartTooltipStatus')) %} data-toggle="tooltip" data-tooltip-class="pp-cart-tooltip" data-placement="{{ j3.settings.get(stylePrefix ~ 'CartTooltipPosition') }}" title="{{ button_cart }}" {% endif %}><span class="btn-text">{{ button_cart }}</span></a>]]></search>
            <add position="after"><![CDATA[
                {% if price and starter_module %}
                    <div class="starter_module_class">
                        <div>{{ starter_module }}</div>			
                    </div>
			    {% endif %}
            ]]></add>
        </operation>
    </file>
</modification>
Tudo certo, analisando no system/storage/modifications, as modificações estão sendo lançadas corretamente. No entanto não está carregando minha extensão no Controller do Product.php (página).

Fiz até um print_r($data) e a extensão não é carregada na variável...

Algum desenvolvedor de extensões poderia dar uma força no que estou fazendo de errado?
#89501
Ola @psronan
Aparentemente esta correto, veja se resolve colocando assim, trecho indicado abaixo.
Código: Selecionar todos
<add position="after"><![CDATA[
            // add 
              $data['starter_module'] =  '';
                $data['starter_module'] = $this->load->controller('extension/module/starter_module');
            ]]></add>
:)
#89541
Olá! Tudo bem?

Muitas vezes o módulo não é exibido por estar em um ponto do Journal que tem divs acima ou que bloqueiam.

Convém realizar alguns testes:

Teste de cache:
1- )Coloque antes do if do parcelamento um palavra qualquer, exemplo: teste - e veja se será exibida;

2 -) Caso exiba temos duas certezas: 1->o cache está funcional e 2 não tem divs bloqueando a exibição. Podemos presumir que o problema está no IF, por algum motivo não está chegando as informações de forma corretas. Aí compensa verificar as configurações do módulo e os arquivos no geral (controller, model, view);

3-) Caso não exiba o teste acima pode ser que tenha algum problema com os caches da loja, é bom seguir as instruções abaixo:
Siga em Extensões->Modificações ->Clique no botão azul (atualizar).

Logo após, acesse a primeira página da área administrativa, clique na engrenagem localizada no canto superior direito,abrirá a opção para limpar o cache do tema, clique em OFF, atualize e depois clique em On e atualize novamente.

Se mesmo assim não der certo, terá de limpar manualmente.
Acesse as pastas:
storage/cache
e
storage/modification

Limpe o conteúdo das duas pastas (não apague o arquivo index.html).

Se alterar o CSS ou Java Script, pode ser que o cache seja mantido no browser, é bom limpá-lo também.

Costumo executar as mudanças de layout no Mozilla que não mantém o cache do CSS e Java Script.

Se mesmo assim ainda estiver com o cache antigo, verifique se tem algum link da própria hospedagem para limpeza de cache ou se o tema que utiliza tem cache próprio.

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