如何在控制器中使用视图中的参数调用函数?

时间:2019-07-08 12:21:44

标签: php codeigniter

我有一个控制器视图。我想用控制器的功能之一绘制视图的内容。

例如 mycontentview

<h1>$parameter</h2>;

我将此视图加载到 MyController 中的 $ data 中:

public function index(){
    $data['parameter'] = "some parameter";
    $body = $this->load->view('mycontentview', $data, true);
    $data = array();
    $data['content'] = $body;

    $this->load->view('templates/header');
    $this->load->view('indexview', $data); 
    $this->load->view('templates/footer');
}

public function new_content($param1){
    $data['parameter'] = $param1;
    $body = $this->load->view('mycontentview', $data, true);
    $data = array();
    $data['content'] = $body;

    $this->load->view('templates/header');
    $this->load->view('indexview', $data); 
    $this->load->view('templates/footer');
}

因此,我第一次加载 indexview 。在这里,我可以回显 $ body ,其中包含来自 mycontentview 的内容,并在按钮上单击我要呼叫的具有参数的 new_content 函数。我该怎么办?

3 个答案:

答案 0 :(得分:0)

您可以将其添加到mycontentview视图

<a href="<?php echo site_url('YourController/new_content/'.$parameter); ?>" title="Button Title">Button Text</a>

答案 1 :(得分:0)

在您的视图文件中使用此代码进行重定向。

<a href="<?php echo site_url('Controller/Method/'.$Parameter); ?>" class="Your Class" id="Your Id">Your Button</a>

或者您也可以使用anchor()函数,但是在使用anchor()函数之前,您必须加载URL helper

$this->load->helper('url');
echo anchor('Controller/Method/'.$Parameter, 'Your Button', array('class'=>'Your Class','id'=>'Your Id'));

答案 2 :(得分:0)

您可以在类似代码的代码中使用get实例方法

$ci =& get_instance();
$ci->functionName($something);

您可以在当前控制器中调用功能,也可以在HMVC中调用基本控制器中的功能,或者在MVC中调用 CI_Controller

我认为这会对您有所帮助,请让我知道任何问题