CodeIgniter view loading not loading in order?

前端 未结 4 1110
生来不讨喜
生来不讨喜 2021-01-25 14:57

I have a Controller in CodeIgniter with the following code:

$this->load->view(\"first\");
echo \"LOL\";
$this->load->view(\"second\");
相关标签:
4条回答
  • 2021-01-25 15:42

    Rendering views in code igniter is done at the end. If you wish to render them as you go you can do

    echo $this->load->view("first", array(), true);
    echo "LOL";
    echo $this->load->view("second", array(), true);
    
    0 讨论(0)
  • 2021-01-25 15:42

    To achieve what you are trying, you have to pass a third param to the function $this->load->view(...), indicating that you'll receive the view in a variable, and not to display it immediatly.

    Like this:

    echo $this->load->view("first", NULL, TRUE);
    echo "LOL";
    echo $this->load->view("second", NULL, TRUE);
    

    Look at the third param TRUE (the second is all the variables you want to pass to it). Don't forget to print the result of the view with echo. This is very useful if you want to store the views and process them, or print them in the order you wish.

    0 讨论(0)
  • 2021-01-25 15:42

    Here's a more elegant way to do this:

    $this->load->view("first");
    $this->output->append_output("LOL");
    $this->load->view("second");
    

    Using this will reduce rewrites of pre-written $this->load->view statements into echos. Hope it helps.

    0 讨论(0)
  • 2021-01-25 15:56

    It's simple:

    $this->load->view("...");
    

    will not immediately display the view. This happens later, what is one of the benefits of a MVC framework.

    0 讨论(0)
提交回复
热议问题