0

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.

2
Contributors
2
Replies
3
Views
5 Years
Discussion Span
Last Post by ping0ping
0

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 :)

0

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';
}

Edited by ping0ping

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.