Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как можно прописать адрес следующим образом.

Как можно прописать адрес следующим образом.


     19.04.2013    Шаблоны (TPL), Общие вопросы по PHP    2899

вопрос
Добрый день, есть данный код
$tpl->load_template( 'login_page.tpl' );


когда я прописываю так
$tpl->load_template( '{THEME}/login_page.tpl' );


не работает или это возможно сделать другим способом.

Ответил: rashpil


{THEME} - Это тег, который используется в шаблонах. А вы редактируете php, где в принципе такие теги работать не могут, они там создаются :)

Параметром в функцию load_template передаётся имя файла, относительно папки текущего шаблона (Выбранного в админке шаблоном по умолчанию или включенным шаблоном для пользователя, или вообще для шаблона мобильной версии, если пользователь на сайте со смартфона или планшета.

Т.е. такая конструкция:
$tpl->load_template( 'login_page.tpl' );


Вызовет файл, который имеет примерно такой путь: Папка с движком/templates/Default/login_page.tpl

Если вы хотите уложить файл в папку внутри папки с шаблоном подключенным, чтобы его путь был примерно такой: Папка с движком/templates/Default/NewDir/login_page.tpl, то нужно использовать следующую конструкцию:

$tpl->load_template( 'NewDir/login_page.tpl' );

4 комментария

FastFud
Юзер

FastFud - 19 апреля 2013 20:15 -

Благодарю.
Еще 1 вопрос помогите сделать ajax окно что да как.
Мне нужно чтобы Ajax окно открылась после успешной авторизации с каким то текстом и ссылкой на обратный материал с которого пользователь был перенаправлен Авторизоваться.

<?php

    if( ! defined( 'DATALIFEENGINE' ) ) {
        die( "Hacking attempt!" );
    }
    if( $is_logged ) {
        header( "Location: {$_SERVER['PHP_SELF']}" );
    } else {
        $tpl->load_template( 'login_page.tpl' );
        $tpl->set( '{registration-link}', $PHP_SELF . "?do=register" );
        $tpl->set( '{lostpassword-link}', $PHP_SELF . "?do=lostpassword" );
        $tpl->set( '{login-method}', $config['auth_metod'] ? "E-Mail:" : $lang['login_metod'] );
        $tpl->copy_template = "<form  method=\"post\" action=\"\">\n" . $tpl->copy_template . "
<input name=\"login\" type=\"hidden\" id=\"login\" value=\"submit\">
</form>";
        $tpl->compile( 'content' );
        $tpl->clear();
    };
?>

это новый код авторизации по другому адресу


Установка:
1. Залить файл login.php в директорию /engine/modules/.
Залить файл login_page.tpl в директорию /templates/{THEME}/.
2. Открыть /language/Russian/website.lng
После (6 строка)

'wysiwyg_language'        =>  "ru",


добавить:

'title_login'        =>    "Авторизация на сайте",


3. Открыть /engine/engine.php

    case "feedback" :
        include ENGINE_DIR . '/modules/feedback.php';
        break;
    


вставить:

    case "login" :
        include ENGINE_DIR . '/modules/login.php';
        break;
    

elseif ($do == 'feedback') $nam_e = $lang['title_feed'];


добавить:

elseif ($do == 'login') $nam_e = $lang['title_login'];


4. Открыть /engine/init.php
После (371 строка)

$tpl->set( '{lostpassword-link}', $PHP_SELF . "?do=lostpassword" );


вставить:

$tpl->set( '{loginpage-link}', $PHP_SELF . "?do=login" );


FastFud
Юзер

FastFud - 19 апреля 2013 21:08 -

Попробовал так

<?php

    if( ! defined( 'DATALIFEENGINE' ) ) {
        die( "Hacking attempt!" );
    }
    if( $is_logged ) {
        header( "Location: {$_SERVER['PHP_SELF']}" );
    } else {
        $tpl->load_template( 'login_page.tpl' );
        $tpl->set( '{registration-link}', $PHP_SELF . "?do=register" );
        $tpl->set( '{lostpassword-link}', $PHP_SELF . "?do=lostpassword" );
        $tpl->set( '{login-method}', $config['auth_metod'] ? "E-Mail:" : $lang['login_metod'] );
        $tpl->copy_template = "<form  method=\"post\" action=\"\">\n" . $tpl->copy_template . "
<input name=\"login\" type=\"hidden\" id=\"login\" value=\"submit\">
</form>";
        $tpl->compile( 'content' );
        $tpl->clear();
    };
echo "<div>В течении 10 секунд вы будите перенаправлены назад</div><meta http-equiv=\"refresh\" content=\"10;url=" . $_SERVER['HTTP_REFERER'] . "\">";
?>

только не работает

rashpil
Эксперт

rashpil - 19 апреля 2013 21:20 -

Попробуй так http://pastebin.com/05dvbbZe

FastFud
Юзер

FastFud - 19 апреля 2013 21:36 -

Спс что попробовали помочь , Но не получилось как я хотел.

Все равно огромное вам человеческое спасибо.

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

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

наверх