Страница 1 из 1

Якоря для приложения на DLE

Добавлено: 07 июн 2012, 08:42
Andy80
Здравствуйте. Есть ли у кого-нибудь готовое решение по якорям на приложение созданное на DLE? Если есть, поделитесь решением. У меня никак не получается. И если такового нет, то знающие люди, можно как-нибудь по-полочкам разложить (я не особо силен в java). Заранее спасибо!

Re: Якоря для приложения на DLE

Добавлено: 08 июн 2012, 21:08
Александр
Для DLE не делал.
Смотри http://flapps.ru/forum/topic2144.html
Чтобы сделать, надо понимать где в DLE формируются ссылки. Я конкретно не могу сказать.

Re: Якоря для приложения на DLE

Добавлено: 08 июн 2012, 21:35
Andy80
Александр писал(а):Для DLE не делал.
Смотри http://flapps.ru/forum/topic2144.html
Чтобы сделать, надо понимать где в DLE формируются ссылки. Я конкретно не могу сказать.
Ну, если обычным скриптом передать ссылку, то скажем
будет выглядеть так:

Код: Выделить всё

<script>            var today=new Date()            document.write('<textarea readOnly style="width:100%; height:29px; font-size:11px; border:1px solid #E0E0E0;" onfocus="this.select();">'+window.location+'</textarea>')            </script> 
Это код ссылки для копирования.

Re: Якоря для приложения на DLE

Добавлено: 09 июн 2012, 18:04
Александр
Andy80
Тебе надо сформировать ссылки с хэшем (значение после #)

Код: Выделить всё

http://flapps.ru/page-link#hash
В файле обработки страницы прочитать этот хэш и загрузить/переадресовать на нужную страницу.

Re: Якоря для приложения на DLE

Добавлено: 11 июн 2012, 18:39
Andy80
Ссылки формируются насколько я понял в файле engine.php
Или вот еще функция:

Код: Выделить всё

function get_url($id) {        global $cat_info;        if( ! $id ) return;        $parent_id = $cat_info[$id]['parentid'];        $url = $cat_info[$id]['alt_name'];        while ( $parent_id ) {                $url = $cat_info[$parent_id]['alt_name'] . "/" . $url;                $parent_id = $cat_info[$parent_id]['parentid'];                if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;        }        return $url;}
.
Где что переделать?

Re: Якоря для приложения на DLE

Добавлено: 13 июн 2012, 20:29
Александр
Andy80
Ну передай какой-то параметра в хэше, по которому сможешь идентифицировать какую страницу отображать. Может хватит ID страницы, а может надо полную ссылку...

Re: Якоря для приложения на DLE

Добавлено: 14 июн 2012, 12:36
Andy80
Поставил Этот код

Код: Выделить всё

<script type="text/javascript">VK.addCallback('onLocationChanged', onLocationChanged); function onLocationChanged(location) {    if (location) {        window.location.href='http://site.ru/' + location + '';    }}</script>
теперь если переходить по адресу: http://vk.com/app123456#/url новости.html - то переходит к нужной новости, но возвращаясь на главную ссылка так и остается вида: http://vk.com/app123456#/url новости.html. Как сделать, чтобы менялась ссылка при переходах?

Re: Якоря для приложения на DLE

Добавлено: 15 июн 2012, 21:18
Александр
setLocation - Изменяет хеш текущего адреса страницы, который записывается в адресной строке браузера после символа #. Используется для поддержки кнопок "назад" и "вперед" в браузере. Параметр fireEvent определяет - нужно ли вызывать событие onLocationChanged сразу после запуска метода.
http://vk.com/developers.php?oid=-1&p=Javascript_API