2011-04-20 37 views
1

我知道如何使用theme_pager()創建我自己的自定義尋呼機,但是我會如何去處理不同頁面上不同樣式/配置的頁面。如何在Drupal站點上的不同頁面上使用不同的尋呼機

例如。

主頁式:[第一] [<上一頁] [1] [2] [3] [4] [下一步>] [尾>]

內頁:[<上一頁] [1] [2 ] [3] [4] [下一步>]

查看:[< <] [<] [1] [2] [3] [4] [5] [6] [>] [>>]

注:

1日尋呼機是默認尋呼機

第二尋呼機不具有第一/最後按鈕

第三尋呼機使用圖像按鈕和具有不同數量的可見頁面的鏈接

我最初的想法是測試在theme_pager路徑(),以確定哪些風格來渲染。

這不適合我,有沒有更好的方法?

回答

0

我建議最簡單的方法來進行修改,你正在談論的是使用CSS。由於您沒有更改尋呼機列表中的項目數量,因此這三種尋呼機樣式的標記可能相同。

用戶螢火蟲檢查您的主題中的現有尋呼機,以發現您的CSS在哪裏編碼尋呼機的樣式。如果你的主題已經爲他們編碼,那麼只需修改現有的代碼。如果代碼只是從drupal內核中提取,那麼你可以通過在主題中聲明一個新文件來重寫整個css文件,或者只是在你的主題的css文件中添加一個新的css規則副本。

爲了製作不同版本的尋呼機,你必須找出一些隔離尋呼機的方式,你想不同的主題。這可以使用大多數drupal主題所具有的主體類,或者使用您嘗試更改尋呼機的view/block的class/id來完成。如果你有大量的需要應用這種尋呼機風格的視圖,那麼你可以使用類似skinr的東西來定義尋呼機風格,並將規則附加到適當的視圖/塊。

Homepage風格看起來像默認的Drupal的東西。 內頁:您只需要爲第一個和最後一個鏈接添加display:none。 瀏覽次數:對於這一點,你將要使用的CSS圖片替換,就像這樣:

/* set up defaults for all buttons */ 
.pager .next, 
.pager .previous, 
.pager .first, 
.pager .last { 
    text-indent:-9999px; /* hide text on the link */ 
    text-align:left; 
    overflow:none; 
    height:20px; 
    width:20px; 
    line-height:20px; 
    dislay:block; 
    background: transparent url(../images/pager-sprite.png) no-repeat 0px 0px; /* set a background image */ 
} 
/* for each button, offset the position of the background sprite image */ 
.pager .previous { 
    background-position: 20px 0px; 
} 
/* note that your sprite can also contain hover states for the images */ 
    .pager .previous:hover { 
     background-position: 20px 20px; 
    } 
    .pager .next:hover { 
     background-position: 0px 20px; 
    } 
.pager .first { 
    background-position: 40px 0px; 
} 
    .pager .first:hover { 
     background-position: 40px 20px; 
    } 
.pager .last { 
    background-position: 60px 0px; 
} 
    .pager .last:hover { 
     background-position: 40px 20px; 
    } 

**注:此代碼將無法正常工作,是...這是念頭只是一個粗略的輪廓,你將不得不調整它,使其爲尋呼機工作。您應該將您的css選擇器從您在drupal核心或主題中找到的選擇器中取出。此外,您可能需要浮動尋呼機列表項目或刪除display:block屬性,或根據您的需要進行其他調整。

如果視圖風格的呼叫器是最常見的,您可能希望將其設爲您的默認呼機風格,但請注意,如果您這樣做,那麼您的更具體的風格將不得不取消設置所有其他屬性已設置爲這個定製的尋呼機樣式。

好運...

+0

可悲的是,其中一個要求是有不同數量的尋呼機列表中的項目。我已經修改了我的問題以反映這一點。很好的答案雖然:-) – RichardAtHome 2011-04-27 08:06:41

相關問題