2012-09-20 76 views
3

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

<?php 

    class FrontController extends FrontControllerCore 
    { 

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

     } 
    } 

任何機構有主意如何在寫的Prestashop核心文件中1.5

我也遵循這一document但沒有辦法解決。

回答

6

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

0

後無論你想不要覆蓋「忘記刪除緩存文件夾的內容,並重新創建它們,因爲失去我的時間一會兒,直到找到了解決辦法here

2

只需卸下class_index.php/緩存文件夾。

它攜帶Presta的的&類控制文件的詳細信息。一旦你刪除並重新加載頁面, prestashop會自動生成最新更改的文件。

+0

我確實有這個問題。我的代碼中的所有內容都是正確的,但由於緩存而無法看到更改 – vladkras

1

問題可能在於,您的函數之一包含parent::nameOfFunction,您應該通過繼承您要覆蓋的父函數來替換函數中的父項。

1

你試圖覆蓋的函數在覈心函數init()中調用。你應該做的是重寫init()和displayRestrictedCountryPage()。然後在init函數裏面使用Controller :: init()而不是parent :: init()