value lists via delegate class
Archived from the Xataface Users forum.
Dataguru — Fri Feb 24, 2012 3:35 pm
I’m trying to limit the list of program goals to the goals of the logged in user’s program
I found an example and changed it to reflect my data, however, it’s not populating the value list.
in /tables/ProgObj/ProgObj.php
- Code: Select all
function valuelist__ProgGoalsID(){ static $values = 0; if ( !is_array($values) ){ $auth =& Dataface_AuthenticationTool::getInstance(); $user =& $auth->getLoggedInUser(); $sql = "SELECT ProgGoalsID, concat(GoalNo,': ', Goal) as lbl FROM ProgGoals"; if ( $user ){ $sql = " WHERE ProgramID=".$user->val('ProgramID'); $res = mysql_query($sql, df_db()); $values = array(); while ($row = mysql_fetch_row($res) ) $values[$row[0]] = $row[1]; @mysql_free_result($res); } else { $values = array(); } } return $values; }
in the /tables/ProgObj/fields.ini I added
- Code: Select all
[ProgGoalsID] widget:label = "Goal" widget:question = "The high impact systems or organizational change expected to be achieved by SFY15." widget:type = select vocabulary = valuelist__ProgGoalsID
It’s not throwing an error, but it’s also not populating the value list.
shannah — Fri Feb 24, 2012 4:28 pm
- Code: Select all
vocabulary = valuelist__ProgGoalsID
should be
- Code: Select all
vocabulary = ProgGoalsID
When you define a valuelist with the valuelist__valuelistname() method, you are defining a valuelist named “valuelistname” not “valuelist__valuelistname”.
_Steve
Dataguru — Fri Feb 24, 2012 4:42 pm
Thanks.
It’s still not working.
What’s the best way to troubleshoot the php code?
I tried inserting echo statements, but none would display.