Модифицированное отображение страницы персональных сообщений

Модифицированное отображение страницы персональных сообщений


Здравствуйте уважаемые так сказать товарищи по оружию :) Недавно задумался об изменении вида и структуры персональных сообщений. Недавно пришла идея сделать открытие страницы персональных сообщений в новом окне, без блоков, притом чтобы окно это было определённых размеров.
Ну и чтобы это окно выводилось при нажатии на кнопку "Прочитать" при уведомление о новом сообщении.
Расскажу вам как добиться этого :)
1. Нужно отключить отображение колонок и логотипа на странице персональных сообщений. Делаем это стандартными средствами DLE, ибо его создателями был сделан волшебный тег [aviable]

Открываем файл: templates/ИМя_Вашего_Шаблона/main.tpl
После:
{AJAX}

Вставляем:
[not-aviable=pm]

А перед :
{info}
{content}

Вставляем закрытие тега
[/not-aviable]
тем самым мы пока отключили отображение логотипа, левой колонки и прочей ерунды. Дальше нужно отключить вторую колонку и падвал.
Для этого после тега
{content}
вновь вставляем
[not-aviable=pm]
,
а уже перед тегами:
</body>
</html>

Вставляем
[/not-aviable]
.

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

2. Открываем файл login.tpl (Для тех кто не вкурсе, он находится в той же папке что и main.tpl)

Находим:
<a href="{$link_pm}">ПС ({$member_id['pm_unread']} | {$member_id['pm_all']})</a>

И заменяем это на:
<a href="javascript:void(0);" onclick="javascript:window.open('{$link_pm}', '_blank', 'Toolbar=0, Scrollbars=0, Resizable=0, Width=560, resize=no, Height=350'); return false;">ПС ({$member_id['pm_unread']} | {$member_id['pm_all']})</a>


Где Width=560 это значение ширины, а Height=350 в свою очередь означает высоту.

3. Теперь нужно заставить открываться это окно из уведомления о новом сообщении и сделаем мы это следующим образом:
Открыть файл engine/modules/pm_alert.php

В нём ищем запись:
<a href="{$PHP_SELF}?do=pm">{$lang['pm_aread']}</a>

Заменяем её на:
<a href="javascript:void(0);" onclick="javascript:window.open('{$PHP_SELF}?do=pm', '_blank', 'Toolbar=0, Scrollbars=0, Resizable=0, Width=560, resize=no, Height=350'); return false;">{$lang['pm_aread']}</a>


Хак этот неимеет особого смысла и большой роли в жизни сайта не играет, так что тех кому он не пришёлся по душе, прошу сильно не ругаться :) Ибо делал я его для себя, и выложил преследуя исключительно спортивный интерес :)
Другие новости по теме:

Категория: Хаки ----- Просмотров: 1855 ----- Комментариев: 6

Вернуться

  • Группа: Модератор +
  • ICQ: --
  • Регистрация: 5.03.2010
  • Комментариев: 191
  • Публикаций: 14
^
По идеи, зря... Должно блочится антибаннерами, KIS 2009/2010 в частности.

--------------------
  • Группа: User
  • ICQ: --
  • Регистрация: 18.08.2009
  • Комментариев: 4
  • Публикаций: 0
^
Антибаннер не должен блочить. У него же определенная база блокируемых баннеров и т.п.
Идея отличная, попробуем...
  • Группа: Модератор +
  • ICQ: --
  • Регистрация: 5.03.2010
  • Комментариев: 191
  • Публикаций: 14
^
Эм, не только... Ещё всплывающие окна блочатся той же оперой по умолчанию... Надо тестировать на совместимость с KIS'ом и Oper'ой...
Вечером попробую, потом отпишусь...

--------------------
  • rashpil

  • 17 апреля 2010 17:52
  • Группа: User
  • ICQ: --
  • Регистрация: 24.11.2009
  • Комментариев: 26
  • Публикаций: 2
^
Горбушка, Я сам использую KIS и в том числе антибаннер встроенный в систему, и ничего не блокировалось. Модуль Оперы "Антибаннер" не использовал, но думаю что и с оперой будет всё впорядке
  • Группа: Модератор +
  • ICQ: --
  • Регистрация: 5.03.2010
  • Комментариев: 191
  • Публикаций: 14
^
rashpil, сейчас поставил, старая версия оперы спросила открывать/не открывать, но в 10-ке проблем нету. KIS тоже съел winked Просто я с настороженностью отношусь к всплывающим окнам...

Ну что могу сказать? Респект и уважуха!

--------------------
  • hayk

  • 5 декабря 2010 22:29
  • Группа: User
  • ICQ: --
  • Регистрация: 25.08.2008
  • Комментариев: 37
  • Публикаций: 0
^
а как сделаь ответы на ПС ajax окне в ДЛЕ 9?