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

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


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

вопрос
Добрый день, есть данный код
$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
50

1599 | 588

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
50

1599 | 588

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
33

232 | 182

rashpil - 19 апреля 2013 21:20 - Эксперт

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

FastFud
50

1599 | 588

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

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

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

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

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