Member Avatar for Member #953260

Hi

I'm trying to append the content from one of the view file (page.ctp) into another view file (index.ctp). So basically what I'm trying to do is:
content from page.ctp ----> index.ctp

I managed to get the content of page.ctp using below method.

$.get('http://localhost/pages/10', function(data) {
        console.log(data);
});

But based on console.log(data) instead of getting the content of page.ctp, I got the whole page.ctp + default layout. What I want now is to get the content of page.ctp only excluding other default layout file.

Hope someone can help me with this. Thank you.

Recommended Answers

All 2 Replies

In the above code, you are typically asking JQuery to get the whole page.. And it does bring in the whole page. What you can do is.. implement a page where-in it only brings out the content and not the layout part. And then you could query that with $.get() so that you can directly add it to the DOM. with $("#insert_here").html(data);

This would reduce a lot of effort.

The other thing that you could try is to take the whole data .. Build a DOM object and traverse to the content. And then append the data only to the page.. This would be completely on the client side with JS..

I am just guessing this out of the blue.. However there might be other effective solutions :)

Member Avatar for Member #953260

Thank you for replied. I already solved this yesterday. What I did is I put below code inside the function that were called by the link. I don't know whether this is the correct solution but so far it works. :)

if($this->request->is('ajax')){
            $this->layout='ajax';
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.