Drupal 7 - Пет звезди и потребителски точки

имам тип съдържание и възможност за влезли потребители да гласуват за него. има 5 различни петзвездни гласувания (категории) на възела. сега искам да добавя потребителски точки и исках да попитам дали е възможно, когато потребител гласува, да получава 1 точка за всеки глас на възел, така че 5 точки, ако гласува във всяка категория. той има възможност да промени вота по-късно, но тогава вече не би трябвало да получава точки. Възможно ли е това?

поздрави


person JOKER    schedule 24.03.2014    source източник


Отговори (1)


Въпреки че не изглежда, че има съществуващ модул 7.x или 8.x, който да постига това, има два начина, по които трябва да можете да постигнете целта си:

  • Напишете модул. API на потребителски точки е доста добре документиран и трябва да бъде възможно е да се създаде модул за увеличаване на броя на потребителските точки на потребителя, когато се промени поле с пет звезди. За да избегнете дублиране, имайте предвид, че това поле изглежда така, сякаш трябва да извърши премахването на дублирането, което търсите (ако приемем, че сте задали txn_id на някаква комбинация от текущия идентификатор на възел, идентификатор на поле и идентификатор на потребител:

'txn_id' => (int) Transaction ID of a current points record. If present an UPDATE occurs

  • Използване на правила. Модулът за потребителски точки се интегрира с правила, така че трябва да можете да изпълните своя случай на използване на потребителски точки, без да пишете код. Според бележките за интегриране на правилата за потребителски точки, можете да сравните текущите потребителски точки с броя точки преди транзакцията:

Compare Userpoints before the transaction - This condition is used to compare the amount of userpoints the user had before the userpoints was added to/deducted from the user against a specified value. - The 'Amount to compare' value is checked as >= (greater than or equal to) and the Negate checkbox will change the condition to < (less than) as it will be any value other than >=. If you would like to get an exact value, say 1, you can add two of the condition to use >= and < to specify one number. Simple math stuff here =)

Надявам се това да помогне. Кажи ми как върви!

person drnugent    schedule 25.03.2014
comment
здравейте, благодаря за отговора, познанията ми по PHP са много малки, така че ще се опитам да го направя с правила. - person JOKER; 26.03.2014