Калькуляторы и формы для сайтов
0 Пользователей и 1 Гость просматривают эту тему.
  • 1294 Ответов
  • 136097 Просмотров
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Это старая тема. Новая тут http://joomlaforum.ru/index.php/topic,330126.0.html


Быстрый и удобный компонент форм для Joomla с функцией калькулятора.

http://juice-lab.ru/dev/components/3-quickform

Краткий help http://joomlaforum.ru/index.php/topic,228015.msg1369044.html#msg1369044

Новая версия для Joomla 3
http://joomlaforum.ru/index.php/topic,228015.msg1659682.html#msg1659682
« Последнее редактирование: 15.08.2016, 21:49:50 от lcd25 »
*

Keidjjj

  • Новичок
  • 8
  • 1
Какой максимальный размер файла можно прикрепить к сообщению  ? И каким образом можно этот объем ограничить.
*

ApxaHGe1

  • Новичок
  • 2
  • 0
Скажите, а возможно ли сделать редирект на страницу с материалом, после заполнения формы и нажатия на кнопку
*

x1

  • Давно я тут
  • 372
  • 14
gf 1.0.1 + AcyMailing Starter 5.5.0 + Joomla! 3.6.5

Сделал себе, может кому понадобится: заносим из формы ФИО и мыло (если такие данные конечно присутствуют в форме) в рассылочную базу подписчиков AcyMailing.
В файле components\com_quickform\quickform.php ищем самую последнюю строку и делаем 2 вставки, перед этой строкой и после неё:
Код
$jAp->redirect($link, $msg, $msgtype);

1) перед этой строкой вставляем:
Код
// AcyMailing
//echo $mailHtml;

$newmailHtml =  $mailHtml;
$newmailHtmltd = "<td>";
$newmailHtml = str_replace ($newmailHtmltd,"|", str_replace ( "</td>","|",  $newmailHtml));


//  Массив возможных названий полей фамилий в анкете
$newusersurnamesearch = "Sur Name|Sur name|Surname|surname|Фамилия|Прізвище|ФИО|Ф.И.О|ФИО плательщика";
$newusersurnamearray = explode ( "|", $newusersurnamesearch);

foreach($newusersurnamearray as $usersn) {
    $u = strpos ( $newmailHtml,$usersn);
    $uu = strpos ( $newmailHtml,$usersn." ");
    if (($u > 0) and ($uu == 0)) {
        $newusersurname = substr($newmailHtml,$u);
        $newusersurname = substr($newusersurname,strpos ($newusersurname, "|") + 1);
        $newusersurname = substr($newusersurname,0,strpos($newusersurname, "|"));
        echo "Фамилия: ". $newusersurname. "<br/>";
        break;
    }
}

// Массив возможных названий полей имен в анкете
$newusernamesearch = "First Name|First name|Имя|Имя, отчество|Ім'я|Ім'я (по батькові)|Ім'я, по батькові";
$newusernamearray = explode ( "|", $newusernamesearch);

foreach($newusernamearray as $useri) {
    $u = strpos ( $newmailHtml,$useri);
    $uu = strpos ( $newmailHtml,$useri." ");
     if (($u > 0) and ($uu == 0)) {
        $newusername = substr ($newmailHtml,$u);
        $newusername = substr ($newusername,strpos ( $newusername, "|") + 1);
        $newusername = substr($newusername,0,strpos ( $newusername, "|"));
        echo "Имя: ". $newusername. "<br/>";
        break;
    }
}

// Массив возможных названий полей отчеств в анкете
$newuserpatronymicsearch = "Patronymic|Отчество|По батькові";
$newuserpatronymicarray = explode ( "|", $newuserpatronymicsearch);

foreach($newuserpatronymicarray as $userp) {
    $u = strpos ( $newmailHtml,$userp);
    $uu = strpos ( $newmailHtml,$userp." ");
     if (($u > 0) and ($uu == 0)) {
        $newuserpatronymic = substr ($newmailHtml,$u);
        $newuserpatronymic = substr ($newuserpatronymic,strpos ( $newuserpatronymic, "|") + 1);
        $newuserpatronymic = substr($newuserpatronymic,0,strpos ( $newuserpatronymic, "|"));
        echo "Отчество: ". $newuserpatronymic. "<br/>";
        break;
    }
}

// Получаем ФИО из формы
$newusersname = $newusersurname. " ". $newusername. " ". $newuserpatronymic;
//die;

// Массив возможных названий полей email в анкете
$newuserfonesearch = "Ваш email|Ваш e-mail|Email|email|E-mail|e-mail|";
$newuserfonearray = explode ( "|", $newuserfonesearch);

foreach($newuserfonearray as $userm) {
    $u = strpos ( $newmailHtml,$userm);
    $uu = strpos ( $newmailHtml,$userm." ");
    if (($u > 0) and ($uu == 0)) {
        $newusersemail = substr ($newmailHtml,$u);
        $newusersemail = substr ($newusersemail,strpos ( $newusersemail, "|") + 1);
        $newusersemail = substr($newusersemail,0,strpos ( $newusersemail, "|"));
        echo "E-mail: ". $newusersemail. "<br/>";
        break;
    }
}

// Формируем данные для записи в базу AcyMailing
$newusersname = "'". strip_tags ( $newusersname). "'";
$newuserskey = "'". quickform_generateKey(14). "'";
$newuserssource = "'"."module_96"."'";
$newusersdate = "'". round(gettimeofday(true))."'";
$newusersip = "'".$qfCheck->getip()."'";
$newusersemail = "'". strip_tags($newusersemail). "'";

//echo "Подписчик: ". $newusersname." ". $newusersemail;
//die;

$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__acymailing_subscriber'));
$query->where($db->quoteName('email')." = "."'".$post['email'][0]."'");
$db->setQuery($query);
$newuser = $db->loadObjectList();

// Если email в базе AcyMailing отсутствует, добавляем нового подписчика
if (empty($newuser)) {

    // добавляем подписчика в базу
    $db->setQuery(" INSERT INTO `#__acymailing_subscriber` (`email`,`name`,`created`,`ip`,`source`,`key`) VALUES  ($newusersemail,$newusersname,$newusersdate,$newusersip,$newuserssource,$newuserskey)");
    $db->query();

    // Получаем данные о новом подписчике
    $query = $db->getQuery(true);
    $query->select('*');
    $query->from($db->quoteName('#__acymailing_subscriber'));
    $query->where($db->quoteName('email')." = ".$newusersemail);
    $db->setQuery($query);
    $newuser = $db->loadRow();

    if (!empty($newuser)) {

        // listID рассылки из _acymailing_list, на которую будет подписан подписчик
        $newuserslistid =  "2";
        //$newuserslistid = "'".$newuserslistid."'" ;
        $newuserssubid =  "'".$newuser[0]."'";
        $newuserstatus = "1";
        //echo $newuserssubid;
        //die;

        // Подписываем на рассылку
        $db->setQuery(" INSERT INTO `#__acymailing_listsub` (`listid`,`subid`,`subdate`,`status`) VALUES  ($newuserslistid,$newuserssubid,$newusersdate,$newuserstatus)");
        $db->query();

    }
}
2) а после неё вставляем:
Код
function quickform_generateKey($length){
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randstring = '';
$max = strlen($characters) - 1;
for($i = 0; $i < $length; $i++){
$randstring .= $characters[mt_rand(0, $max)];
}
return $randstring;
}

Срабатывать будет на определенные заголовки полей в форме, дополните своими, если надо...:

$newusersurnamesearch = "sur name|фамилия|прізвище|ФИО|Ф.И.О";
$newusernamesearch = "first name|имя|имя, отчество|ім'я|ім'я (по батькові)|ім'я, по батькові";
$newuserpatronymicsearch = "patronymic|отчество|по батькові";

ID рассылки берется из _acymailing_list:
$newuserslistid =  "2";

Все конечно через заднюю калитку, но полезно.
« Последнее редактирование: 22.12.2016, 14:06:52 от x1 »
*

kassilukraine

  • Осваиваюсь на форуме
  • 26
  • 0
Это старая тема. Новая тут http://joomlaforum.ru/index.php/topic,330126.0.html


Быстрый и удобный компонент форм для Joomla с функцией калькулятора.

http://juice-lab.ru/dev/components/3-quickform

Краткий help http://joomlaforum.ru/index.php/topic,228015.msg1369044.html#msg1369044

Новая версия для Joomla 3
http://joomlaforum.ru/index.php/topic,228015.msg1659682.html#msg1659682

Как вывести на сайт статистику отправленных форм. Это вообще реально ?
Если сильно захотеть можно  в космос полететь!
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Как вывести на сайт статистику отправленных форм. Это вообще реально ?

Если у вас что-то есть, то оно уже реально. Я ведь вывел статистику в админку, значит и вы сможете.
*

kassilukraine

  • Осваиваюсь на форуме
  • 26
  • 0
Если у вас что-то есть, то оно уже реально. Я ведь вывел статистику в админку, значит и вы сможете.
Весь вопрос в  том   что именно  отвечает за статистику?
Потому  что я  там увидел и обращение к  базе  данных, перелопатил содержимое, но видимо я что то упускаю (
Вы все-таки программист который создал такой чудесный инструмент, а я  всего лишь его модифицирую (
Может быть вы сможете подсказать ?
Если сильно захотеть можно  в космос полететь!
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
А что тут подсказывать? Все отправления лежат в #__quickform_ps.

В этой версии компонента статистика представляет из себя простой снимок HTML с письма пользователя. Если нужно разложить ее по параметрам, используйте регулярные выражения, у меня такой необходимости не было. Но в QF2 уже другой подход,  там статистика - это строка json данных, с которой удобно работать и легко читать.
*

kassilukraine

  • Осваиваюсь на форуме
  • 26
  • 0
А что тут подсказывать? Все отправления лежат в #__quickform_ps.

В этой версии компонента статистика представляет из себя простой снимок HTML с письма пользователя. Если нужно разложить ее по параметрам, используйте регулярные выражения, у меня такой необходимости не было. Но в QF2 уже другой подход,  там статистика - это строка json данных, с которой удобно работать и легко читать.
Под статистикой  я имел ввиду только количество (цифры) отправленных форм, не более.
И способ вывода этой информации на странице сайта.
Если сильно захотеть можно  в космос полететь!
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Под статистикой  я имел ввиду только количество (цифры) отправленных форм, не более.
И способ вывода этой информации на странице сайта.
Чтобы определить количество записей в таблице MySQL, нужно воспользоваться специальной функцией COUNT(). Функция COUNT() возвращает количество записей в таблице, соответствующих заданному критерию.
Для вывода информации на странице сайта, можно использовать echo, пример:
Код: php
echo "Привет мир!";
*

monkjust

  • Осваиваюсь на форуме
  • 61
  • 1
РЕШЕНИЕ:
1. Скачать папку компонента.
administrator/components/com_quickform

2. Во всех файлах сделать замену строчки
JHtml::_('behavior.formvalidator');

на JHtml::_('behavior.formvalidation');

Может пригодиться кому.
Эффективное продвижение сайтов. Аудит + консультации.
*

sergei_yak

  • Новичок
  • 1
  • 0
добрый день.
извините. если немного не в тему...
ищу модуль, где из выпадающего списка городов, клиент выберет два и между ними будет рассчитана доставка.
доставка зависит не только от городов. но и от веса*объема*груза...
также по чекбоксам возможны доп услуги, которые тоже должны падать в доставку.
Подскажите, пожалуйста, каким простым и бесплатным расширением можно воспользоваться?
Нужен некий калькулятор, где к селектам можно привязать формулы...

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

ПС Joomla 3x
« Последнее редактирование: 04.03.2017, 18:29:25 от sergei_yak »
*

k1ndly

  • Новичок
  • 1
  • 0
У меня такой вопрос я устанавливаю ваш плагин на версию Joomla 2.5.6, но у меня не работает Капча, так как она ссылается на recaptchalib.php а этот файл из новой версии движка, у Вас написано что ваш компонент совместим с версией 2.5 что мене сделать что бы CAPTCHA заработала?  Версия компонента com_quickform_3.4.11
*

kazus

  • Новичок
  • 1
  • 0
Здравствуйте, такая проблема. Установил компонент QuickForm на сайт, и сделал простую форму заявки привязал к определённой позиции. Вызывается она в своем модальном окне ссылкой с картинки, которая отображает данные из позиции в Joomla. Так вот, форма работает, письма на e-mail приходят. Но вот сообщение пользователям после отправки формы никак не хочет появляться в модальном окне, на вроде "Спасибо, ваше сообщение отправлено!". В чем может быть проблема?
 В Joomla я не так давно, но разобраться очень нужно, заранее спасибо за ответ. Версия Joomla 3.6.5 . QuickForm 2.
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Здравствуйте, такая проблема. Установил компонент QuickForm на сайт, и сделал простую форму заявки привязал к определённой позиции. Вызывается она в своем модальном окне ссылкой с картинки, которая отображает данные из позиции в Joomla. Так вот, форма работает, письма на e-mail приходят. Но вот сообщение пользователям после отправки формы никак не хочет появляться в модальном окне, на вроде "Спасибо, ваше сообщение отправлено!". В чем может быть проблема?
 В Joomla я не так давно, но разобраться очень нужно, заранее спасибо за ответ. Версия Joomla 3.6.5 . QuickForm 2.

Сообщение об отправке формы выводится стандартным функционалом Joomla. Т.е. зависит оно не от компонента, а от вашего шаблона. Как в шаблоне реализовано, так и выводится.
*

Dorfman

  • Живу я здесь
  • 1148
  • 74
  • Почти влез...
Всем добрый день!
Вопрос следующего характера.
К примеру, у меня есть список полиграфической продукции, я вывожу его как радио, чтобы впоследствии просчитать в зависимости от выбранного и оформить заказ. Загвоздка в том, что я не могу присвоить класс конкретному полю. К примеру, у меня есть поля "Визитка", "Листовка" и пр..., и я хочу с помощью CSS прикрутить им background-картинки, чтобы юзер, кликая по нужной, открыл группу связанных полей. Можно ли добавить функцию, чтобы конечным значениям присваивать класс или сразу картинку (предложение по расширенному улучшению функционала)?
А лучше, конечно, и то, и другое. Чтобы можно было этим полям ещё другие css-свойства прикручивать.

(ЗЫ идея подсмотрена на www.pnx.com.ua - понажимайте картинки)

Уверен, многим эта идея понравится.
Заранее благодарен.
« Последнее редактирование: 25.05.2017, 06:42:34 от Dorfman »
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Всем добрый день!
Вопрос следующего характера.
К примеру, у меня есть список полиграфической продукции, я вывожу его как радио, чтобы впоследствии просчитать в зависимости от выбранного и оформить заказ. Загвоздка в том, что я не могу присвоить класс конкретному полю. К примеру, у меня есть поля "Визитка", "Листовка" и пр..., и я хочу с помощью CSS прикрутить им background-картинки, чтобы юзер, кликая по нужной, открыл группу связанных полей. Можно ли добавить функцию, чтобы конечным значениям присваивать класс или сразу картинку (предложение по расширенному улучшению функционала)?
А лучше, конечно, и то, и другое. Чтобы можно было этим полям ещё другие css-свойства прикручивать.

(ЗЫ идея подсмотрена на www.pnx.com.ua - понажимайте картинки)

Уверен, многим эта идея понравится.
Заранее благодарен.

Все это давно реализовано в QuickForm 2 напрямую. А в этой версии делается через наследование в CSS.
*

Dorfman

  • Живу я здесь
  • 1148
  • 74
  • Почти влез...
Все это давно реализовано в QuickForm 2 напрямую. А в этой версии делается через наследование в CSS.

Здравствуйте! Спасибо за оперативный ответ. Установил. Создал структуру:

Выберите тип продукта (список первого уровня из радио, который я хочу сделать картинками):
Визитки
     Эконом
     Стандарт
     Элит
Флаера
     Эконом
     Стандарт
     Элит
Буклеты
     Эконом
     Стандарт
     Элит
......

На фронте это выглядит так:


В админке настройка группы радио выглядит так:



В админке настройка непосредственно радио-инпута выглядит так:



Как, к примеру, на "Визитки" НАПРЯМУЮ поставить картинку, как в приведённом мной примере? (www.pnx.com.ua) То есть я хочу вместо (точнее, вместе) с радио-инпутом вывести кликабельную картинку.
Что-то типа этого:




Подскажите, пожалуйста, где и как? Всю ночь себе мозг выносил - так и не понял... :(

Ещё вопрос: можно ли сделать группу радио, чтобы по дефолту ничего не было выбрано? Или наоборот, назначить конкретный радио-инпут по умолчанию? Перерыл всё - доки по этому компоненту нигде нет... :(
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
В этой ветке обсуждается старая версия компонента. Вам нужно перейти в другую ветку. По вашему вопросу, есть готовый пример в компоненте, готовый CSS файл, где упрощенно можно увидеть, как это все делается.
*

lyubomir1986

  • Новичок
  • 1
  • 0
Доброго времени суток. Есть калькулятор детского праздника. Надо что бы в конце списка когда клиент допустим себе все просчитал, был выбор количества детей и конечная сумма умножалась на количество детей.
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Доброго времени суток. Есть калькулятор детского праздника. Надо что бы в конце списка когда клиент допустим себе все просчитал, был выбор количества детей и конечная сумма умножалась на количество детей.

Здорово. Что вы предлагаете?
*

lpv

  • Новичок
  • 5
  • 0
Re: QuickForm - форма с калькулятором
« Ответ #1280 : 29.08.2017, 16:52:14 »
Добрый день, уважаемый разработчик! Можно ли где-нибудь найти подробное описание по работе с QuickForm? Спасибо.
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Добрый день, уважаемый разработчик! Можно ли где-нибудь найти подробное описание по работе с QuickForm? Спасибо.

Вам нужна именно эта версия компонента? Это устаревшая версия, давно уже QF2 выпущен.
*

lpv

  • Новичок
  • 5
  • 0
Мне нужно внести изменения в существующую форму заказа, созданную на плагином версии 1.00.1
*

lpv

  • Новичок
  • 5
  • 0
хочу разобраться как использовать зависимые поля
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
хочу разобраться как использовать зависимые поля
Там простой принцип. Слева опций есть ссылка с буквой "c". Кликайте по ней и вводите id нужных полей. это всё.
*

lpv

  • Новичок
  • 5
  • 0
я именно так и сделал: http://prntscr.com/geirac, но я не знаю какое имя поля нужно указать, чтобы из связанной формы (id29) http://prntscr.com/geisv7 вывелось выбранное значение
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
я именно так и сделал: http://prntscr.com/geirac, но я не знаю какое имя поля нужно указать, чтобы из связанной формы (id29) http://prntscr.com/geisv7 вывелось выбранное значение
Причем тут имя поля? Вам нужно вводить не id29, а просто 29.
Зачем вам там целый ряд cloner, вообще не понятно. Они, скорее всего, вам вообще не нужны.
*

lpv

  • Новичок
  • 5
  • 0
Эту форму заказа делал не я. В ней выбираются несколько видов товаров http://prntscr.com/gejgjm , но все эти товары выбираются непосредственно. После распределения товаров из категории FULL KITS по нескольким подкатегориям были созданы несколько форм из которых выбираются данные.
*

hitower

  • Новичок
  • 9
  • 0
Здравствуйте!
Форма такая: https://www.ueshka.ru/roditelyam/tarify
Алгоритм расчета такой: http://prntscr.com/gl3bh3
До сего дня для нижеперечисленных регионов число увеличения при выборе равнялось 80
Изменил для них 80 на 120
Но на странице ничего не изменяется - как было 80 так и выдается
Подскажите в какую сторону копать?

Регионы: Астраханская область, Волгоградская область, Воронежская область, Иркутская область, Костромская область, Новгородская область, Орловская область, Оренбургская область, Псковская область, Республика Карелия, Республика Крым, Республика Марий Эл, Ростовская область, Тамбовская область, Тверская область, Ульяновская область.
*

varX

  • Практически профи
  • 1611
  • 105
  • разработка компонентов
Всё правильно считает. В поле "Хотите ли Вы получать уведомления о событиях?" у вас стоит =80, что отменяет весь предыдущий расчет и присваивает значение 80.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

QuickForm 2 - конструктор форм с зависимыми полями и калькулятором

Автор varX

Ответов: 618
Просмотров: 22806
Последний ответ 13.09.2017, 18:08:13
от varX
AJAX Web-Factor Form - простая форма обратной связи для Joomla 3+

Автор orsy

Ответов: 61
Просмотров: 3533
Последний ответ 30.08.2017, 18:25:45
от ELiz
Форма JU Form - Lite - после отправки формы ничего не приходит, сайт на удалённом хосте, не на локал

Автор Inna

Ответов: 3
Просмотров: 477
Последний ответ 19.06.2017, 01:10:18
от tigra-uki
Форма Конструктор комплектаций

Автор Dusk09

Ответов: 0
Просмотров: 217
Последний ответ 07.05.2017, 01:25:26
от Dusk09
Форма с зависимыми выпадающими списками

Автор nick200

Ответов: 6
Просмотров: 1365
Последний ответ 10.04.2017, 21:13:02
от chemerzaev