2014-09-23 44 views
3

我正在尋找解決方案來顯示帶有用戶名的網址。我正在使用Joomla 3.3.0穩定版本。用戶名在Joomla 3.3中的URL

Ex。 site_url/userp-username

我試圖用以下規則解決這個問題,我使用了我的核心PHP網站。

RewriteRule ^userp-([a-zA-Z0-9-_]+)/?$ site_url/index.php?option ... er_name=$1 [R=301,L] 

當我擊例如http://sitename.com/userp-vishal07它執行,我想呼籲這個網址的代碼的URL並正確顯示結果。但url並不會保持原樣並變成http://vicciivital.com/index.php/en/component/users/profile?layout=view_profile&user_name=vishal07

我無法理解Joomla重定向如何工作。如果我在這裏犯了什麼錯誤,請糾正我。

+0

嗨,歡迎來到SO!在網站上,不鼓勵添加簽名和諸如「預先感謝!」的內容問題。它只是增加了噪音,該網站真的努力成爲黑色和白色 - 問題和答案。來自用戶的投票都會談論好的和壞的 - 像感謝你的回答:) – Fluffeh 2014-09-23 10:41:31

回答

1

由於我從來沒有理解com_users路由器不會路由任何配置文件,除了用戶自己的配置文件的原因。

/** 
* Method to get a route configuration for the profile view. 
* 
* @return mixed Integer menu id on success, null on failure. 
* @since 1.6 
*/ 
public static function getProfileRoute() 
{ 
    // Get the items. 
    $items = self::getItems(); 
    $itemid = null; 

    // Search for a suitable menu id. 
    //Menu link can only go to users own profile. 

    foreach ($items as $item) 
    { 
     if (isset($item->query['view']) && $item->query['view'] === 'profile') 
     { 
      $itemid = $item->id; 
      break; 
     } 

    } 
    return $itemid; 
} 

你需要做的是擴展這個方法來處理每個人的配置文件。只要確保處理存在具有與用戶的別名相同的別名的內容項目或標籤的情況。

一般來說,最簡單的解決方法是使用com_contact作爲配置文件。打開聯繫人創建者插件將自動爲新用戶創建聯繫人,聯繫人可以顯示配置文件插件中的任何內容。此外,它可以顯示用戶的文章,然後你可以添加插件的其他東西,如果你想。對我來說,它總是工作得更好,然後搞亂com_users配置文件。