Виджет обратной связи для сайта WriteMe

+65
4.82K
Доброго всем дня, уважаемое сообщество!

Давно не выкладывал никаких разработок, хотя их скопилось очень много.

Вчера понадобился виджет обратной связи для одного из своих сайтов на ICMS 2, решил написать с нуля (да и искать было лень). А потому сейчас делюсь им с Вами, может кому то пригодиться.



Модуль имеет небольшое количество настроек в админке:
— указание получателя
— куда слать копии писем
— выбор обязательных полей
— и выбор места отображения (право или лево)

Письма через форму отправляются через ajax, без перезагрузки страницы. Имя, мыло и телефон (поля) проходят проверку на правильность заполнения.

Немного скринов:
Иллюстрация
Иллюстрация
Иллюстрация
Иллюстрация
Иллюстрация

Виджет для версии ICMS 2.1.2. На версиях ниже не тестировался

Пользуйтесь на здоровье.


Благодарности принимаются в виде + в карму
или пожертвований на хлебушек и будущие разработки)):
webmoney: R398713669111, Z780295301498
ЯД: 410011306059147
0
Реклама Реклама #
+2
WowChih WowChih 6 лет назад #
Классная штука) Буквально на днях искал что-то подобное) Спасибо!
0
WowChih WowChih 6 лет назад #
вот какой вопрос возник...

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

А прямоугольничек как убрать?

Шаблон, самый дефолтный, без малейших правок и изменений
0
Rossoman Rossoman 6 лет назад #
расположите виджет в любой другой позиции.
прямоугольник остается от того, что в сайдбаре каждому виджет присваивается свойство css padding.
Просто поставьте виджет в другую позицию. В дефолтном шаблоне я ставил в позицию меню
0
WowChih WowChih 6 лет назад #
Спасибо добрый человек!
+1
Alexprofi Alexprofi 6 лет назад #
Спасибо, пригодится! +
+5
Fuze Fuze 6 лет назад #
Коллеги, разработчики!
Очень прошу добавлять (дублировать) выкладываемые виджеты, плагины, компоненты, шаблоны в раздел дополнений. Пользователям будет проще искать.
Rossoman, добавьте пожалуйста свой виджет сюда.
0
Rossoman Rossoman 6 лет назад #
Ок, хотел, да забыл. Спасибо Fuze
+3
Val Val 6 лет назад #
Уважаемый Fuze,
скажите пожалуйста есть ли в планах администрации/разработчиков сайта создать/переделать хороший современный раздел дополнений (по функционалу напоминающий Google PLay или AppStore)?
Чтобы можно было легко и просто добавлять различные дополнения, обновлять их при выпуске новых версий (а не создавать новую запись), вести диалог с пользователями (feedback), пользователям оценивать выложенные расширения и т.д.
Так же я за то, чтобы администрация/разработчики InstantCMS брали свой фиксированный процент с продажи платных дополнений через такой магазин.
+5
Fuze Fuze 6 лет назад #
Да, это в планах есть, но когда это будет сказать не могу.
+1
Val Val 6 лет назад #
Спасибо!!!! dance
Очень ждём!!!
0
eoleg eoleg 6 лет назад #
Может быть если вывести "Новое в дополнениях" также как "Новое в блогах" и добавить возможность поднятия кармы автору то начнут добавлять туда сразу.
+2
Колёк Колёк 6 лет назад #
Rossoman, почему пишется ошибка отправки? Хотя сообщения отправляются... Где собака зарыта?


А так виджет супер...
+1
Rossoman Rossoman 6 лет назад #
Скорее всего потому, что в админке не указан получатель копий писем.
Проверьте у Вас указан или нет.
Сейчас поправлю, чтобы копии игнорировались
+1
Колёк Колёк 6 лет назад #
Да так оно и было... Не было указано получателя копий.
+1
Rossoman Rossoman 6 лет назад #
Архив обновлен. Сейчас должно быть все норм
0
Колёк Колёк 6 лет назад #
Так оно лучше будет, спасибо...
0
MegaRostov MegaRostov 6 лет назад #
Хороший виджет!!!! Спасибо.
0
SE7EN SE7EN 6 лет назад #
не понял как виджет всплывающим сделать?
0
Rossoman Rossoman 6 лет назад #
Он по умолчанию должен быть всплывающим.
У какой шаблон стоит? А лучше скиньте в личку сайт
+1
SE7EN SE7EN 6 лет назад #
разобрался, сам файлы не туда куда надо закинул, теперь работает, спасибо.
0
reload reload 6 лет назад #
Rossoman, отличный виджет +

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
0
Rossoman Rossoman 6 лет назад #
Передавать в текст письма?
Конечно можно
+1
Rossoman Rossoman 6 лет назад #
Можно попробовать сделать так
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


Чтобы добавить тайтл страницы нужно сделать примерно все тоже самое, только изначально нужно будет получить тайтл страницы, например с помощью регулярного выражения.
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru');
  2. preg_match_all( "|<title>(.*)</title>|sUSi", $page, $title);
а затем делаете все тоже самое как и в первом случае
0
Rossoman Rossoman 6 лет назад #
Только это строка
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru');
должна быть такого вида
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru'.$_SERVER['REQUEST_URI']);
0
vikont vikont 6 лет назад #
Не получается. Куда именно надо вставлять строки
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru'.$_SERVER['REQUEST_URI']);
  2. preg_match_all( "|<title>(.*)</title>|sUSi", $page, $title);
0
Rossoman Rossoman 6 лет назад #
Куда угодно.
Только потом переменную $title нужно передать в текст письма
0
blagpro blagpro 6 лет назад #
Подскажите как удалить компонент, всё в нём хорошо, да вот только на мобильном устройстве весь вид портит.
+1
Rossoman Rossoman 6 лет назад #
Удалить из базы. По другому виджеты не удаляются.
Либо просто не выводить при просмотре с мобильника. Дописать пару строк кода в шаблон
0
blagpro blagpro 6 лет назад #
Спасибо! Разобрался.
+1
Rossoman Rossoman 6 лет назад #
Например так (добавить в самый низ шаблона виджета):
Код PHP:
  1. <script>
  2. $(document).ready(function(){
  3. var winw = $(window).width();
  4. if(winw < 1000)
  5. $('wdg_write_right').css('visibility', 'hidden');
  6. });
  7. </script>
"1000"- это ширина экрана, меньше которого виджет показываться не будет. Можете изменить на сколько вам нужно
Это навскидку. Не проверял, но должно работать
0
blagpro blagpro 6 лет назад #
Добавил код. Всё работает! Спасибо!
0
Sergon Sergon 6 лет назад #
blagpro, подскажи пожалуйста, что сделал? я пробую, не получается(((
+1
Rossoman Rossoman 6 лет назад #
только тут
Код PHP:
  1. $('wdg_write_right').css('visibility', 'hidden');
точку надо поставить
Код PHP:
  1. $('.wdg_write_right').css('visibility', 'hidden');
+1
Rossoman Rossoman 6 лет назад #
точнее не точку а #
facepalm
0
blagpro blagpro 6 лет назад #
это сделано)
0
Val Val 6 лет назад #
мне кажется это лучше через CSS media queries делать.
Код CSS:
  1. @media screen and (max-width: 1000px) {
  2. #wdg_write_right { visibility: hidden; }
  3. }
+1
Rossoman Rossoman 6 лет назад #
Тогда уж лучше так)
Код PHP:
  1. @media handheld,
  2. screen and ( max-width:600px ),
  3. screen and ( max-device-width:600px ) {
  4. #wdg_write_right { visibility: hidden; }
  5. }
а вообще кому что больше нравиться. Поскольку медиа запросы не будут работать в браузерах, не поддерживающих css3
0
Sergon Sergon 6 лет назад #
положил в файл writeme.tpl.php
Код PHP:
  1. <script>
  2. $(document).ready(function(){
  3. var winw = $(window).width();
  4. if(winw < 1000)
  5. $('#wdg_write_right').css('visibility', 'hidden');
  6. });
  7. </script>
уменьшаю экран, но ничего не происходит((( подскажите, что не так пожалуйста
0
Джехутимери Джехутимери 6 лет назад #
Ну конечно ничего не происходит, Вы ведь на $(document).ready() цепляете.
Попробуйте так.

<script>
var resizeandwidth = function () {
var winw = $(window).width();
if(winw < 1000)
$('#wdg_write_right').css('visibility', 'hidden');
};
$(document).ready(resizeandwidth);
$(window).resize(resizeandwidth);
</script>
0
Sergon Sergon 6 лет назад #
нет, отображается все ровно
0
Man Man 6 лет назад #
А для версии 1.9 есть что-то подобное?
0
Sergon Sergon 6 лет назад #
прошу прощения, это моя невнимательность! Я виджет расположил слева и только потом обратил внимание что все подсказки сделаны на правое расположение (wdg_write_right).
Всем спасибо, все отлично работает!
0
Скела Скела 6 лет назад #
Подскажите... может кто то уже делал... Возможно ли его переработать, что бы окошко всплывало при нажатии кнопки, а не висело страницы?..
0
Krasn Krasn 5 лет назад #
один из огромных плюсов, лично для меня, возможность расположить не на всех страницах подряд, а только на нужных. Спасибо разработчику!)
0
Алексей Алексей 5 лет назад #
Подскажите пожалуйста в чем может быть проблема. Создал форму обратной связи, пытаюсь что то отправить но ошибка
Код PHP:
  1. Fatal error: Call to a member function getStringValue() on a non-object in /home/.../www/system/controllers/iforms/frontend.php on line 183
В чем проблема может быть?
0
Rossoman Rossoman 5 лет назад #
Скорее всего вы написали не в ту тему. Судя по пути у вас установлен виджет/компонент iforms
А у меня виджет имеет системное имя writeme
0
reneplus reneplus 5 лет назад #
Доброго времени! Помогите настроить кнопку пжл.!!!
лермонтов-кмв.рф
reneplus@mail.ru/123456
+1
reneplus reneplus 4 года назад #
Перестал работать на 2.6.1. Не подскажете, что может быть!
+1
reneplus reneplus 4 года назад #
Ошибка отправки сообщения. Пожалуйста, попробуйте позже
+1
Alexey Alexey 4 года назад #
У меня тоже самое. Будет фикс?
0
Rubi Rubi 4 года назад #
Добрый день, друзья помогите настроить виджет совместно с почтой, уже 2 день не получается. За ранее благодарен
Виджет:


Настройки>Почта:
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.