php – Joomla – 使用 JToolbarHelper::link() 替代 JToolbarHelper::addNew() 的技巧

通常我們在元件主頁面會顯示列表,而列表上方都會有「新增」的按鈕,因為這顆按鈕的運作原理是 Submit Form,設定上很麻煩因為還要開 <input> 指定參數,網址才會更著轉換。通常我們會這樣跳轉網頁

JToolbarHelper::addNew('column_extensions.edit');
<input type="hidden" name="type" value="123">
...
...

 

但我覺得這個方式更直覺,使用 URL 就好了真的。

JToolbarHelper::link('index.php?option=com_activities&task=column_extensions.edit&type=123', '新增', 'new');

// 這段會改變按鈕為"新增"的樣式,原封不動貼上,或是製作成你的 global script 也可以
JFactory::getDocument()->addScriptDeclaration('jQuery(function (){jQuery(".icon-new").parents("button:not(\'.button-new.btn-success\')").addClass("button-new btn-success")})');

會要用到 JS ,主要是因為 JToolbarHelper::link() 在設定為 ‘new’ 的時候,並不會真的模擬成 JToolbarHelper::addNew() 樣式,不過只要添加與 addNew() 相同的 class 即可解決這個問題囉。

 

發表迴響