Перейти к содержимому


Внешние формы на сайте

внешние формы сайт

Сообщений в теме: 9

#1 StasIva

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 18 Февраль 2016 - 16:15

Просмотрел все темы, выданные при поиске на форуме по запросу "внешние формы", но не нашёл ничего существенного.

Куплена коробочная версия КБ, работает на нашем хостинге (site.ru/crm)
Я сам не прогер, но могу более-менее понимать чужой код и вносить мелкие изменения.

Как работает наш сайт - так как по желанию заказчика (горизонтальная навигация посредством слайдера-карусели - да, я понимаю, что это наркомания, но так хочет заказчик) и особенностям обработки сгенерированных КБ форм, используется нетривиальное (возможно идиотское или неправильное) решение:

На сайте есть слайдер-карусель на jquery.
В этот слайдер поверх слайдов-картинок грузится содержимое других хтмл-файлов (так как форма каждого продукта должна быть на отдельной странице). Ниже приведен код именно такой страницы.
Каждый слайд имеет урл вида site.ru?slide=name. Это чтобы можно было получив ссылку попадать на соответствующий слайд, а не искать его среди остальных и чтобы каждый слайд, (назовём его "страницей сайта"), имел уникальный урл для КБ.

Задача: чтобы при заполнении форм в слайдах (а это всё РАЗНЫЕ продукты с раздельным учётом), данные попадали в КБ. Поле ввода всего одно - е-мейл. Есть еще одна форма - там еще файл прикрепляется и всё.

Воспользовавшись советом техподдержки, я сгенерил формы, посмотрел айди форм и полей, поменял их, поменял урл в предложенном техподдержкой пхп-скрипте.

Итак - вот код страницы сайта с формой:
<html>
<head></head>
<body>
<div id="target">
<div class="carousel-caption container">
<div class="row">
<div class="col-sm-7">
<h2>заголовок</h2>
<p>текст текст текст</p>
</div>
</div>

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://site.ru/crm?page_charset=utf8&ts' . time() . '&k_input_field_40_1710=' . urlencode($_POST['email']) . '&k_rand_40=0.' . rand(1000, 10000000) . "_" . time());
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

<form class="form-inline" id="k_qst_40">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" id="k_input_field_40_1710" placeholder="e-mail">
</div>
</div>
<button type="submit" id="k_savebutton40" class="btn btn-primary">Получите Решение</button>
</form>
</div>
</div>
</body>
</html>

Нетрудно заметить, что айди формы - 40, айди поля - 1710


Однако, при заполнении и отправке формы, данные в "заявки" в КБ не попадают
Что я делаю не так? Где копать? В идеале хорошо было бы иметь готовый шаблон из приведенного выше кода, в котором можно было бы просто менять айди формы и полей. :)
Спасибо.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Февраль 2016 - 17:28

А техподдержка то что вам ответила? Посоветовала сюда обратится?

Какая то странная у вас ссылка, либо вы что-то не так поняли, либо техподдержка напутала. Не вижу там обращения к скрипту questionare.php, который отвечает за работу внешних форм.

#3 StasIva

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 18 Февраль 2016 - 20:31

Просмотр сообщенияCbCoder (18 Февраль 2016 - 17:28) писал:

А техподдержка то что вам ответила? Посоветовала сюда обратится?

Какая то странная у вас ссылка, либо вы что-то не так поняли, либо техподдержка напутала. Не вижу там обращения к скрипту questionare.php, который отвечает за работу внешних форм.

Да - техподдержка посоветовала обратиться сюда:

Цитата

По вопросу работы вычислений Вам стоит обратиться на форум, где Вам смогут ответить непосредственно программисты - https://clientbase.ru/forum/ . консультирование по работе вычислений в рамки техподдержки не входит.

По поводу ссылки - это я просто случайно удалил когда писал. Ссылка, конечно же имеет вид
http://www.site.ru/crm/questionare.php?page_charset=utf...
.
Однако в "заявках" ничего не появляется.

Более того - даже когда я беру код, сгенерированный КБ (в Настройки->Заявки->Завки->Внешние формы) и вставляю его в код страницы без изменений, все равно данные не попадают в КБ.
URL для Альтернативный сайт

Цитата

(Введите адрес страницы, на которой будет размещен код внешней формы, если он отличается от адреса, который используется программой по умолчанию.)
вводил.
Вводил урл как pravos.mobi/index.html (вставлял стандартный сгенерированный КБ код внешней формы на главную страницу), так и урл слайдов-страниц pravos.mobi/index.html?slide=reshenie (вставлял стандартный сгенерированный КБ код внешней формы в другие файлы, содержимое которых грузится в слайды карусели).

А если заполнять сгенерированную форму вот отсюда: http://interservis.b...onare.php?id=40 - т.е по ссылке с примером формы из Настройки->Заявки->Завки->Внешние формы, то появляется новая заявка в Заявках.

Наверное у меня просто ум за разум зашел и я не вижу какую-то очевидную мелочь? Или нет?

Вот скриншот на всякий случай - https://drive.google...iew?usp=sharing

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Февраль 2016 - 09:25

Честно говоря не понял, зачем вас техподдержка направила сюда, вместо того чтобы обратится напрямую к программисту, который дал пример кода (т.к. это был не я, то и пояснить что с ним не так, я с ходу все равно не смогу). Да и в остальном - это все надо смотреть и тестировать конкретно на вашей системе, на форуме сложно гадать о причинах, разве что перебирать. Более того, поскольку задача нестандартная (не банальная вставка кода внешней формы, а его существенная модификация), то по моему мнению это не совсем вписывается в рамки бесплатной помощи. В любом случае вам лучше продолжить работу с ТП. Форум он все таки больше для разбора типичных, распространенных ситуаций, или по крайней мере прозрачных, которые можно здесь легко разобрать.

#5 StasIva

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 19 Февраль 2016 - 11:07

Просмотр сообщенияCbCoder (19 Февраль 2016 - 09:25) писал:

Честно говоря не понял, зачем вас техподдержка направила сюда, вместо того чтобы обратится напрямую к программисту, который дал пример кода (т.к. это был не я, то и пояснить что с ним не так, я с ходу все равно не смогу). Да и в остальном - это все надо смотреть и тестировать конкретно на вашей системе, на форуме сложно гадать о причинах, разве что перебирать. Более того, поскольку задача нестандартная (не банальная вставка кода внешней формы, а его существенная модификация), то по моему мнению это не совсем вписывается в рамки бесплатной помощи. В любом случае вам лучше продолжить работу с ТП. Форум он все таки больше для разбора типичных, распространенных ситуаций, или по крайней мере прозрачных, которые можно здесь легко разобрать.

Ну хорошо - то, что мне надо в идеале, может быть и является существенной модификацией.
Но как быть с тем, что даже при вставке сгенерированного КБ кода формы (без изменений) не в слайды, а просто - на главную страницу сайта, данные из формы не попадают в заявки?

Сообщение отредактировал StasIva: 19 Февраль 2016 - 11:08


#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Февраль 2016 - 11:17

Про это я ведь тоже написал, что лучше сидеть разбираться конкретно с вашей системой, т.к. я пока не вижу очевидных причин (была версия насчет протокола, но судя по скриншоту, с ним все в порядке), а иначе придется гадать на кофейной гуще. Не форумная это задача, которая не позволяет сразу по вашему сообщению понять что не так. Да и вас сюда отправили по поводу вычисления все таки, а причина как выясняется возможно и не в нем.

#7 StasIva

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 19 Февраль 2016 - 12:14

Просмотр сообщенияCbCoder (19 Февраль 2016 - 11:17) писал:

Про это я ведь тоже написал, что лучше сидеть разбираться конкретно с вашей системой, т.к. я пока не вижу очевидных причин (была версия насчет протокола, но судя по скриншоту, с ним все в порядке), а иначе придется гадать на кофейной гуще. Не форумная это задача, которая не позволяет сразу по вашему сообщению понять что не так. Да и вас сюда отправили по поводу вычисления все таки, а причина как выясняется возможно и не в нем.

По поводу вставки сгенерированного КБ кода формы разобрался - надо было <script type="text/javascript" src="http://interservis.biz/crm/include/jquery/jquery.min.js"></script> в head засовывать, а не в body.
Теперь даже вставляя этот код в слайды-страницы всё работает.

Тогда другой вопрос - если я поменяю вашу табличную вёрстку формы на свою (с сохранением айди инпутов и баттонов) и уберу селекторы классов (всякие class='k_qst_div_40'), то всё будет работать?
Я имею ввиду - отсутствие таких вещей как class='k_qst_div_40' не должно повлиять на логику работы, на функционал?
Или отсутствие каких-то из css-классов может отрицательно повлиять на работоспособность формы и воспрепятствовать отправке данных из формы в КБ? Если да, то каких?

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Февраль 2016 - 12:33

Изменение и даже полное удаление стилей 100% никак не скажется на функционале, т.к. css отвечают только за внешний вид. Другое дело удаление самих классов. Теоретически на них может быть завязан код, хотя и далеко не на всех (большая часть все таки связана только со стилями). Но вам и нет особо надобности их трогать, если вы удалите связанные с ними стили в css, разве что "для порядка". Что касается верстки, то ее изменение может быть критично для конкретных типов полей (таких как поля связи например), но вряд ли имеет значение для формы целиком. Можно смело менять табличную верстку на какую вам угодно.

#9 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 20 Апрель 2016 - 14:17

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

if ($event_post_insert)
   {
	require $config['site_path']."/modules/ed/report_teacher.php";
   }
Все верно? Код полностью внешнего файла полностью работоспособен в доп действии. А вот в внешней форме не отрабатывает. Причина?

Сообщение отредактировал wondertalik: 20 Апрель 2016 - 14:17


#10 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 872 сообщений
  • Пол:Мужчина

Отправлено 21 Апрель 2016 - 17:11

Просмотр сообщенияwondertalik (20 Апрель 2016 - 14:17) писал:

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

if ($event_post_insert)
   {
	require $config['site_path']."/modules/ed/report_teacher.php";
   }
Все верно? Код полностью внешнего файла полностью работоспособен в доп действии. А вот в внешней форме не отрабатывает. Причина?
$event_post_insert это флаг, что необходимо вызвать вычисление повторно, после добавления строки. По умолчанию у этой переменной значение 0 и если оно не переопределено в вычислении, то такого рода вычисление не сработает.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных