Допустим термин имеет несколько родителей, и эти родители являются названиями рубрик,как сделать возможность голосования с разных рубрик, например пользователь зашел на страницу термина из одной рубрики и проголосовал, затем зашел на эту же страницу с другой и тоже проголосовал, но 2 раза голосовать из одной и той же рубрики нельзя...
Комментарии
Боюсь, что Вы хотите что-то нелогичное. Если У Вас одна нода в двух рубриках - то зачем за нее дважды голосовать? Как отображать голоса из разных рубрик? Что если пользователь зайдет на ноду не через страницу рубрики, а, например, через поиск? Как потом подсчитывать голоса?
Советую продумать структуру заново.
да вот такое задание К примеру существуют рубрики заведений и тд существуют обычные страницы заведений которые находятся в одной рубрике и платные которые находятся в разных, за платные можно проголосовать из нескольких рубрик несколько раз а если зайти на страницу не с рубрики то есть рубрика которая назначалась по умолчанию и тогда считается что зашли с нее, я пыталась объяснить начальству нелогичность задания, но раз так хочется ему, то приходится находит способы как это сделать.
они просто должны суммироваться по пользователю
А почему не сделать несколько голосовалок? По одной на каждый из разделов, в котором находится материал. И пусть пользователи сразу нормально голосуют, а не ходят на страницу по 100 раз.
Чет не поняла(((
Что непонятного-то? На странице с нодой несколько голосовалок. Отображаются сразу. В итоге суммируются.
вот кусок ТЗ
При входе в субкатегории у каждого пользователя появляется по 15 звезд для каждой субкатегории. Звезды разделены в пять групп по 5,4,3,2 и 1 звезде. Пользователь может отдать любому заведению 5,4,3,2 или 1 звезду. Пользователь не может отдать одному заведению больше одной группы звезд.
Одна станица может находиться в очень многих субкатегориях поэтому ваш способ не подходит
тогда можно подумать над какой схемой:
нода-заведение <> промежуточная нода для голосования <> термин-раздел
т.е. на каждый раздел, в котором состоит нода, создается промежуточная нода, однозначно привязанная к разделу. При отображении промежуточной ноды, подтягивайте поля основной ноды, но голосуйте за промежуточную. По какой логике посчитать сумму голосов, думаю, догадаетесь