Drupal 5: Embedding a view in a page or node layout
Here is how you can generate the html from a view and embed into a page callback or node.
<?php
function MYMODULE_MYFUNCTION() {
// ...code...
// define view name
$viewName = 'MY_VIEW';
// get the view object
$view = views_get_view($viewName);
// create an array of arguments
// NOTE: if you are using arguments, you can pass them into this function
$viewArgs = array();
// create view html
$viewHtml = views_build_view('block', $view, $viewArgs, FALSE, $view->nodes_per_block);
if ($viewHtml) {
$page_contents .= "<h3>" . $view->block_title . "</h3>";
$page_contents .= $viewHtml;
}
// ...code...
}
?>
In this example, I am using a block view. You can also use a page or embedded layout and adjust as necessary. I find it helpful to show the contents of the view object to see what’s available to you. For instance:
<?php
echo "<pre>" . print_r($view, TRUE) . "</pre>";
?>