簡體   English   中英

如何在新窗口中打開雜貨雜貨中的自定義操作?

[英]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.

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