2013-04-29 64 views

回答

3

只需在hookHeader補充:

$this->context->controller->addCSS($this->_path.'style.css', 'all'); 

我希望這種幫助, 邁克

+0

你確定這種方式他們也不會被包括在前端? 另外:是不是可能需要註冊該掛鉤? – Stratboy 2013-07-23 13:21:40

+0

這種方式CSS不會被添加到全局縮小的CSS ..對嗎? – drAlberT 2014-01-10 11:16:35

+0

@Stratboy:事實上有很多方法,是的,它會被添加到前端。我認爲你必須使用$ this-> context-> controller-> addCSS($ this - > _ path.'style.css');僅限管理員。 – Mike 2014-01-19 22:42:21

1

即時面臨同樣的問題... 我認爲唯一的辦法是進入 [path-to-project]/[admin-path] /themes/default/template/helper/form/form.tpl

並加入塊{block name =「before」 } {/ block}

並將此塊添加到您的form.tpl到您的控制器模板中: [path-to-project]/[admin-path]/themes/default/template/controllers/[yourcontrollername]/helpers/form/form.tpl

{block name="before"} 
<style> 
/* your style here */ 
</style> 
{/block} 

獲取更多信息,您可以參考我的博客文章在這裏: http://mercstudio-tech.blogspot.com/2013/05/prestashop-form-field-type.html

2

我已經找到了更好的方法。還有一個更具體的鉤子:displayBackOfficeHeader。 這確保您的環境將只是後臺,而不是前臺。 另外,爲了確保它只能在特定情況下工作(例如只在配置頁面中),您可以檢查url變量。 因此,首先,在安裝()添加寄存器功能(並確保復位模塊使鉤將工作):

$this->registerHook('displayBackOfficeHeader'); 

還要添加註銷代碼卸載():

$this->unregisterHook('displayBackOfficeHeader'); 

然後添加相關函數。在這個例子中,我檢查,如果我在配置頁面是(imagebanner是模塊的名稱):

public function hookDisplayBackOfficeHeader($params){ 

     if(!(Tools::getValue('controller') == 'AdminModules' && Tools::getValue('configure') == 'imagebanner')){ 
      return; 
     } 

     $this->context->controller->addCSS($this->_path.'back-office.css', 'all'); 
    } 

此外,take a look to the docs。 希望它有幫助!

[編輯]

我剛剛發現,上面的代碼中添加的文件堆棧的開始,而不是結尾。這意味着,例如,BEFORE jQuery。似乎沒有辦法控制注射順序。不管怎麼說,現在,我已經找到了一個簡單的解決方案:直接返回的HTML代碼:

public function hookDisplayBackOfficeHeader($params){ 

    if(!(Tools::getValue('controller') == 'AdminModules' && Tools::getValue('configure') == 'homebanners')){ 
     return; 
    } 

    $html = ''; 
    $html .= '<link href="'.$this->_path.'back-office.css" rel="stylesheet" type="text/css" media="all" />'; 
    $html .= '<script src="'.$this->_path.'back-office.js" type="text/javascript" ></script>'; 

    return $html; 
} 

它的工作原理,因爲如果你看看到管理header.tpl,你看到胡克其實寄予在js/css incusion代碼之後。所以它只是起作用。相反,addCSS/JS方法獨立工作,根本不考慮掛鉤位置。

相關問題