[英]How to open in a new window a custom action in grocery crud?
我想做的是,當我單擊使用雜貨店呈現的表中的自定義操作時,它將在新窗口中打開。
public function list() {
try {
$crud = new grocery_CRUD();
$crud->set_theme('flexigrid');
$crud->set_table('employee');
$crud->add_action('Create Payslip', base_url().'design/images/img.png', 'roll/emp');
$output = $crud->render();
$this->output($output);
} catch(Exception $e) {
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}
我應該添加什么?
您可以修改默認的雜貨雜貨,以添加一個jQuery處理程序(或者,出於某種原因,如果願意,可以使用回調添加該處理程序)。
該jquery處理程序將建立某些確定的類的鏈接(例如,add_action生成的按鈕的class屬性可以為class =“ edit_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text- icon-primary“)在新窗口中打開(target =” _ blank“)。
您的處理程序將如下所示:
//在此處添加在新窗口中打開鏈接所需的按鈕類別$(“。YOUR_CLASS_NAME”)。attr(“ target”,“ _blank”);
這是在不對Grocery Crud CORE文件進行任何更改的情況下完成此工作的快速技巧。 在將輸出傳遞到控制器中的打印功能之前,只需添加對str_replace()
的調用即可,例如:
GC主題:數據表
...
$crud->add_action('Print', '', 'admin/print_monthly_fess', 'ui-icon-print');
$output = $crud->render();
$output->output = str_replace('class="edit_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary"', 'class="edit_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary" target="_blank"', $output->output); //additional line
$this->_example_output('example_template.php', $output);
GC主題:flexigrid
...
$crud->add_action('Print', base_url().'assets/grocery_crud/themes/flexigrid/css/images/print.png', 'admin/print_monthly_fess');
$output = $crud->render();
$output->output = str_replace('title="Print"', 'title="Print" target="_blank"', $output->output); //additional line
$this->_example_output('example_template.php', $output);
以我為例,添加的動作具有給定的類/標題,但是您應該執行“查看源代碼”並查看最終輸出,然后找出在何處拼接target="_blank"
解決方案來源: GC論壇
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.