Drupal - я пытаюсь обновить вид после голосования с модулем Fivestar - PullRequest
1 голос
/ 04 декабря 2010

У меня есть сайт с голосованием на узле первой страницы, и мне нужно обновлять представление на том же узле после каждого голосования. В настоящее время я использую следующий код в моей page.tpl.php

<script type="text/javascript">
 function fivestarResult(voteResult) {
      $('div#fivestar-summary-'+voteResult.vote.id).html(voteResult.result.summary);
      window.location = "http://www.mydomain.com/";
 };
</script>

Есть ли способ напрямую обновить представление вместо обновления всей страницы? Я не очень хорош в javascript, поэтому я немного растерялся.

Ответы [ 4 ]

0 голосов
/ 05 июня 2012

Я потратил бесчисленное количество часов на отладку представления, только чтобы понять, что у меня включено кэширование и я смотрю на старые результаты. Кэши для разных групп пользователей также являются отдельными. Поэтому вам может потребоваться вручную очистить кеш, чтобы обновить его, что может быть проблемой для Ajax.

0 голосов
/ 06 декабря 2010

Спасибо, Рабе,

Звучит так, будто должно работать.Я пробовал это несколькими разными способами, но не смог добраться до ...

Есть ли что-то очевидное, чего я мог не заметить в этом коде (в page.tpl.php)?

<script type="text/javascript">
    function fivestarResult(voteResult) {
    $('div#fivestar-summary-'+voteResult.vote.id).html(voteResult.result.summary);
    <?php
        $name = "comparison_view";
        print views_embed_view($name, $display_id = 'default');
    ?>
    };
</script>

Большое спасибо за помощь

0 голосов
/ 06 декабря 2010

Как и многие другие вещи в Drupal, для этого уже может быть написан модуль. Обновление просмотров Ajax звучит очень многообещающе!

0 голосов
/ 05 декабря 2010

Идея, которую я могу сделать в такой ситуации, заключается в том, чтобы Ajax снова вызвал представление и отобразил его внутри страницы через JQuery при событии click.

возьмите этот пример, я думаю, это прояснит больше

Drupal 6: Render Views 2 данных в файле страницы tpl

...