Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

send three attributes to a function


Reply

4 Posts   717 Views

Avatar
DeklinKelly

21 May 2009 at 8:11am Community Member, 197 Posts

How can I send three attributes to a function?

Here is my template:

$customfunction(hello,5,50)

Here is my code

class TestPage_Controller extends Page_Controller {

   function customfunction ($attr1, $attr2, $attr3) {
    return ($attr1 . $attr2 . $attr3);
   }
}

Avatar
Willr

21 May 2009 at 2:56pm Forum Moderator, 5511 Posts

Currently you cannot pass multiple variables through. I believe there is a patch sitting in open.silverstripe.com which will enable this. You will have to work around it I guess by going function MyMethod($values) and in the template MyMethod(hello 0 10) then spilting the string on the ' '? maybe if you can't have spaces you have to use _'s? hmmmm

Avatar
Willr

21 May 2009 at 2:56pm Forum Moderator, 5511 Posts

Currently you cannot pass multiple variables through. I believe there is a patch sitting in open.silverstripe.com which will enable this. You will have to work around it I guess by going function MyMethod($values) and in the template MyMethod(hello 0 10) then spilting the string on the ' '? maybe if you can't have spaces you have to use _'s? hmmmm

Avatar
DeklinKelly

21 May 2009 at 9:16pm Community Member, 197 Posts

Thanks for pointing me in the right direction. This works:

$xyz(1?2?3)

   function zxy ($vals) {
      list($val1,$val2,$val3) = explode("?", $vals);
   }