簡體   English   中英

prestashop 1.5核心文件覆蓋

[英]prestashop 1.5 core file overwrite

我想覆蓋prestashop 1.5核心文件FrontController.php以便從override\\classes\\controller文件夾中進行覆蓋,但是它沒有加載我的覆蓋文件夾文件。

<?php

    class FrontController extends FrontControllerCore
    {

    /* Display a specific page if the user country is not allowed */
        protected function displayRestrictedCountryPage() {

        }
    }

任何人都知道如何在1.5中重寫核心prestashop文件

我也遵循此文檔,但沒有解決的方法。

Prestashop 1.5.x會自動合並默認的覆蓋文件,並在module::install()函數上自定義文件。 您只需要在模塊文件夾中創建正確的層次結構:具有自定義功能的modules/your_package/override/classes/controller/FrontController.php 如果您沒有擴展名並想要手動添加替代-您需要更改文件override/classes/controller/FrontController.php

只需刪除/ cache文件夾下的class_index.php

它包含Presta的Class&Controller文件詳細信息。 刪除並重新加載頁面后,prestashop將自動生成具有最新更改的文件。

問題可能在於,其中一個包含parent::nameOfFunction的函數,您應該用要覆蓋的父函數的繼承替換該函數中的parent。

您要覆蓋的函數在核心函數init()中調用。 您應該做的是同時覆蓋init()和displayRestrictedCountryPage()。 然后在init函數中使用Controller :: init()而不是parent :: init()

覆蓋所有內容后,不要忘記刪除緩存文件夾內容並重新創建它們,因為這浪費了我一段時間,直到在此處找到解決方案為止

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM