2013-04-18 20 views
0

默認JUser::setParam()方法僅將參數設置爲會話。有可能以某種方式存儲參數不在會話中,他們將始終可用?我在users表字段params,它存儲了當前用戶的一些參數,但不知道如何添加有數據...是否可以在沒有會話的情況下在joomla中設置用戶參數?

+0

嘗試http://forum.joomla.org/viewtopic.php?p=2652565 –

+0

您是否檢查過用戶配置文件? –

回答

1

您是否嘗試過save添加您的參數後的對象?

$user = JFactory::getUser(); 
$user->setParam($key, $value); 
$user->save; 
0

安逸舒適的方法是使用流行的Community Builder擴展,它可以讓你也發現在管理員後端定義自定義用戶字段。它有一個API來獲取CB用戶對象,並寫入和讀取存儲在數據庫中的字段,而不是會話。不知道您的Joomla/CB版本(適用於Joomla 2.5和CB 1.8)和地點(網站,管理員,外部)的簡單示例(假設您的參數被命名爲customParam,用戶ID爲42):

cbimport('cb.field'); 
$mosCbUser = CBUser::getUserDataInstance(42); 

// read value 
$customParameter = $mosCbUser->customParam; 

// write value 
$mosCbUser->customParam = 'newnew'; 
$mosCbUser->store(); 

/* write value to DB directly with optional boolean third parameter 
specifing whether to trigger the user update plugins 
like onBeforeUserUpdate or onAfterUserUpdate 
*/ 
$mosCbUser->storeDatabaseValue('cb_adresse', 'new address', false); 

一定要在CB插件上下文中(如果不是這樣的話),包括例如像

global $_CB_framework, $_CB_database, $ueConfig; 
$app = JFactory::getApplication(); 
include_once($app->getCfg('absolute_path') . '/administrator/components/com_comprofiler/plugin.foundation.php'); 
相關問題