Хак [Хак] Экстра навигация с ЧПУ и поддержкой ajax

Тема в разделе "DLE", создана пользователем yavasilek, 16 май 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.178
    Симпатии:
    423
    1) Версии дле 7.5 - на другую просто не ставил
    2) Нулл, лицухи просто нет
    3) Хак "Экстра навигация с ЧПУ и поддержкой ajax". Он представляет собой навигацию в виде списка и имеет поддержку ЧПУ и ajax, смотрите скриншот(в прикрепленном файле).
    Установка:
    1. Открываем engine\modules\show.full.php
    Находим:
    Код:
    $tpl->set( '{short-story}', stripslashes( $row['short_story'] ) );
    Вставляем ниже:
    Код:
    //-------------- НАВИГАЦИЯ --------//
    
        if( $config['ajax'] ) {
            $newnavig = "<select onchange=\"DlePage('newsid='+this.value); return false;\">";
        }
        
        else {
            if ( $config['allow_alt_url'] == "yes" ) {
                $newnavig = "<select onchange=\"javascript:window.location='".$config['http_home_url'] . "'+this.value+'.html'\">";
            }
            else {
                $newnavig = "<select onchange=\"javascript:window.location='$PHP_SELF?newsid='+this.value;\">";
            }
        }
    
        $db->query ("SELECT id, title, date, flag, alt_name FROM " . PREFIX . "_post WHERE category=" . $row['category'] . " AND approve='1' ORDER BY `date` DESC LIMIT 0, 50");
        while ( $nav_row = $db->get_row() ) {
            $nav_row['date'] = strtotime( $nav_row['date'] );
            $row['category'] = intval( $row['category'] );
            $nav_selected = ( $nav_row['id'] == $row['id'] ) ? "selected disabled" : "";
            
            if ( $config['allow_alt_url'] == "yes" && ! $config['ajax']) {
            
                if( $nav_row['flag'] and $config['seo_type'] ) {
            
                    if( $row['category'] and $config['seo_type'] == 2 ) {
                        $newnavig .= "<option value = \"" . get_url( $row['category'] ) . "/" . $nav_row['id'] . "-" . $nav_row['alt_name'] . "\"" . $nav_selected . ">" . $nav_row['title'] . "</option>";
                    }
                    else {
                        $newnavig .= "<option value = \"" . $nav_row['id'] . "-" . $nav_row['alt_name'] . "\"" . $nav_selected . ">" . $nav_row['title'] . "</option>";
                    }
                }
                else {
                    $newnavig .= "<option value = \"" . date( 'Y/m/d/', $nav_row['date'] ) . $nav_row['alt_name'] . "\"" . $nav_selected . ">" . $nav_row['title'] . "</option>";
                }
            }
            else{
                $newnavig .= "<option value = \"" . $nav_row['id'] . "\"" . $nav_selected . ">" . $nav_row['title'] . "</option>";
            }
        }
    
        $newnavig .= "</select>";
    
        $tpl->set( '{navigations}', $newnavig );
    
    //-------------- НАВИГАЦИЯ --------//

    2. Открываем шаблон "Статья целиком | fullstory.tpl" и в нужном месте вставляем {navigations}.
     

    Вложения:

    JESUS, Silver_Web и Antares нравится это.
Статус темы:
Закрыта.