簡體   English   中英

使用Prestashop模塊將Javascript代碼添加到特定頁面

[英]Adding Javascript code to specific pages using Prestashop Module

我正在開發一個自定義的Prestashop模塊。 要求很簡單:向購物流程的特定部分添加一個預定義的javascript代碼塊。 那些是:

  • 主頁
  • 產品頁面
  • 產品已添加到購物車
  • 購買完成

該代碼將特定於每個頁面。

我已經閱讀了模塊開發的基礎知識,但是找不到該特定功能的文檔。

我已經有一個可以從后台管理員安裝和配置的工作模塊。 我假設我需要擴展頁腳並檢查當前提供的頁面,但是我不知道如何執行此操作。

它更簡單比它看起來:),你必須檢查在頁面你,在你hookDisplayHeader方法添加一些if

public function hookDisplayHeader($params){
    /* some code */

    // check if we are in homepage
    if($this->context->controller->php_self == 'index'){
        $this->context->controller->addJS('path-to-index-js');
    }

    // check if we are in product page
    if($this->context->controller->php_self == 'product'){
        $this->context->controller->addJS('path-to-product-js');
    }

    // and so on for all other pages
    /* ... */

    /* some code */
}

js中也有一個全局變量

page_name

PrestaShop中的每個頁面都有一個唯一的值page_name smarty變量。

可以在任何控制器中通過以下代碼獲取此變量的值:

$this->context->smarty->tpl_vars['page_name']->value

您可以添加一個鈎子(即hookHeader),然后在該鈎子中為要添加腳本的每個頁面添加一個條件。

暫無
暫無

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

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