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

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


     17.08.2011    Общие вопросы по вёрстке, jQuery    6050

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

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

{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
192

1659 | 1292

nowheremany - 17 августа 2011 13:54 - Эксперт

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

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

hayk
7 | 8

hayk - 17 августа 2011 16:06 - Юзер

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

ПафНутиЙ,

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

nowheremany
192

1659 | 1292

nowheremany - 17 августа 2011 19:03 - Эксперт

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

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

ПафНутиЙ
1064

3394 | 2433

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

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

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

hayk
7 | 8

hayk - 17 августа 2011 22:40 - Юзер

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

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

Heon
6

87 | 84

Heon - 17 августа 2011 17:32 - Юзер

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

m00nster
6 | 6

m00nster - 28 августа 2011 17:24 - Юзер

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

ПафНутиЙ
1064

3394 | 2433

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

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

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

m00nster
6 | 6

m00nster - 28 августа 2011 17:32 - Юзер

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

spot
17 | 5

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
17 | 5

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

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

Xactip
28 | 1

Xactip - 5 июня 2012 03:19 - Юзер

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

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

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