[英]Override core files using module prestashop
其實我是prestashop的新手,
我在這些位置的以下文件中進行了更改
classes/Product.php
src/PrestaShopBundle/Controller/Admin/ProductController.php
src/PrestaShopBundle/Resources/views/Admin/Product/form.html.twig
配置此模塊后,我已經創建了一個名為“ 我的工具包”的模塊,所有這些更改均應正常進行。
為此,我在my_kit
模塊中創建了override
文件夾, my_kit
上述所有文件放入此my_kit\\override
路徑。
喜歡
my_kit\\override\\classes/Product.php
my_kit\\override\\src/PrestaShopBundle/Controller/Admin/ProductController.php
my_kit\\override\\src/PrestaShopBundle/Resources/views/Admin/Product/form.html.twig
但這對我不起作用:(
我該怎么辦..
有人幫助我。
您可以在如下所示的主文件安裝功能中使用php默認復制功能。
public function install()
{
copy(_PS_ROOT_DIR_."/modules/your module name/classes/Product.php",_PS_ROOT_DIR_."/override/classes/Product.php");
unlink(_PS_ROOT_DIR_."/cache/class_index.php");//because you need to delete this file after override
//Do same like this all other file.
}
謝謝,
我不太確定如何使用自定義模塊處理零件(也許當未配置模塊時,將只保留覆蓋類,而在配置覆蓋類時,將所做的更改放在那里)。核心文件中的更改仍應按以下方式進行-對於Product類:
定義類的屁股:
class Product extends ProductCore
做你的改變。 (替代功能,或添加新功能)
您無法覆蓋src
文件夾中的類
PrestaShop 1.7在其新體系結構中引入了名稱空間的使用,總之,任何具有名稱空間的內容都不能被覆蓋。 但是,仍然可以覆蓋舊式體系結構。 但總的來說,我們建議您不要覆蓋代碼。 最好將其擴展。 此外,當前在基於Symfony的頁面(即“產品”頁面和“模塊”頁面)中禁止替代。
如果要覆蓋PrestaShop的類和控制器,則可以像以前的版本中那樣進行操作
http://doc.prestashop.com/display/PS16/Overriding+default+behaviors
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.