how to fetch the current user data in phpfox

时间秒杀一切 提交于 2019-12-25 03:05:01

问题


Topic: Fetch current user(some particular fields) data from the DB and display it on the Welcome Screen.

Explaination of UI : On the Registration Page, A dropdown would appear. As the user selects an option, it would trigger an event to fetch user image to show on the welcome page.

I have put following code in (pages.process) module

  function getUserId($iUserId)
        {
        $aRows = $this->database()->select('p.image_path')->from($this->_sTable, 'p')
->Join(Phpfox::getT('user') , 'u', ' p.page_id = u.college_name') -> 
        where('u.college_name = p.page_id AND u.user_id = ' . 
    (int)$iUserId)->execute('getRows');
            return $aRows;
            }

The data will selected from User & Pages Table, and will be used to show the user image. Please suggest.


回答1:


There is a service to get user details by is

$user_id = Phpfox::getUserId();
$aRow  = Phpfox::getService('user')->getUser($user_id);

This will give you user details




回答2:


For performance, check if the page you are altering already has the information you need, maybe you dont need to query the database in ajax if the page, when being created, already has that info and you can store it in javascript.

Since you mentioned an ajax situation (trigger an event on drop down to query the database), then you need to include a JS file (my suggestion since you can do this from a plugin), there are other ways but this is the best in my opinion. Please read my article about plugins if you need help with writing one. My suggestion is to write a plugin to include your JS file in the page.

In the JS file you can call a "controller function" like this:

$.ajaxCall('mymodule.myfunction', 'param1=value1&param2=value2');

this would run the function "myfunction" in the file /module/mymodule/include/component/ajax/ajax.class.php From this ajax file you can call "service functions" and send code to the browser, for example:

$value = Phpfox::getService('mmodule')->someOtherFunction();
$this->call('alert("' . $value . '");');

Hope it helps



来源:https://stackoverflow.com/questions/22877907/how-to-fetch-the-current-user-data-in-phpfox

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!