2010-09-02 39 views
0

在Mage_Adminhtml_Block_Customer_Edit_Tab_Cart,在_prepareColumns()函數,他們增加了一個行動列,那裏你可以看到Magento的JavaScript對象

'onclick' => 'return ' . $this->getJsObjectName() . 'cartControl.removeItem($item_id);' 

,所以我嘗試做同樣與我的自定義模塊,

'onclick' => 'return ' . $this->getJsObjectName() . 'comentarioControl.removeItem($item_id);' 

但我得到的是noticia_comentario_grid10JsObjectcomentarioControl沒有定義錯誤,所以,我可以在哪裏定義,我不明白

謝謝

+0

你有沒有爲comentarioControl的任何地方定義任何Javascript? – 2010-09-02 17:55:00

回答

1

許多Magento管理用戶界面是通過將每個PHP UI對象與客戶端UI對象配對來實現的。來自getJsObjectName的值旨在用作JavaScript變量名稱的一部分。

如果您重寫和/或繼承此類,那麼確保相應客戶端代碼就位是您的責任。在各種版本的平臺中完成的方式各不相同。我會用在這裏您解決問題的方法是

  1. 只看該系統未修改Mage_Adminhtml_Block_Customer_Edit_Tab_Cart沒有你的自定義模塊

  2. 確定什麼getJsObjectName回報的#1

  3. 上下文

    搜索#2的字符串的代碼庫。這將向您展示Magento系統工程師如何在頁面中添加所需的客戶端代碼,並允許您在模塊中執行相同的操作。

+1

謝謝,問題解決了,我繼承了但缺少一些步驟...例如,Mage_Adminhtml_Block_Customer_Edit_Tab_Cart他們設置了一個模板customer/tab/cart.phtml,這裏有jsObject創建的地方以及它的所有功能....現在,一切在我的模塊工作正常,再次感謝 – 2010-09-02 20:50:37