21.05.13, 16:03
0 комментарий
  DLE Хаки

Навигация с помощью ← Ctrl- и Ctrl+ →

Хак навигации по страницам сайта, используя сочетания клавиш. Код скрипта выдран с Яндекса и интегрирован в Dle. Работает во всех браузерах.


Установка:
1. В файл шаблона main.tpl перед:

</head>


Добавить:
<script language="javascript" type="text/javascript">
document.onkeydown = NavigateThrough;
function NavigateThrough (event)
{
        if (!document.getElementById) return;

        if (window.event) event = window.event;

        if (event.ctrlKey)
        {
                var link = null;
                var href = null;
                switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
                {
                        case 0x25:
                                link = document.getElementById ('NextLink');
                                break;
                        case 0x27:
                                link = document.getElementById ('PrevLink');
                                break;
                }

                if (link && link.href) document.location = link.href;
                if (href) document.location = href;
        }
}
</script>



2. В engine/modules/show.short.php найти:
if( $config['allow_alt_url'] == "yes" ) {
                $next = $url_page . '/page/' . $next_page . '/';
                $tpl->set_block( "'[next-link](.*?)[/next-link]'si", "<a href="" . $next . "">1</a>" );
            } else {
                $next = $PHP_SELF . "?cstart=" . $next_page . "&amp;" . $user_query;
                $tpl->set_block( "'[next-link](.*?)[/next-link]'si", "<a href="" . $next . "">1</a>" );
            }


Заменить на:
if( $config['allow_alt_url'] == "yes" ) {
                $next = $url_page . '/page/' . $next_page . '/';
                $tpl->set_block( "'[next-link](.*?)[/next-link]'si", "<a id='PrevLink' href="" . $next . "">1</a>" );
            } else {
                $next = $PHP_SELF . "?cstart=" . $next_page . "&amp;" . $user_query;
                $tpl->set_block( "'[next-link](.*?)[/next-link]'si", "<a id='PrevLink' href="" . $next . "">1</a>" );
            }



Тут же найти:
if( $config['allow_alt_url'] == "yes" ) {
                $prev_page = $url_page . "/page/" . $prev . "/";
                $tpl->set_block( "'[prev-link](.*?)[/prev-link]'si", "<a href="" . $prev_page . "">1</a>" );
            } else {
                $prev_page = $PHP_SELF . "?cstart=" . $prev . "&amp;" . $user_query;
                $tpl->set_block( "'[prev-link](.*?)[/prev-link]'si", "<a href="" . $prev_page . "">1</a>" );
            }


Заменить на:
if( $config['allow_alt_url'] == "yes" ) {
                $prev_page = $url_page . "/page/" . $prev . "/";
                $tpl->set_block( "'[prev-link](.*?)[/prev-link]'si", "<a id='NextLink' href="" . $prev_page . "">1</a>" );
            } else {
                $prev_page = $PHP_SELF . "?cstart=" . $prev . "&amp;" . $user_query;
                $tpl->set_block( "'[prev-link](.*?)[/prev-link]'si", "<a id='NextLink' href="" . $prev_page . "">1</a>" );
            }


Готово!

Версия DLE: 9.x
Автор: tamerlanшаблоны для dle 11.2

Напишите своё мнение