Wmessage — оповещение пользователей и гостей сайта


Wmessage — предназначен для важных оповещение пользователей и гостей сайта. Немного подробностей под катом.

Вывод сообщения на примере шаблона Jupiter (light)
Wmessage plugin for LiveStreet

Настройка плагина Wmessage:


Текст сообщения добавляется в конфиге плагина /plugins/wmessage/config/config.php в $config['message']

После активации плагин необходимо добавить хук для вашего шаблона:

В header.tpl после
<section id="container" class="{hook run='container_class'}">
и перед
<div id="wrapper" class="container {hook run='wrapper_class'}">
необходимо вставить:

{hook run='wmessage'}

UPD v1.0.4:
Добавлена возможность выбора для каких пользователей выводить сообщение (зарегистрированных, незарегистрированных, всех).

Добавлена возможность выбора на каких actions выводить сообщение (index,page, people, blog...).

Плагин распространяется бесплатно.

UPD: Github.

Сказать спасибо и угостить мороженным можно через webmoney или ЯД:

Z142725074430
R286418405063
41001965782352

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

avatar
А как с адаптивностью (например на шаблон norma пойдет?)?
Можно ли использовать html или другие коды для вывода (баннеры там всякие, анимашки, картинки)?
avatar
А как с адаптивностью (например на шаблон norma пойдет?)?

Не тестировал, но по идеи должно быть нормально.

Можно ли использовать html или другие коды для вывода (баннеры там всякие, анимашки, картинки)?


Плагин не планировался как баннеро-крутила. Ссылку можно вставить.
avatar
Ты не подумай — функционал очень интересен, только малотобоюописан ))
avatar
Я описал то, что было целенаправленно задумано, но я не сказал, что фантазию к плагину не применять :)
avatar
А кому показывается (зарегистрированным/нет)? Как показывается (сколько раз, можно ли закрыть)?
avatar
Думал сделать в след. версиях, но пока ничего обещать не буду.
avatar
Сам в шаблоне просто пишешь условие и все. К примеру, если надо показывать только авторитзированым юзерам:
{if $oUserCurrent}
{hook run='wmessage'}
{/if}

Смысл понятен.
avatar
Может сразу в догонку как сделать так, чтоб показывалось только до первого закрытия в текущей сессии? ;)
avatar
Тут уже лучше сам плагин модернизировать. Сохранять там значения в $_SESSION, далее в шаблоне просто добавить пункт проверки.

Если вам надо, пишите, сделаю.
avatar
avatar
А у нас бесплатная и бедная на функционал альтернатива для студентов ;)
avatar
avatar
И как же это поможет на вопрос
Как показывается (сколько раз, можно ли закрыть)?
Опять в своем духе — свои платные плагины пытаешь всем втереть?!
avatar
почитаешь описание и поймешь
avatar
мобильный шаблон поддерживает?
avatar
great job! слава опенсорсу :)
avatar
Плагин на Github'е, если вдруг кто хочет помочь в развитии.
avatar
Да хотелось бы чтобы оповещение пропадало после перехода по ссылки, но такое вряд ли можно сделать так легко… и бесплатно никто не сделает. Плагин хорош и выполняет то что от него нужно. Автору большой респект.

Жаль киви-кошелька у автора нету. Перевел пару соток на развитие.
avatar
Вероятно люди неправильно поняли мой комментарий: livestreet.ru/blog/addons/16766.html#comment270264

Я предлагал, что если еще кому-то нужно, то сделаю бесплатно.
avatar
Неплохо бы сделать настройку вывода оповещения на определенных страницах в конфинге. В шаблоне я смог сделать это через костыль, виде {if $sAction!='page'} пришлось в ручную перечислить где вывод не требуется.
avatar
Сел делать вывод на определенный страницы, но что-то я туплю жестко:

Добавляем в конфиг настройку $config['blabla'] = array('page', people');
Добавляю в шаблон условие вывода div'а:

{if $sAction=={cfg name='plugin.wmessage.blabla'}} — но тут я понимаю, что это все фигня и ничего стоящего пока не могу придумтаь.
Подскажите, а?
avatar
{if in_array($sAction, Config::Get('plugin.wmessage.blabla')}
  test
{/if}

используйте Config::Get вместо cfg и переменной oConfig
avatar
скобку забыл закрыть
{if in_array($sAction, Config::Get('plugin.wmessage.blabla'))}
  test
{/if}
avatar
Благодарю.
Подскажите, пожалуйста, как лучше сделать проверку на пользователя и какой шаблон он увидит? Делать в хуке проверку и вывод разных шаблонов tpl или еще что-то интересно сделать?

То есть, если в конфиге стоит register, то вывводи зарегистрированным, а если guest, то только незарегистрированным, а если all — всем.
avatar
я 3 раза перечитал и не понял
avatar
Вопрос в том, как лучше сделать проверку пользователь/гость/все для вывода сообщения.
avatar
Что значит «все»? По мне так $oUserCurrent
avatar
там же, в хуке
$oUserCurrent = $this->User_GetUserCurrent();
switch(Config::Get('plugin.wmessage.show_type')) {
  case 'registered':
    if ($oUserCurrent) {
      return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'registered.tpl');
    }
    break;
  case 'guest':
    if (!$oUserCurrent) {
      return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'guest.tpl');
    }
    break;
  default:
    return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'all.tpl');
}


можно проверку на экшен перенести также в сам хук и не дергать шаблонизатор (добавить в начало):
if (!in_array(Router::GetAction(), Config::Get('plugin.wmessage.blabla'))) {
  return false;
}
avatar
А в чем разница? И нужно ли заменять все cfg name (их у меня в плагинах очень много) на Config::Get?
avatar
чуточку быстрее, красивее и более стандартизировано.
а то часть вызовов в шаблонах по одному, часть — по другому.
avatar
v1.0.4
Добавлена возможность выбора для каких пользователей выводить сообщение (зарегистрированных, незарегистрированных, всех).

Добавлена возможность выбора на каких actions выводить сообщение (index,page, people, blog...).

Спасибо PSNet за помощь.
avatar
Тогда давай уже и куки задействовать, чтоб показывать только 1 раз! ))
avatar
можно сделать что бы при нажатии на крестик сообщение закрывалось?
avatar
Как прописать в actions вывод сообщения в топике?

Идея: при чтении топиков — незарегистрированные пользователи видят сообщение.
avatar
Добавить сюда blog
$config['wpage'] = array('page', 'people', 'stream', 'index'); // на каких actions выводить сообщение
avatar
Спасибо, отлично получилось!)
avatar
Не работает :(
Хук вставил, кэш почистил.
avatar
Ой, я совсем тупой. Забыл по запарке включить плагин(
avatar
А где прописывать стиль для этого сообщения?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.