Основной курс по Joomla

Решено.Системные уведомления во всплывающем окне.

0 Пользователей и 1 Гость просматривают эту тему.
  • 43 Ответов
  • 17032 Просмотров
*

orexov_m

  • Давно я тут
  • ****
  • 281
  • 24
Поглядел я на форуме, но так и не нашел решения.
Была необходимость чтобы системные сообщения, в том числе и сообщение: "Товар добавлен в корзину" выводилось в отдельном окне.
так вот собственно решение(решение на jQuery не на mootools, внимание MOOTOOLS БУДЕТ ОТКЛЮЧЕНО СОВСЕМ!):
1. Отключаем mootools для этого качаем и устанавливаем плагин Disable Mootools http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/15748
2. Скачиваем jQueryUI с официального сайта http://jqueryui.com , распаковываем и заливаем на хостинг. Я заливал в папку /templates/мой шаблон/js/
3. В файл index.php вашего шаблона в между тегами <head></head> добавляем следующий код :
Код
	<link rel="stylesheet" href="/templates/ваш шаблон/js/ui/css/style.css" type="text/css" media="screen,projection" />
<script type="text/javascript" src="/templates/ваш шаблон/js/ui/jqueryui.js"></script>

<script>
jQuery(function() {
jQuery( "#system-message" ).dialog({
modal: true,
title: "Сообщение",
buttons: { "Ok": function() { jQuery(this).dialog("close"); } }
});
});
</script>
Сохраняем файл и проверяем :) теперь все системные сообщения у вас будут в модальном окошечке.:)
« Последнее редактирование: 06.06.2012, 15:10:59 от orexov_m »

*

ELLE

  • Support Team
  • *****
  • 4583
  • 867
по пункту 1 без всяких плагинов, отключаем на уровне шаблона, пару строк в index.php
Код
<?php
unset($this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
        $this->_scripts[$this->baseurl.'/media/system/js/validate.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js']);
?>


*

orexov_m

  • Давно я тут
  • ****
  • 281
  • 24
по пункту 1 без всяких плагинов, отключаем на уровне шаблона, пару строк в index.php
Код
<?php
unset($this->_scripts[$this->baseurl.'/media/system/js/mootools-core.js'],
$this->_scripts[$this->baseurl.'/media/system/js/mootools-more.js'],
$this->_scripts[$this->baseurl.'/media/system/js/core.js'],
        $this->_scripts[$this->baseurl.'/media/system/js/validate.js'],
$this->_scripts[$this->baseurl.'/media/system/js/caption.js']);
?>
Ну это ещё как вариант без плагина,тоже хорошо. Только почему -то до меня никто не запостил решения, хотя спрос был.

*

ELLE

  • Support Team
  • *****
  • 4583
  • 867
Ну это ещё как вариант без плагина,тоже хорошо. Только почему -то до меня никто не запостил решения, хотя спрос был.
давно запостили, полтора года назад :)
http://joomlaforum.ru/index.php/topic,147295.0.html

*

orexov_m

  • Давно я тут
  • ****
  • 281
  • 24
давно запостили, полтора года назад :)
http://joomlaforum.ru/index.php/topic,147295.0.html
я не про мутулз, я про уведомления о покупке в магазине говорю

*

nevigen

  • Moderator
  • *****
  • 8832
  • 754
  • http://n*****n.com
а может логичней отключать МУУ имено в ЖШ ?
ну млао ли... многие все атки вешают на магаз все по принципу "вот нашел в сети" и не особо задумываются над тем на чем оно работает. Работает и слава Богу а тут бац и полсайта обвалилось, например все от Нонамбера или еще от чего то :)
А причина просто отключенный МУУ
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

orexov_m

  • Давно я тут
  • ****
  • 281
  • 24
а может логичней отключать МУУ имено в ЖШ ?
ну млао ли... многие все атки вешают на магаз все по принципу "вот нашел в сети" и не особо задумываются над тем на чем оно работает. Работает и слава Богу а тут бац и полсайта обвалилось, например все от Нонамбера или еще от чего то :)
А причина просто отключенный МУУ
ну тут все на свой страх и риск делается :)))
а ноунамберы всегда дают возможность выбора либо на jquery либо на mootools работать будет плагин(модуль)

*

wertex

  • Новичок
  • *
  • 9
  • 6
Все намного проще без всяких плагинов и лишних библиотек.
Это один из простых приемов вывода системного сообщения в всплывающем окне, хотя есть и другие.

И так поехали:

В шаблон подключаем jquery. Если есть то уже хорошо.
В head или body вашего шаблона добавляем:
Код
<script>
          $(document).ready(function() {
$('#system-message').prepend("<a id='close_message'></a>");
                 $(this).click(function(){
                    $('#system-message').hide('slow');
                    });
});
</script>
объясню  вкратце: вызовем или правильней сказать перехватим, system-message через jquery, чтобы конкретно не вмешиваться в ядро Joomla, добавим HTML код в самом вызове при помощи функции prepend (это нужно для красивого отображения кнопочки "Закрыть" в сообщении, в принципе сообщение можно будет закрыть кликнув в любой области окна сообщения).

Если нужно закрыть окно с сообщением автоматически, держите код:
Код
setTimeout(function(){ $("#system-message").hide('slow') }, 3500);
Этот код вызовет функцию jquery "setTimeout" которая закроет окно через 3,5 секунды. это только пример время может быть любым.

Для любителей закрывать окна при помощи escape (то-есть клавиатурой) - код:
Код
$(this).keydown(function(eventObject){
                if (eventObject.which == 27)
                    $('#system-message').hide('slow');
            });
в .css добавляем и правим, каждый сам под себя (код привожу для примера):
Код: css
#system-message {
    background-color: #FF4500;
    border-radius: 8px 8px 8px 8px;
    box-shadow: 1px 1px 4px #DDDDDD;
    color: #FFFFFF;
    cursor: pointer;
    left: 50%;
    margin-bottom: 10px;
    margin-left: -300px;
    padding: 25px 25px 30px;
    position: fixed;
    top: 130px;
    width: 500px;
    z-index: 9999;
}
a#close_message{
  background: url(../images/close.png) no-repeat;
  cursor: pointer;
  height: 30px;
  margin-right: 0px;
  margin-top: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
}
}
Как раз background: url(../images/close.png); в  a#close_message это и есть ваша графическая кнопочка "Закрыть" размещенная вверху справа вашего блока сообщения. Кнопочку найдете сами, в сети их полно, главное подправить стили и путь к вашему изображению.
 
Пробуйте все должно получиться. Проверяйте сайт на наличие ошибок при помощи FireBug. Как правило ошибки возникают из за невнимательности .

Тестировал на Joomla 2.5. Удачи!

*

xaocbozzz

  • Давно я тут
  • ****
  • 205
  • 8
  • Котэ просит! Не обижайте котэ!
Можешь скрин повесить того что получилось?

*

wertex

  • Новичок
  • *
  • 9
  • 6
Можешь скрин повесить того что получилось?

Держи!
 

*

Ragivort

  • Живу я здесь
  • ******
  • 1010
  • 49
  • Есть мечта-стоит жить
Все намного проще без всяких плагинов и лишних библиотек.
Это один из простых приемов вывода системного сообщения в всплывающем окне, хотя есть и другие.

И так поехали:

В шаблон подключаем jquery. Если есть то уже хорошо.
В head или body вашего шаблона добавляем:
Код
<script>
          $(document).ready(function() {
$('#system-message').prepend("<a id='close_message'></a>");
                 $(this).click(function(){
                    $('#system-message').hide('slow');
                    });
});
</script>
объясню  вкратце: вызовем или правильней сказать перехватим, system-message через jquery, чтобы конкретно не вмешиваться в ядро Joomla, добавим HTML код в самом вызове при помощи функции prepend (это нужно для красивого отображения кнопочки "Закрыть" в сообщении, в принципе сообщение можно будет закрыть кликнув в любой области окна сообщения).

Если нужно закрыть окно с сообщением автоматически, держите код:
Код
setTimeout(function(){ $("#system-message").hide('slow') }, 3500);
Этот код вызовет функцию jquery "setTimeout" которая закроет окно через 3,5 секунды. это только пример время может быть любым.

Для любителей закрывать окна при помощи escape (то-есть клавиатурой) - код:
Код
$(this).keydown(function(eventObject){
                if (eventObject.which == 27)
                    $('#system-message').hide('slow');
            });
в .css добавляем и правим, каждый сам под себя (код привожу для примера):
Код: css
#system-message {
    background-color: #FF4500;
    border-radius: 8px 8px 8px 8px;
    box-shadow: 1px 1px 4px #DDDDDD;
    color: #FFFFFF;
    cursor: pointer;
    left: 50%;
    margin-bottom: 10px;
    margin-left: -300px;
    padding: 25px 25px 30px;
    position: fixed;
    top: 130px;
    width: 500px;
    z-index: 9999;
}
a#close_message{
  background: url(../images/close.png) no-repeat;
  cursor: pointer;
  height: 30px;
  margin-right: 0px;
  margin-top: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
}
}
Как раз background: url(../images/close.png); в  a#close_message это и есть ваша графическая кнопочка "Закрыть" размещенная вверху справа вашего блока сообщения. Кнопочку найдете сами, в сети их полно, главное подправить стили и путь к вашему изображению.
 
Пробуйте все должно получиться. Проверяйте сайт на наличие ошибок при помощи FireBug. Как правило ошибки возникают из за невнимательности .

Тестировал на Joomla 2.5. Удачи!


У меня это решение не работает. Просто выводит красное окно, кнопки закрыть нет, функции самозакрывания и коавишей не работают.
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.

*

ilya_daddy

  • Осваиваюсь на форуме
  • ***
  • 32
  • 0
У меня это решение не работает. Просто выводит красное окно, кнопки закрыть нет, функции самозакрывания и коавишей не работают.

Я попробывал корявенько (так как не силен php) поменять код на
Код
<script>
          jQuery(document).ready(function() {
jQuery('#system-message').prepend("<a id='close_message'></a>");
                 jQuery(this).click(function(){
                    jQuery('#system-message').hide('slow');
                    });
});
</script>

Вроде заработало ))))

*

Ragivort

  • Живу я здесь
  • ******
  • 1010
  • 49
  • Есть мечта-стоит жить
Я воспользовался советом из первого поста, заработало
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.

*

ilya_daddy

  • Осваиваюсь на форуме
  • ***
  • 32
  • 0
а вот я как раз его и не осилил, вроде все верно делаю, а ни чего не работает :(

*

Ragivort

  • Живу я здесь
  • ******
  • 1010
  • 49
  • Есть мечта-стоит жить
Там нужно проверить пути к файлам.
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.

*

nervf

  • Новичок
  • *
  • 3
  • 0
А как сделать чтобы товар динамически добавлялся в корзину...без перезагрузки страницы? а то если позиций много приходиться проматывать страницу вниз и вплывающее окно теряет всякий смысл. Заранее благодарю

*

nevigen

  • Moderator
  • *****
  • 8832
  • 754
  • http://n*****n.com
использовать Аякс-корзину
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

Muran4eg

  • Захожу иногда
  • **
  • 12
  • 0
  • www.drigin.com
А есть решение, чтобы закрывать окно нажимая за пределы окна сообщения, как это обычно происходит с картинками, которые в модальных окнах открываются?

Нарыл в буржуй нете вот такой способ

http://www.minitek.gr/tutorials/templates-tutorials/item/44-how-to-display-joomla-system-messages-in-a-modal-window.html
« Последнее редактирование: 14.09.2012, 04:58:01 от Muran4eg »

*

graf

  • Осваиваюсь на форуме
  • ***
  • 193
  • 0
Поглядел я на форуме, но так и не нашел решения.
Была необходимость чтобы системные сообщения, в том числе и сообщение: "Товар добавлен в корзину" выводилось в отдельном окне.
так вот собственно решение(решение на jQuery не на mootools, внимание MOOTOOLS БУДЕТ ОТКЛЮЧЕНО СОВСЕМ!):
1. Отключаем mootools для этого качаем и устанавливаем плагин Disable Mootools http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/15748
2. Скачиваем jQueryUI с официального сайта http://jqueryui.com , распаковываем и заливаем на хостинг. Я заливал в папку /templates/мой шаблон/js/
3. В файл index.php вашего шаблона в между тегами <head></head> добавляем следующий код :
Код
	<link rel="stylesheet" href="/templates/ваш шаблон/js/ui/css/style.css" type="text/css" media="screen,projection" />
<script type="text/javascript" src="/templates/ваш шаблон/js/ui/jqueryui.js"></script>

<script>
jQuery(function() {
jQuery( "#system-message" ).dialog({
modal: true,
title: "Сообщение",
buttons: { "Ok": function() { jQuery(this).dialog("close"); } }
});
});
</script>
Сохраняем файл и проверяем :) теперь все системные сообщения у вас будут в модальном окошечке.:)
Добрый день, а конкретно по этому пункту
2. Скачиваем jQueryUI с официального сайта http://jqueryui.com , распаковываем и заливаем на хостинг. Я заливал в папку /templates/мой шаблон/js/
какие именно папки и файлы заливать? так как в скачанной папочке jQueryUI, много файлов. спасибо

*

Dmitryy

  • Осваиваюсь на форуме
  • ***
  • 32
  • 0
А есть решение, чтобы закрывать окно нажимая за пределы окна сообщения, как это обычно происходит с картинками, которые в модальных окнах открываются?

Нарыл в буржуй нете вот такой способ

http://www.minitek.gr/tutorials/templates-tutorials/item/44-how-to-display-joomla-system-messages-in-a-modal-window.html

Спасибо! Работает.
Каждому свое.

*

morokow5

  • Осваиваюсь на форуме
  • ***
  • 25
  • 0
  • Fatal error : SQL error
Все намного проще без всяких плагинов и лишних библиотек.
Это один из простых приемов вывода системного сообщения в всплывающем окне, хотя есть и другие.

И так поехали:
...........

Спасибо за идею. Плюсанул. Все нормально работает, единственное не пойму почему на форуме Kunena в системном уведомлении не отображается кнопка закрыть и не закрывается окно если нажать на любую область экрана.. а так все системные сообщения отображаются норм. Кто знает в чем дело?
« Последнее редактирование: 24.04.2013, 00:26:26 от morokow5 »
нет слова "не могу", есть слово "я ленивая скотина!"

*

nevigen

  • Moderator
  • *****
  • 8832
  • 754
  • http://n*****n.com
Спасибо за идею. Плюсанул. Все нормально работает, единственное не пойму почему на форуме если делаешь поиск несуществующей инфы, то в системном уведомлении не отображается кнопка закрыть и не закрывается окно если нажать на любую область экрана.. а так все системные сообщения отображаются норм. Кто знает в чем дело?
цитировать простыни не стоит. читайте правила форума.
поправил ваш пост.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

morokow5

  • Осваиваюсь на форуме
  • ***
  • 25
  • 0
  • Fatal error : SQL error
Все намного проще без всяких плагинов и лишних библиотек.
Это один из простых приемов вывода системного сообщения в всплывающем окне, хотя есть и другие.

И так поехали:
кстати, не работает в IE

цитировать простыни не стоит. читайте правила форума.
поправил ваш пост.
виноват исправлюсь

Спасибо за идею. Плюсанул. Все нормально работает, единственное не пойму почему на форуме Kunena в системном уведомлении не отображается кнопка закрыть и не закрывается окно если нажать на любую область экрана.. а так все системные сообщения отображаются норм. Кто знает в чем дело?
вопрос все еще актуален. заметил такую вещь... поставил Modal messages проверить как он поведет себя.. если в настройках плагина не выставить использовать jquery то на форуме он тоже не работает... значит дело в нем.. но все равно не  пойму.. но если включаю jquery то модуль icemegamenu плывет.. пробовал прописать noconflict - не помогает( ну это в другую ветку вопрос.. А в Kunena же вроде мутулз должен подгружать jquery.. или я ошибаюсь? Помогите кто нибудь. Уже всю голову сломал(
« Последнее редактирование: 24.04.2013, 05:31:47 от morokow5 »
нет слова "не могу", есть слово "я ленивая скотина!"

*

JaRa_Ua

  • Новичок
  • *
  • 2
  • 0
А как убрать модальное окно ?

*

svtiman

  • Новичок
  • *
  • 5
  • 0
Найден бесплатный плагин Joomla 2.5 - 3.0 !
Но также обновляет страницу и перебрасывает вверх..

https://hs-shelf.com/item/Y5HPEOsznshQFmFaBpBa.html -сайт разработчика
http://extensions.joomla.org/extensions/news-display/notes/23093

*

x1

  • Давно я тут
  • ****
  • 372
  • 14
Найден бесплатный плагин Joomla 2.5 - 3.0 !
Но также обновляет страницу и перебрасывает вверх...
... но также обнуляет поля формы Адрес при оформлении заказа, если покупатель вводит емейл, который уже есть в базе покупателей магазина - приходится вводить по новой.

*

Jvanitch

  • Новичок
  • *
  • 1
  • 0
Найден бесплатный плагин Joomla 2.5 - 3.0 !
Но также обновляет страницу и перебрасывает вверх..

https://hs-shelf.com/item/Y5HPEOsznshQFmFaBpBa.html -сайт разработчика
http://extensions.joomla.org/extensions/news-display/notes/23093

У меня не заработал в шаблоне с подключённым jQuery. Пришлось отключать.

*

avantyrist

  • Давно я тут
  • ****
  • 221
  • 3
А если на сайте подкючён скрипт fancybox как перехватывать ети системные сообщения в сам fancybox

Код
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#system-message").fancybox({fitToView:false,closeClick:false,openEffect:'fade',scrolling:'no'});
});
</script>

так не проходит :(
Ребята помогите пожалуйста
« Последнее редактирование: 06.05.2014, 23:03:23 от avantyrist »

*

avantyrist

  • Давно я тут
  • ****
  • 221
  • 3
Предыдущий вопрос снимаю
Я хотел чтобы был эфект затемнения, решил ето дело добавлением :
Файл /libraries/joomla/document/html/renderer/message.php
Спойлер
[свернуть]
И стилизация етого class=message-overlay в своём КСС файле

Но вот у меня возник вопрос: system-message стилизуется в КСС файле  /media/system/css/system.css
Где отлючить подгрузку етого файла ? для того чтобы добавить в основные стили, и чтобы етот файл не грузился системой