Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как засчитать просмотр страницы через модальное окно?

Как засчитать просмотр страницы через модальное окно?


     21.04.2014    просмотр, модальное окно    jQuery, Общие вопросы по PHP, Хаки    2870

вопрос
Добрый день!
Подскажите пожалуйста, как организовать зачисление просмотра страницы в краткой новости открыв в модальном окне информацию с полной новости? Есть наглядный пример сайт Rutube.ru
При нажатии на выбранную новость открывается модальное окно с видео и тут сразу же данной новости присваивается +1 к просмотру. В строке появляется полная ссылка новости.
Вот картинка для наглядности:
Как засчитать просмотр страницы через модальное окно?

Я использую плагин ArcticModal но вот не пойму, как сделать чтобы зачислился просмотр и в строке появлялась ссылка полной новости.
Вот что у меня получилось:
Как засчитать просмотр страницы через модальное окно?

Помогите пожалуйста!

Ответил: DreamFix


Чтобы изменить текущую ссылку без перезагрузки страницы, можно использовать такой метод:

var stateParameters = { foo: "bar" };
history.pushState(stateParameters, "", "/video/4op3opo4o5opoi567oi693209892");

11 комментариев

monach
Юзер

monach - 22 апреля 2014 11:34 -

Ребята хоть бы написали что-то.Это уже 2-й мой вопрос на который не реагируете.

rocksmart
Юзер

rocksmart - 22 апреля 2014 15:08 -

дай html код модального окна

dimavdv
Юзер

dimavdv - 22 апреля 2014 15:29 -

Мне тоже очень интересен ответ на данный вопрос)

monach
Юзер

monach - 22 апреля 2014 15:45 -

Вот функция вызова

<script>
$('#popupwindow{news-id}').click(function() {
$('#popupcontentwindow{news-id}').arcticmodal({});
});
</script>

HTML код:

<span id="#popupwindow{news-id}" onclick="$('#popupcontentwindow{news-id}').arcticmodal()" title="Смотреть сейчас"></span>
      <div style="display:none;">
       <div class="popupwindow-modal" id="popupcontentwindow{news-id}">
        <div class="arcticmodal-close"></div>
         <iframe src="http://vk.com/video_ext.php?oid[xfvalue_video]" width="720" height="400" frameborder="0"></iframe>
          <article>
            [xfgiven_treiler]<strong class="title-strong">"[xfvalue_treiler]"</strong>[/xfgiven_treiler]  <a href="{full-link}" class="popupfull-link">{title}</a>
             <div class="info-use">
              <i><span class="views" title="Всего просмотров">{views}</span></i>
              <i><span class="comments" title="Всего комментариев">{comments-num}</span></i>
             [full-link] перейти на страницу видео[/full-link]
            </div>
         </article>
        </div>
       </div>
rocksmart,

monach
Юзер

monach - 22 апреля 2014 15:59 -

Я нашел решение как выводить полную новость через ajax.Прикрутил как бы все работает нормально.Но вот тоже,как сделать чтобы когда окно открылось засчитался просмотр и в строке появлялась полная ссылка новости и при закрытии окна исчезала.
Возможно с этим кодом будет проще разобраться:
$(document).ready(function(){
    $('[data-post]').click(function(){
        ShowLoading('Загрузка публикации');
        $.ajax({
            type:'POST',
            url:dle_root+'engine/ajax/fullstory.php',
            data:{id:$(this).data('post'),template:$(this).data('tpl'),time:$(this).data('debug')},
            dataType:'xml',
            success:function(xml){
                HideLoading();
                $('#af,#af_layer').remove();
                $(xml).find('result').each(
                    function(){
                        $('body').append("<div id=\"af\"></div><div id=\"af_layer\" onclick=\"$('#af').dialog('close');$('#af,#af_layer').remove();\"></div>");
                        $('#af').dialog({
                            title:$(this).find('title').text(),
                            autoOpen:true,
                            draggable:true,
                            zIndex:900,
                            width:666,
                            height:500,
                            buttons:[{
                                text:'Закрыть',click:function(){
                                    $('#af,#af_layer').remove();
                                    $(this).dialog("close");
                                }
                            }],
                            close:function(event,ui){
                                $('#af,#af_layer').remove();
                            }
                        });
                        $('.ui-dialog-buttonset').html('<div class="af_rate">'+$(this).find('rate').text()+'</div><div class="af_debug">'+$(this).find('time').text()+'</div><a href="'+$(this).find('link').text()+'" class="af_more">Подробнее</a>');
                        $('.ui-dialog').css({position:'fixed',top:$(window).height()/1.6-330});
                        $('#af').html($(this).find('full').text());
                    }
                );
            },
            error:function(){
                ShowLoading('Ошибка AJAX запроса');
                setTimeout(HideLoading,3000);
            }
        }); return false;
    });
});

monach
Юзер

monach - 22 апреля 2014 20:33 -

Ребята есть кто помочь может?

monach
Юзер

monach - 23 апреля 2014 12:34 -

Всем привет! Уважаемые друзья!Прошу вас от всей души помогите пожалуйста решить задачку.

monach
Юзер

monach - 24 апреля 2014 13:48 -

Друзья есть кто может помочь?

monach
Юзер

monach - 2 мая 2014 16:01 -

Всем привет! Ребята есть кто может по этому вопросу помочь?

monach
Юзер

monach - 7 мая 2014 13:26 -

Привет всем!Есть кто может что-то посоветовать по этому поводу?

vitnet
Эксперт

vitnet - 7 мая 2014 13:53 -

В файле engine/ajax/fullstory.php нужно добавить SQL запрос
if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('ID вашей новости')" );
else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='ID вашей новости'" );

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх