我在我的blog 寫了一點, 有同好覺得有用, 轉一下分享給大家, 以下代碼是為了可以在PHP之內取得 views 的結果, 並使用 views 的 template 返回html 碼:
之前有提及過用 PHP 來提取 views 的結果: 從 fid 提取上傳檔案的資料
但發覺這個方法不可以拿出 Filefield 的資料, 原因未明
因為效能問題不想使用 node_load(), 花了些時間挖
Views 的 AJAX paging 就是使用 <?php $view->preview()?>
(可以參考右欄 Recent content 的 paging)
實際使用:<?php
$view = views_get_view($name);
if (is_object($view)) {
$output .= $view->preview($display_id,array($taxonomy->name)); //第二個 arg array() 是給views 用的 argments
}
?>
此方法可以完全使用 views 的 templates, display options 等, 真正方便
Re: 用 PHP 來提取 views 的結果: $view->preview()
views_embed_view 簡化版 ??
你沒有權限檢查, is_object 效能較差
---
notaBlueScreen
Re: 用 PHP 來提取 views 的結果: $view->preview()
多謝指教, 沒錯
要檢查權限:
<?php $view->access($display_id) ?>
順帶一提
<?php views_embed_view(); ?>
的用法:<?php
views_embed_view($name, $display_id, $arg1, $arg2);
?>
Joetsui's blog