我有一個要求在內容中執行索引搜索,該內容必須在結果中包含一對標籤。標籤必須是隨機選擇。該平臺是Drupal 7.12Drupal:D7重寫視圖返回的值
我創建了一個視圖,管理通過search_api
SOLR搜索的結果。該視圖返回所需的內容,似乎按預期工作。我已經包含了幾個Global:
自定義文本字段作爲標記條目的佔位符。
我現在正在尋找解決方案來管理隨機標記值的要求。隨機化不是問題,問題是如何將隨機值包含到查看結果中。
我目前的做法是編寫一個views_pre_render
掛鉤來攔截顯示爲字段([nothing]
和[nothing_1]
)的佔位符。測試代碼如下所示
function MODULE_views_pre_render(&$view)
{
$view_display = $view->display['default'];
$display_option = $view_display->display_options;
$fields = $display_option['fields'];
foreach($view->result as $result)
{
$fields['nothing']['alter']['text'] = sprintf("test %d", rand(1,9));
}
}
當視圖渲染我目前沒有看到佔位符的任何變化。
任何接近方法的指針,備用解決方案等都會被感激地接收,因爲此時此刻消耗了大量稀缺時間。從鉤子內調用print_r($view)
轉儲超過46M到一個包含2個項目的結果集的日誌文件。
榮譽...這個岩石和簡單! <?php print「link to $ output」; ?>加上緩存緩存有解決方案封裝簡單本身。我現在將添加主要功能。 – 2012-03-04 08:33:02
最近重新訪問了解決方案,現在已經使用Views_PHP模塊,如上所述並調用模塊函數,從而在視圖定義中而不是在表示層中維護邏輯。再次感謝領導。 – 2012-04-05 09:55:39