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

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

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

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



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

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

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

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

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


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

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

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

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


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

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


Чтобы добавить тайтл страницы нужно сделать примерно все тоже самое, только изначально нужно будет получить тайтл страницы, например с помощью регулярного выражения.
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru');
  2. preg_match_all( "|<title>(.*)</title>|sUSi", $page, $title);
а затем делаете все тоже самое как и в первом случае
0
Rossoman Rossoman 10 лет назад #
Только это строка
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru');
должна быть такого вида
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru'.$_SERVER['REQUEST_URI']);
0
vikont vikont 9 лет назад #
Не получается. Куда именно надо вставлять строки
Код PHP:
  1. $page = file_get_contents ('http://ВАШ_САЙТ.ru'.$_SERVER['REQUEST_URI']);
  2. preg_match_all( "|<title>(.*)</title>|sUSi", $page, $title);
0
Rossoman Rossoman 9 лет назад #
Куда угодно.
Только потом переменную $title нужно передать в текст письма
0
blagpro blagpro 10 лет назад #
Подскажите как удалить компонент, всё в нём хорошо, да вот только на мобильном устройстве весь вид портит.
+1
Rossoman Rossoman 10 лет назад #
Удалить из базы. По другому виджеты не удаляются.
Либо просто не выводить при просмотре с мобильника. Дописать пару строк кода в шаблон
0
blagpro blagpro 10 лет назад #
Спасибо! Разобрался.
+1
Rossoman Rossoman 10 лет назад #
Например так (добавить в самый низ шаблона виджета):
Код 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 10 лет назад #
Добавил код. Всё работает! Спасибо!
0
Sergon Sergon 9 лет назад #
blagpro, подскажи пожалуйста, что сделал? я пробую, не получается(((
+1
Rossoman Rossoman 10 лет назад #
только тут
Код PHP:
  1. $('wdg_write_right').css('visibility', 'hidden');
точку надо поставить
Код PHP:
  1. $('.wdg_write_right').css('visibility', 'hidden');
+1
Rossoman Rossoman 10 лет назад #
точнее не точку а #
facepalm
0
blagpro blagpro 10 лет назад #
это сделано)
0
Val Val 10 лет назад #
мне кажется это лучше через CSS media queries делать.
Код CSS:
  1. @media screen and (max-width: 1000px) {
  2. #wdg_write_right { visibility: hidden; }
  3. }
+1
Rossoman Rossoman 10 лет назад #
Тогда уж лучше так)
Код 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 9 лет назад #
положил в файл 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
Джехутимери Джехутимери 9 лет назад #
Ну конечно ничего не происходит, Вы ведь на $(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 9 лет назад #
нет, отображается все ровно
0
Man Man 9 лет назад #
А для версии 1.9 есть что-то подобное?
0
Sergon Sergon 9 лет назад #
прошу прощения, это моя невнимательность! Я виджет расположил слева и только потом обратил внимание что все подсказки сделаны на правое расположение (wdg_write_right).
Всем спасибо, все отлично работает!
0
Скела Скела 9 лет назад #
Подскажите... может кто то уже делал... Возможно ли его переработать, что бы окошко всплывало при нажатии кнопки, а не висело страницы?..
0
hozainbarin hozainbarin 9 лет назад #
один из огромных плюсов, лично для меня, возможность расположить не на всех страницах подряд, а только на нужных. Спасибо разработчику!)
0
Алексей Алексей 9 лет назад #
Подскажите пожалуйста в чем может быть проблема. Создал форму обратной связи, пытаюсь что то отправить но ошибка
Код 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 9 лет назад #
Скорее всего вы написали не в ту тему. Судя по пути у вас установлен виджет/компонент iforms
А у меня виджет имеет системное имя writeme
0
reneplus reneplus 8 лет назад #
Доброго времени! Помогите настроить кнопку пжл.!!!
лермонтов-кмв.рф
reneplus@mail.ru/123456
+1
reneplus reneplus 8 лет назад #
Перестал работать на 2.6.1. Не подскажете, что может быть!
+1
reneplus reneplus 8 лет назад #
Ошибка отправки сообщения. Пожалуйста, попробуйте позже
+1
Alexey Alexey 8 лет назад #
У меня тоже самое. Будет фикс?
0
Rubi Rubi 7 лет назад #
Добрый день, друзья помогите настроить виджет совместно с почтой, уже 2 день не получается. За ранее благодарен
Виджет:


Настройки>Почта:

Еще от автора

Компонент Вопросы и Ответы.
P.S. Теперь приобрести компонент можно в автоматическом режиме. Способы оплаты различные.
Компонент Вопросы и Ответы
Компонент предназначенный для реализации на сайте сервиса вопросов и ответов.
Компонент Вопросы и ответы FREE - ICMS2
Представляю Вашему вниманию компонент вопросов и ответов. Данный компонент является бесплатным и доступен каждому для скачивания.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.