We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37246
    • 128 Posts
    Here's the idea:
    There are 3 levels of "membership". when you choose a radio we tell the system what that name of that level is so I can put it on my receipt( [+level] ). There is a second value in the radio input under the data-cost attribute. I need to get that value to output to the receipt too and can't figure it out.

    Here's the code:
    <input type="hidden" name="level" value="" />
        <label>     
         <input class="required" type="radio" value="Member" name="level" [[!+fi.level:is=`Member`:then=`checked="checked"`]] id="Member" data-cost="[[+seminar_cost_member_price_early]]" />
         Member
        </label>
        <label>
         <input class="required" type="radio" value="Student" name="level" [[!+fi.level:is=`Student`:then=`checked="checked"`]] id="Student" data-cost="[[+seminar_cost_student_price_early]]" />
         Student
        </label>
        <label>
         <input class="required" type="radio" value="Non-Member" name="level" [[!+fi.level:is=`Non-Member`:then=`checked="checked"`]] id="Non-Member" data-cost="[[!+seminar_cost_member_price_early]]" />
         Non-Member
        </label>
    


    Using [+level] i can get the membership type, say, "Member" for example... but, how the heck to I output [[+seminar_cost_member_price_early]] to my receipt? I was thinking [+level.seminar_cost_member_price_early] or something like that

    thanks!

    (I know the placeholders need two ['s and two ]'s... just took them out so I could post)
      I LOVE MODX! | greyskymedia.com
      • 4172
      • 5,888 Posts
      where does this
      [[+seminar_cost_member_price_early]]
      come from?

      I think you will need a formit-hook, with some logic to get the price, depending on the selected level.

      or put the price to the value with an separator between or as json, which can be exploded by a formit-hook.
        -------------------------------

        you can buy me a beer, if you like MIGX

        http://webcmsolutions.de/migx.html

        Thanks!
        • 37246
        • 128 Posts
        that value is in the db... i was thinking a hook too, i was just hoping there'd be an easier to program way to get that value... just having a hard time
          I LOVE MODX! | greyskymedia.com
          • 37246
          • 128 Posts
          So, basically I need a hook that says: get the value of [+level], then, based on which was selected get the value of data-cost, then spit that back as a placeholder of, say, [+levelCost]

          yes?
            I LOVE MODX! | greyskymedia.com
            • 4172
            • 5,888 Posts
            yes, you can fill new placeholders in a hook with
            $hook->setValue('levelCost',$cost);


            http://rtfm.modx.com/display/ADDON/FormIt.Examples.Custom+Hook
              -------------------------------

              you can buy me a beer, if you like MIGX

              http://webcmsolutions.de/migx.html

              Thanks!
              • 37246
              • 128 Posts
              so my snippet would be:
              $cost = level; //create a placeholder "cost" by looking at "level" from the form
              $hook->setValue('levelCost',$cost); //turn the above into a hook
              return true; // fail if it's not true
              


              But how would i tell $cost to be the placeholder from the data-cost attribute??
                I LOVE MODX! | greyskymedia.com
              • Close. You don't want the cost on the front-end as users can change that. Do something like this:
                $levels = array(
                  'member' => 15,
                  'student' => 10,
                  'non-student' => 30,
                );
                
                $level = strtolower($hook->getValue('level'));
                if (isset($levels[$level]) && ($levels[$level] > 0)) {
                  $hook->setValue('levelCost', $levels[$level]);
                } else {
                  // either set a default value, or add an error
                  return false;
                }
                return true;
                  Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

                  Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.
                  • 37246
                  • 128 Posts
                  ooOOOooo fancy... but the value's of member, student and non-student change page to page... the form field values for [+seminar_cost_member_price_early] [+seminar_cost_non_member_price_early] [+seminar_cost_student_price_early] should pull from the db... thoughts?
                    I LOVE MODX! | greyskymedia.com
                    • 37246
                    • 128 Posts
                    Thanks to Mr.Perner and Mr. Hamstra I'm at least able to launch the site... I do still need to get things talking to the db properly though.

                    THANKS!
                      I LOVE MODX! | greyskymedia.com