[英]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.