Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Статическая страница на весь экран

Статическая страница на весь экран


     18.04.2014    Общие вопросы по PHP    1813

вопрос
Всем привет. Нужно реализовать статическую страницу на весь экран. Как показано ниже.

Статическая страница на весь экран


В данный момент стат. страница выводится в index.php с помощью этого условия
if($dle_module == 'static' && $static_result['name'] == 'map') {
    $tpl->load_template('map.tpl');
} else {
    $tpl->load_template('main.tpl');
}

Идет простая подмена шаблона. И как бы это условие всегда проверяется, да еще и на главной. А если у меня их будет не 1, а 100? Для каждой странице отдельное условие? Не камильфо.

А нужно вывод страницы реализовать по аналогии с выводом версии для печати, но при этом использовать генерацию стандартного шаблона.
Создал в таблице dle_static поле с названием full_size
Статическая страница на весь экран

Соответственно сделал при создании и редактировании стат.страницы checkbox
[/code]
Ну и пошел смотреть где же определяется шаблон в стат. страницах
Никак не могу понять, как нужно прописать, чтобы моя проблема заработала
[spoiler][code]if( $static_result['allow_template'] or $view_template == "print" ) {
            
            if( $view_template == "print" ) $tpl->load_template( 'static_print.tpl' );
            elseif( $static_result['tpl'] != '' ) $tpl->load_template( $static_result['tpl'] . '.tpl' );
            else $tpl->load_template( 'static.tpl' );
            
            if( strpos( $tpl->copy_template, "{custom" ) !== false ) {
                
                $tpl->copy_template = preg_replace_callback ( "#\\{custom(.+?)\\}#i", "custom_print", $tpl->copy_template );
            
            }
            
            if( ! $news_page ) $news_page = 1;
            
            if( $view_template == "print" ) {
                
                $template = str_replace( "{PAGEBREAK}", "", $template );
                $template = str_replace( "{pages}", "", $template );
                $template = preg_replace( "'\[PAGE=(.*?)\](.*?)\[/PAGE\]'si", "", $template );
            
            } else {
                
                $news_seiten = explode( "{PAGEBREAK}", $template );
                $anzahl_seiten = count( $news_seiten );
                
                if( $news_page  $anzahl_seiten ) {
                    $news_page = 1;
                }
                
                $template = $news_seiten[$news_page - 1];
                
                $template = preg_replace( '#(\A[\s]*]*>[\s]*|]*>[\s]*\Z)#is', '', $template ); // remove  at end of string
                

                $news_seiten = "";
                unset( $news_seiten );
                
                if( $anzahl_seiten > 1 ) {
                    
                    if( $news_page < $anzahl_seiten ) {
                        $pages = $news_page + 1;
                        if( $config['allow_alt_url'] == "yes" ) {
                            $nextpage = " | " . $lang['news_next'] . "";
                        } else {
                            $nextpage = " | " . $lang['news_next'] . "";
                        }
                    }
                    
                    if( $news_page > 1 ) {
                        $pages = $news_page - 1;
                        if( $config['allow_alt_url'] == "yes" ) {
                            $prevpage = "" . $lang['news_prev'] . " | ";
                        } else {
                            $prevpage = "" . $lang['news_prev'] . " | ";
                        }
                    }
                    
                    $tpl->set( '{pages}', $prevpage . $lang['news_site'] . " " . $news_page . $lang['news_iz'] . $anzahl_seiten . $nextpage );
                    
                    if( $config['allow_alt_url'] == "yes" ) {
                        $replacepage = "\\2";
                    } else {
                        $replacepage = "\\2";
                    }
                    
                    $template = preg_replace( "'\[PAGE=(.*?)\](.*?)\[/PAGE\]'si", $replacepage, $template );
                
                } else {
                    
                    $tpl->set( '{pages}', '' );
                    $template = preg_replace( "'\[PAGE=(.*?)\](.*?)\[/PAGE\]'si", "", $template );
                
                }
            
            }
            
            if( $config['allow_alt_url'] == "yes" ) $print_link = $config['http_home_url'] . "print:" . $static_result['name'] . ".html";
            else $print_link = $config['http_home_url'] . "engine/print.php?do=static&amp;page=" . $static_result['name'];

            if( @date( "Ymd", $static_result['date'] ) == date( "Ymd", $_TIME ) ) {
                
                $tpl->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $static_result['date'] ) );
            
            } elseif( @date( "Ymd", $static_result['date'] ) == date( "Ymd", ($_TIME - 86400) ) ) {
                
                $tpl->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $static_result['date'] ) );
            
            } else {
                
                $tpl->set( '{date}', langdate( $config['timestamp_active'], $static_result['date'] ) );
            
            }

            $news_date = $static_result['date'];    
            $tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );
            

            $tpl->set( '{description}', $static_descr );
            $tpl->set( '{static}', $template );
            $tpl->set( '{views}', $static_result['views'] );

            if ($config['allow_search_print']) {

                $tpl->set( '[print-link]', "" );
                $tpl->set( '[/print-link]', "" );

            } else {

                $tpl->set( '[print-link]', "" );
                $tpl->set( '[/print-link]', "" );

            }
            
            if( $_GET['page'] == "dle-rules-page" ) if( $do != "register" ) {
                
                $tpl->set( '{ACCEPT-DECLINE}', "" );
            
            } else {
                
                $tpl->set( '{ACCEPT-DECLINE}', "&nbsp;&nbsp;&nbsp;" );
            
            }
            
            $tpl->compile( 'content' );

            $tpl->clear();
        
        } else
            $tpl->result['content'] = $template;



Весь код module/static.php

Ответа пока нет


Комментарии пользователей (1)

teleoperator27
10

122 | 34

teleoperator27 - 20 апреля 2014 12:02 - Юзер

круто. я бы сделал так: 1. для этой сттатической страницы создал бы свой шаблон на всю ширину. 2, В майн.тпл использовал бы два тега: [static=страница] и [/not-static=страница] и не зачем огород с php городить, все на уровне шаблонов делается

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

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