簡體   English   中英

如何在drupal 7中顯示除當前頁面以外的兄弟頁面?

[英]How to display sibling pages except current page in drupal 7?

假設我有父頁面A1和B1。 A1具有子頁面A1.1,A1.2,A1.3,而B1具有子頁面B1.1,B1.2。

當我在A1.1頁上時,我將能夠顯示A1.2和A1.3。 與A1.2相同,我將能夠看到A1.1和A1.3。

如果我在B1.1頁上,我將看到B1.2,反之亦然。

注意:每個頁面都有圖像和標題。 我想使用視圖獲取解決方案。

如果我們需要子頁面,則可以將此線程鏈接到此鏈接: 如何在drupal 7中列出當前父頁面的所有子頁面?

在兩個頁面上添加一個上下文過濾器nid,默認情況下,從url中選擇內容ID,然后在下面的“預先”部分中選中“排除”選項。

我設法通過在上下文過濾器中使用以下php代碼創建視圖來做到這一點

$sibbling = array();
$current = db_query("select menu_name, mlid from {menu_links} where link_path = :node", array(':node' => $_GET['q']));
$current_info = array();
foreach ($current as $value) {
    $current_info[] = $value;
}
if($current_info) {
    $result = db_query("select mlid, plid, link_path, link_title from {menu_links} where link_path != :node and plid = ( select plid FROM {menu_links} WHERE link_path =:node)", array(':node' => $_GET['q']));
    foreach ($result as $row) {
      $sibbling[] = $row;
    }
}
$nids = array();

foreach ($sibbling as $value){
    if( substr( $value->link_path, 0, 5 ) == 'node/' ){
        $nids[] = substr( $value->link_path, 5 );
    }
}

return implode('+',$nids);

最后,在加號選項中,我們必須選中“允許多個值”

保存並完成;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM