【问题标题】:Prestashop 1.7.5 Custom PHP code, where to placePrestashop 1.7.5 自定义PHP代码,放在哪里
【发布时间】:2019-02-25 22:12:29
【问题描述】:

我有一段自定义 PHP 代码,我需要将其放置在所有页面(购物车、猫、cms 等)都可以访问的文件结构中的某个位置。我已经完成了四处挖掘,看到所有手指都指向控制器目录。我不太确定在哪里/如何添加。我试图创建一个模块,但被卡住了——由于时间紧迫而放弃了这个想法。任何帮助将不胜感激。

另外我应该注意,我需要从前端通过 AJAX 访问自定义 PHP 代码的输出。我已经把所有这些都连接起来了,只需要一个简单的设置 (XAMPP) php.php 和 js.js 只需要知道如何将它集成到 Prestashop 的结构中。

理想情况下,这段代码会在生命周期的早期运行,如果我不必覆盖任何核心文件,那就更好了。

非常感谢您的帮助。

使用 PS 版本 1.7.5

【问题讨论】:

    标签: javascript php ajax prestashop


    【解决方案1】:

    您可以使用PrestaShop module creator

    您必须在向导中添加 displayHeader Hook 才能在您的模块上创建此挂钩并将您的 php 代码放入其中。

    将变量发送到 js 文件:

    Media::addJsDef(['jsVar' => 'value']);
    

    【讨论】:

    • 谢谢马赫迪。所以使用 addJsDef 方法我可以在第二个参数中传递任何内容并从 js 文件控制台记录它?
    • 是的。您也可以使用 addJsDef 将变量数组传递给 js。
    • 我刚刚创建并安装了一个测试模块,但似乎无法正常工作。在 'hookDisplayHeader' 我放置了 'Media::addJsDef('simVar' => 'Test.');'在模块的 js/front.js 中,我尝试控制台日志“simVar”,但什么也没发生。这里是文件结构ibb.co/7kjygkq 再次感谢。
    • 你必须加载你的 js 文件。使用 $this->context->controller->addJS($this->_path.'views/js/front.js');
    • 我仍然无法使用 addJsDef 方法将一些信息发送到 JS 文件。是的,我有通过模块创建器自动创建的 addJS 方法
    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多