我曾經知道如何做到這一點,但我似乎無法得到排序工作在一個視圖中,在一個塊中顯示過濾器。我希望能夠通過例如類型,價格等進行過濾,但也可以通過排序選項來按這些項目進行排序。將排序添加到Drupal上的視圖?
如何獲得排序工作?
我曾經知道如何做到這一點,但我似乎無法得到排序工作在一個視圖中,在一個塊中顯示過濾器。我希望能夠通過例如類型,價格等進行過濾,但也可以通過排序選項來按這些項目進行排序。將排序添加到Drupal上的視圖?
如何獲得排序工作?
我使用的代碼來覆蓋非表視圖
function views_tweak_views_query_alter(&$view, &$query) {
if ($view->name == 'products'){
if (arg(3) == 'pu') $query->orderby[0]='uc_products_sell_price ASC';
if (arg(3) == 'pd') $query->orderby[0]='uc_products_sell_price DESC';
if (arg(3) == 'nu') $query->orderby[0]='node_title ASC';
if (arg(3) == 'nd') $query->orderby[0]='node_title DESC';
}
}
排序,並把與這些網址
AFAIK你不能像過濾器一樣公開排序標準。
我看了看周圍發現this module。這個想法是創建幾個視圖,每個視圖都有不同的排序標準,並將它們與標籤鏈接在一起。這有點駭人聽聞,可能無法使用暴露的濾鏡。該模塊仍處於beta版本,我還沒有測試過,所以不能說它有什麼好處。
我記得特意在過去設置了一個選項,它會在視圖頂部顯示下拉菜單。我想知道如何做到這一點。 :-) – coderama 2009-12-23 06:01:53
如果您選擇使用表格佈局,則可以按列排序。該功能內置於視圖中。
視圖模板鏈接以防萬一你找不到在哪裏設置這個,看的視圖左側(在編輯模式下),在基本設置下,選擇「表格」。點擊「設置」(看起來像是「表格」選項右側的一個小齒輪圖標),您將看到所有顯示字段的列表,您可以在其中選擇哪些可排序/不可以,以及哪些是默認排序。
將排序添加到鉤子中Drupal less程序代碼的視圖。
您需要在顯示頁面中使用參數。對於之前的網頁
使用分類菜單..下:
<?php
$url= urldecode($_SERVER['REQUEST_URI']);
switch($url)
{
case '1':
$class = 'top';
$title_h2 = 'top';
break;
case '/taxonomy/term/6 3 ':
$class = 'travel';
$title_h2 = 'travel';
break;
.................
}
global $base_url;
$url_rating = $base_url.'/'.arg(0).'/'.arg(1).'/'.arg(2).'/rating';
$url_created = $base_url.'/'.arg(0).'/'.arg(1).'/'.arg(2);
?>
<div class="<?php print $class; ?>">
<div class="title">
<h2>
<?php print $title_h2; ?></h2>
<p>Sort node: <span class="sort_type"><a href="<?php echo $url_rating; ?>">by rate</a></span> | <span class="sort_type"> <a href="<?php echo $url_created; ?>">by date</a></span></p>
</div>
</div>
<p> </p>
VOILA
對不起,我的英語..它是不是我的母語))
考慮使用l()函數來生成標籤。你甚至不想得到$ base_url - l()可以爲你完成大部分繁重的工作。 – 2012-10-28 19:44:00
出於好奇你是否設法解決這個問題? – 2009-12-27 18:33:03
我正在嘗試451F的方法。和不。但我會嘗試impliment views_query_alter鉤子,看看會發生什麼。將在我工作時報告。 – coderama 2010-01-18 14:23:47