It seems like premiums only work on the minimum amount, without regard for other settings. Is there a way to get around this? I see the EFF has this option, but their contribution page seems not to be generated by CiviCRM anymore.
I just came across this question and we have solved a similar problem a few years ago, i.e. we want to count the total value of recurring contributions (e.g. a $10 recurring should count as much as a $120 one time).
templates/CRM/Contribute/Form/Contribution/PremiumBlock.tpl (copied in a custom extension).
Simply adding the following to the function
get_amount do the trick :
var isrecur = $('.is_recur_radio-section input:checked').val(); if (isrecur == 1) amount = amount * 12;
I suppose it's possible to add some more complex logic.
The fact that we need to update a core template file is not ideal for maintenance but it's a rather small change so it's easy to keep track of it and re-apply the change when we upgrade CiviCRM.
The solution above is not enough: there is validation in
CRM/Contribute/Form/Contribution/Main.php that require adjustment.