Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Шаблон info.tpl в модальном окне

Шаблон info.tpl в модальном окне


     17.08.2011    jquery, модальное окно    Общие вопросы по вёрстке, jQuery    10177

вопрос
Всем привет,

Ищу такой хак, может у кого нибуд есть,

{info} тег на jQuery Modal Message и Modal Confirmation, те. что бы в место main.tpl показывало все ошибки и инфо в модалних окнах как на демо показывано здесь

п.с. там просто не красиво сделано, то что кажди раз когда просматриваеш провиль видает ошыбку, что нету новостей ожидающих модерации ... если снять толко это, хак класс))

Ответил: ПафНутиЙ


Здесь модальное окно появляется везде, кроме userinfo.
Делается это несложно:
Примерный код шаблона info.tpl
[aviable=userinfo]
<div><h2>{title}</h2>
{error}
</div>
[/aviable]
[not-aviable=userinfo]

<div id="dle-info" [aviable=addnews|register|pm|stats|feedback]class="welldone"[/aviable] title="{title}" style="display:none;">
<h2>{title}</h2>
<p>{error}</p>
</div>
[/not-aviable]

Где класс welldone - отвечает за показ картинки с галочкой, а не с ошибкой 404, и как видно применяется этот класс только для страниц регистрации, добавления новостей, ПМ, статистики и обратной связи, возможно я чтото упустил, в процессе использования ещё добавлю.

Примерный код CSS:
#dle-info {
    background: url(../images/404.png) no-repeat 0 10px;
    min-height: 127px;
    }
    #dle-info.welldone {background: url(../images/welldone.png) no-repeat 0 10px;}
    #dle-info h2 {padding-left: 175px; font: normal 26px/46px "Century Gothic", serif; }
    #dle-info p  {padding-left: 175px; font: normal 14px/30px Tahoma, sans-serif; }


Код js:
$(function(){
$('#dle-info').dialog({
    autoOpen: true,
    width: 800,
    buttons:{
        "Назад": function(){
            history.back();
        },"Закрыть": function(){
            $(this).dialog("close");
            $("#dle-info").remove();
        },"На главную":function(){
            location.href='/';
        }
    }
});
});


Автор всего этого дела: Sander

12 комментариев

nowheremany
Эксперт

nowheremany - 17 августа 2011 13:54 -

Вопрос будет в том, что делать с пустой страницей после закрытия модального окна

Благодарность принимаю тут Связь

hayk
Юзер

hayk - 17 августа 2011 16:06 -

Просто надо определять какие ошибки оставляют пустые страницы и сделать так что бы после клика на например "Закрыть" сделал редирект на главную страницу )))

ПафНутиЙ,

Спасибо большое!!!

nowheremany
Эксперт

nowheremany - 17 августа 2011 19:03 -

Я просто логику понять не могу ибо перезагружать страницу все равно придётся... Какая разница будет в всплывающем окне или на странице?

Благодарность принимаю тут Связь

ПафНутиЙ
Админ

ПафНутиЙ - 17 августа 2011 20:48 -

Очередная плюшка, не более :) но многим понравится smile

Каков вопрос - таков и ответ. Просто помните об этом.

hayk
Юзер

hayk - 17 августа 2011 22:40 -

1, Ну когда много чего есть на сайте, иногда становится труднее увидет сообщении oт info.tpl, а когда кричит о чем то он, значит надо обращать внимание на нем 1 очередь ТОЛЬКО! ну вот, мыр становится темним, а сообщения от info.tpl зеленими... и голос бассом!!! wink

2. Выд/интерфейс приближается на какои нибуд OS т.е что каждый день видем и кликаем в нашых ОS-ах, Windows, MacOS, etc... error messages, confirmation dialogs...

Heon
Юзер

Heon - 17 августа 2011 17:32 -

Как не странно но у меня не работает,нету всплывающего окна.

m00nster
Юзер

m00nster - 28 августа 2011 17:24 -

Так же не работает

ПафНутиЙ
Админ

ПафНутиЙ - 28 августа 2011 17:30 -

парсер немного покоробил код js, проверьте теперь.

Каков вопрос - таков и ответ. Просто помните об этом.

m00nster
Юзер

m00nster - 28 августа 2011 17:32 -

Оперативно,всё заработало)

spot
Юзер

spot - 17 октября 2011 16:28 -

Нашел функцию, отвечающую за вывод сообщений об ошибках. Может кто преобразовать ее для вывода в модальном окне?

function msgbox($title, $text) {

    global $tpl;
    $tpl_2 = new dle_template( );
    $tpl_2->dir = TEMPLATE_DIR;
    $tpl_2->load_template( 'info.tpl' );
    $tpl_2->set( '{error}', $text );
    $tpl_2->set( '{title}', $title );
    $tpl_2->compile( 'info' );
    $tpl_2->clear();
    $tpl->result['info'] .= $tpl_2->result['info'];

}

spot
Юзер

spot - 17 октября 2011 16:37 -

без перезагрузки страницы winked

Xactip
Юзер

Xactip - 5 июня 2012 03:19 -

да чего же не работает .. никак не пойму ..

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

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

наверх