2012-01-31 22 views
0

我使用CMS(elgg:http://www.elgg.org)處理視圖,相當於主題/模板。要更改主題,我必須把裏面的網址的眼光看待= mytheme的,如:?如何將自定義值添加到當前URL

http://www.mydomain.com/index.php?view=mytheme

如果我不加查看= mytheme的,埃爾格選擇默認視圖

所以呢? ,我需要幫助,對於特定用戶,我想將我們重定向到自定義視圖,並且無法看到默認視圖。

我做這在我的頭:

<?php 

    if ((string) $_SESSION['user']->type === '2') { 
    // ??? 
    } else { 
    echo 'do nothing'; 
    } 

我不知道如何把當前的URL,並在最後簡單的添加視圖= mytheme的?

當用戶具有類型「2」,並見網址http://www.mydomain.com/index.php 它必須着>http://www.mydomain.com/index.php?view=mytheme

感謝。

+2

這是什麼樣的CMS?它有重定向的特殊功能嗎? – 2012-01-31 12:03:39

+1

這是蛋。我相信這是一個社交網絡CMS。我不知道任何內置的重定向,因爲我唯一的經驗是大約四年前。 – Tim 2012-01-31 12:12:35

+0

對不起,我編輯我的消息,爲了精確它的ELGG(1.7.14),並不知道它是否有重定向的特殊功能 – Tomaw 2012-01-31 12:24:34

回答

1

這是有點髒,但你可以:

// Stole this from here: http://webcheatsheet.com/php/get_current_page_url.php 
function curPageURL() { 
    $pageURL = 'http'; 
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
    $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") { 
     $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
    } else { 
     $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
} 

$useCustomView = ((string)$_SESSION['user']->type) === '2'; 
$usingCustomView = isset($_GET["view"]); 
// Redirect to custom view if user type is 2 and view is not already set 
if ($useCustomView && !$usingCustomView) { 
     $newurl = curPageURL() . '?view=mytheme'; 
     header("Location: $newurl"); 
} 

這是最基本的例子我能想到的來完成你的要求。如果您希望URL支持更長的查詢字符串,則這不會完成這項工作,因此需要一些工作。

+0

感謝您的回答Codemonkey, 有一些東西在: if( )$ _SESSION ['user'] - > type ==='2'&& !isset($ _ GET [「view」]){ $ newurl = curPageURL()。'?view = mytheme'; header(「地點:$ NEWURL 「);} 這埃爾格不好像很喜歡... 我寫這篇文章: 如果({」 $ _SESSION [ '用戶'] - >鍵入「} ===「2 '){ $ newurl = curPageURL()。'?view = mytheme'; header(「Location:$ newurl」); } 它的工作,但它已經爲每個請求?view = mytheme ...它似乎是在裏面!isset ... – Tomaw 2012-01-31 12:52:48

+0

嘗試更新,它更乾淨。 'isset'和'$ _GET'都不與elgg有任何關係,所以這不是問題。 – Hubro 2012-01-31 12:58:43

+0

你不是一隻猴子,而是一個真正的;) 謝謝Codemonkey – Tomaw 2012-01-31 13:00:07

相關問題