PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
keeon
Отправлено: 18 Августа, 2019 - 14:34:37
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Прошу помочь опытных пользователей. Есть сайт на котором установлена контактная форма. После нажатия "Ок", я получаю e-mail и телефон клиента, а пользователь сайта получает сообщение об успешной отправки информации. Нужно вместо сообщения, настроить автоматический перевод клиента на другую страницу сайта после нажатия "Ок" и отправки контактных данных.
Код контактной формы на сайте:

PHP:
скопировать код в буфер обмена
  1. <?PHP defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' );
  2.  
  3. /**
  4.  * Contact form configuration
  5.  *
  6.  * @filter us_config_cform
  7.  */
  8.  
  9. return array(
  10.         'fields' => array(
  11.                 'name' => array(
  12.                         'type' => 'textfield',
  13.                         'title' => '',
  14.                         'placeholder' => us_translate( 'Name' ),
  15.                         'error' => __( 'Please enter your Name', 'us' ),
  16.                 ),
  17.                 'email' => array(
  18.                         'type' => 'email',
  19.                         'title' => '',
  20.                         'placeholder' => us_translate( 'Email' ),
  21.                         'error' => us_translate( 'Please enter a valid email address.' ),
  22.                 ),
  23.                 'phone' => array(
  24.                         'type' => 'textfield',
  25.                         'title' => '',
  26.                         'placeholder' => __( 'Phone Number', 'us' ),
  27.                         'error' => __( 'Please enter your Phone Number', 'us' ),
  28.                 ),
  29.                 'message' => array(
  30.                         'type' => 'textarea',
  31.                         'title' => '',
  32.                         'placeholder' => __( 'Message', 'us' ),
  33.                         'error' => __( 'Please enter a Message', 'us' ),
  34.                 ),
  35.                 'captcha' => array(
  36.                         'type' => 'captcha',
  37.                         'title' => __( 'Just to prove you are a human, please solve the equation: ', 'us' ),
  38.                         'placeholder' => '',
  39.                         'error' => __( 'Please enter the equation result', 'us' ),
  40.                 ),
  41.                 'checkbox' => array(
  42.                         'type' => 'checkbox',
  43.                         'title' => '',
  44.                         'placeholder' => '',
  45.                         'error' => __( 'You need to agree with the terms to proceed', 'us' ),
  46.                 ),
  47.         ),
  48.         'submit' => __( 'Send Message', 'us' ),
  49.         'success' => __( 'Thank you! Your message was sent.', 'us' ),
  50.         'error' => array(
  51.                 'empty_message' => __( 'Cannot send empty message. Please fill any of the fields.', 'us' ),
  52.                 'other' => __( 'Cannot send the message. Please contact the website administrator directly.', 'us' ),
  53.         ),
  54.         'subject' => __( 'New message from %s', 'us' ),
  55. );
  56.  


Вставка контактной формы на сайте:
PHP:
скопировать код в буфер обмена
  1. [us_cform receiver_email="contact@________.ua" message_field="hidden" button_text="OK"]I consent to the processing and storage of my personal data[/us_cform]
 
 Top
LIME
Отправлено: 18 Августа, 2019 - 15:02:27
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




Это что? Wp? Yii?
Ссылку на документацию плагина можешь дать?
(Добавление)
Поищи там что-то типа callback, event, on Success


-----
DDD
 
 Top
keeon
Отправлено: 18 Августа, 2019 - 16:24:21
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Это WP. Но дело в том, что это не плагин, а форма, которая вшита в тему, которую я купил. Этот файл находится в framework-config-cform.php
callback, event, on Success - к сожалению, не могу найти.
 
 Top
LIME
Отправлено: 18 Августа, 2019 - 16:33:41
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




Это все равно плагин. Тут проще js прописать тогда. Надо страницу смотреть в браузере. Если можешь дай ссылку.


-----
DDD
 
 Top
keeon
Отправлено: 18 Августа, 2019 - 23:12:05
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Спасибо, что откликнулись! Вот страница - https://fin-club[dot]com[dot]ua/pomosch-[dot][dot][dot]m-mfo-v-ukraine/
 
 Top
Vladimir Kheifets
Отправлено: 19 Августа, 2019 - 08:04:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 428
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 22 раз(а)




keeon пишет:
Спасибо, что откликнулись! Вот страница - https://fin-club.com.ua/pomosch-zayemschykam-mfo-v-ukraine/

Добрый день!
Сомневаюсь, что это поможет, но on Success, который Вы не можете найти, в 49 строке framework-config-cform.php
PHP:
скопировать код в буфер обмена
  1. 'success' => __( 'Thank you! Your message was sent.', 'us' ),
По Вашему URL "вскрытие" показало:
Форма:
Спойлер (Отобразить)
и к ней jQuery(event):
Спойлер (Отобразить)
Попробуйте изменить index.php в папке pomosch-zayemschykam-mfo-v-ukraine
Удачи!

(Отредактировано автором: 19 Августа, 2019 - 08:09:31)

 
 Top
LIME
Отправлено: 19 Августа, 2019 - 09:41:19
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




Vladimir Kheifets пишет:
но on Success, который Вы не можете найти, в 49 строке framework-config-cform.php
где ты там on увидел? это текст сообщения а не колбэк
Vladimir Kheifets пишет:
Попробуйте изменить index.php в папке pomosch-zayemschykam-mfo-v-ukraine
это MVC
(Добавление)
Vladimir Kheifets удачи)
(Добавление)
в том что выдернул Vladimir Kheifets попробуй заменить эти строчки во втором участке с 25 строки
если найдешь в шаблонах по вхождению текста
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.       if (result.success) {
  3.         $resultField.usMod('type', 'success').html(result.data);
  4.         $form.find('.w-form-row.check_wrong').removeClass('check_wrong');
  5.         $form.find('.w-form-row.not-empty').removeClass('not-empty');
  6.         $form.find('.w-form-state').html('');
  7.         $form.find('input[type="text"], input[type="email"], textarea').val('')
  8.       } else {
  9.  

на
CODE (javascript):
скопировать код в буфер обмена
  1.       if (result.success) {
  2.         document.location.href = 'url_pereadresatsii';
  3.       } else {


если не найдешь пиши можно закостылить но лучше найди


-----
DDD
 
 Top
keeon
Отправлено: 20 Августа, 2019 - 08:14:33
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Нашел файл с кодом, заменил как указал LIME, но к сожалению переадресация не работает. Вот новый код файла (замена в строках 40-42):
PHP:
скопировать код в буфер обмена
  1. jQuery(function($){
  2.  
  3.         $('.w-form.for_cform').each(function(){
  4.                 var $container = $(this),
  5.                         $form = $container.find('form:first'),
  6.                         $submitBtn = $form.find('.w-btn'),
  7.                         $resultField = $form.find('.w-form-message'),
  8.                         options = $container.find('.w-form-json')[0].onclick();
  9.  
  10.                 $form.submit(function(event){
  11.                         event.preventDefault();
  12.  
  13.                         // Prevent double-sending
  14.                         if ($submitBtn.hasClass('loading')) return;
  15.  
  16.                         $resultField.usMod('type', false).html('');
  17.                         // Validation
  18.                         var errors = 0;
  19.                         $form.find('[data-required="true"]').each(function(){
  20.                                 var $input = $(this),
  21.                                         isEmpty = $input.is('[type="checkbox"]') ? (!$input.is(':checked')) : ($input.val() == ''),
  22.                                         $row = $input.closest('.w-form-row'),
  23.                                         errorText = options.errors[$input.attr('name')] || '';
  24.                                 $row.toggleClass('check_wrong', isEmpty);
  25.                                 $row.find('.w-form-row-state').html(isEmpty ? errorText : '');
  26.                                 if (isEmpty) {
  27.                                         errors++;
  28.                                 }
  29.                         });
  30.  
  31.                         if (errors != 0) return;
  32.  
  33.                         $submitBtn.addClass('loading');
  34.                         $.ajax({
  35.                                 type: 'POST',
  36.                                 url: options.ajaxurl,
  37.                                 dataType: 'json',
  38.                                 data: $form.serialize(),
  39.                                 success: function(result){
  40.                                            if (result.success) {
  41.         document.location.href = 'https://fin-club.com.ua/konsulting/';
  42.       } else {
  43.                                                 $form.find('.w-form-row.check_wrong').removeClass('check_wrong');
  44.                                                 $form.find('.w-form-state').html('');
  45.                                                 if (result.data && typeof result.data == 'object') {
  46.                                                         for (var fieldName in result.data) {
  47.                                                                 if (fieldName == 'empty_message') {
  48.                                                                         var errorText = result.data[fieldName];
  49.                                                                         $resultField.usMod('type', 'error').html(errorText);
  50.                                                                         continue;
  51.                                                                 }
  52.                                                                 if (!result.data.hasOwnProperty(fieldName)) continue;
  53.                                                                 var $input = $form.find('[name="' + fieldName + '"]'),
  54.                                                                         errorText = result.data[fieldName];
  55.                                                                 $input.closest('.w-form-row').addClass('check_wrong')
  56.                                                                         .find('.w-form-row-state').html(errorText);
  57.                                                         }
  58.                                                 } else {
  59.                                                         $resultField.usMod('type', 'error').html(result.data);
  60.                                                 }
  61.                                         }
  62.                                 },
  63.                                 complete: function(){
  64.                                         $submitBtn.removeClass('loading');
  65.                                 }
  66.                         });
  67.                 });
  68.  
  69.         });
  70. });
  71.  
  72. /**
  73.  * CherryTheme Login Widget: widget_us_login
  74.  *
  75.  */
  76. !function($){
  77.         "use strict";
  78.  
  79.         $us.WLogin = function(container, options){
  80.                 this.init(container, options);
  81.         };
  82.  
  83.         $us.WLogin.prototype = {
  84.                 init: function(container, options){
  85.                         this.$container = $(container);
  86.                         this.$form = this.$container.find('.w-form');
  87.                         this.$profile = this.$container.find('.w-profile');
  88.                         this.$preloader = this.$container.find('div.g-preloader');
  89.                         this.$submitBtn = this.$form.find('.w-btn');
  90.                         this.$username = this.$form.find('.for_log input[name="log"]');
  91.                         this.$password = this.$form.find('.for_pwd input[name="pwd"]');
  92.                         this.$nonceVal = this.$form.find('#us_login_nonce').val();
  93.                         this.$resultField = this.$form.find('.w-form-message');
  94.  
  95.                         this.$jsonContainer = this.$container.find('.w-profile-json');
  96.                         this.jsonData = this.$jsonContainer[0].onclick() || {};
  97.                         this.$jsonContainer.remove();
  98.  
  99.                         this.ajaxUrl = this.jsonData.ajax_url || '';
  100.                         this.logoutRedirect = this.jsonData.logout_redirect || '/';
  101.                         this.loginRedirect = this.jsonData.login_redirect || '';
  102.  
  103.                         this._events = {
  104.                                 formSubmit: this.formSubmit.bind(this)
  105.                         };
  106.  
  107.                         this.$form.on('submit', this._events.formSubmit);
  108.  
  109.                         $.ajax({
  110.                                 type: 'post',
  111.                                 url: this.ajaxUrl,
  112.                                 data: {
  113.                                         action: 'us_ajax_user_info',
  114.                                         logout_redirect: this.logoutRedirect
  115.                                 },
  116.                                 success: function(result){
  117.                                         if (result.success) {
  118.                                                 var $avatar = this.$profile.find('.w-profile-avatar'),
  119.                                                         $name = this.$profile.find('.w-profile-name'),
  120.                                                         $logoutLink = this.$profile.find('.w-profile-link.for_logout');
  121.  
  122.                                                 $avatar.html(result.data.avatar);
  123.                                                 $name.html(result.data.name);
  124.                                                 $logoutLink.attr('href', result.data.logout_url);
  125.                                                 this.$profile.removeClass('hidden');
  126.                                         } else {
  127.                                                 this.$form.removeClass('hidden');
  128.                                         }
  129.                                         this.$preloader.addClass('hidden');
  130.                                 }.bind(this)
  131.                         });
  132.                 },
  133.                 formSubmit: function(event){
  134.                         event.preventDefault();
  135.  
  136.                         // Prevent double-sending
  137.                         if (this.$submitBtn.hasClass('loading')) return;
  138.  
  139.                         // Clear errors
  140.                         this.$resultField.usMod('type', false).html('');
  141.                         this.$form.find('.w-form-row.check_wrong').removeClass('check_wrong');
  142.                         this.$form.find('.w-form-state').html('');
  143.  
  144.                         // Prevent sending data with empty username
  145.                         if (this.$form.find('input[name="log"]').val() == '') {
  146.                                 this.$username.closest('.w-form-row').toggleClass('check_wrong');
  147.                                 this.$username.closest('.w-form-row').find('.w-form-row-state').html(this.jsonData.error_message);
  148.                                 return;
  149.                         }
  150.  
  151.                         this.$submitBtn.addClass('loading');
  152.                         $.ajax({
  153.                                 type: 'post',
  154.                                 url: this.ajaxUrl,
  155.                                 dataType: 'json',
  156.                                 data: {
  157.                                         action: 'us_ajax_login',
  158.                                         username: this.$username.val(),
  159.                                         password: this.$password.val(),
  160.                                         us_login_nonce: this.$nonceVal
  161.                                 },
  162.                                 success: function(result){
  163.                                         if (result.success) {
  164.                                                 document.location.href = this.loginRedirect;
  165.                                         } else {
  166.                                                 if (result.data.code == 'invalid_username') {
  167.                                                         var $rowLog = this.$username.closest('.w-form-row');
  168.                                                         $rowLog.toggleClass('check_wrong');
  169.                                                         $rowLog.find('.w-form-row-state').html(result.data.message ? result.data.message : '');
  170.                                                 } else if (result.data.code == 'incorrect_password' || result.data.code == 'empty_password') {
  171.                                                         var $rowPwd = this.$password.closest('.w-form-row');
  172.                                                         $rowPwd.toggleClass('check_wrong');
  173.                                                         $rowPwd.find('.w-form-row-state').html(result.data.message ? result.data.message : '');
  174.                                                 } else {
  175.                                                         this.$resultField.usMod('type', 'error').html(result.data.message);
  176.                                                 }
  177.                                         }
  178.                                         this.$submitBtn.removeClass('loading');
  179.                                 }.bind(this),
  180.                         });
  181.                 }
  182.  
  183.  
  184.         };
  185.  
  186.         $.fn.wUsLogin = function(options){
  187.                 return this.each(function(){
  188.                         $(this).data('wUsLogin', new $us.WLogin(this, options));
  189.                 });
  190.         };
  191.  
  192.         $(function(){
  193.                 $('.widget_us_login').wUsLogin();
  194.         });
  195. }(jQuery);
  196.  
  197. /**
  198.  * Form customs
  199.  */
  200. jQuery(function($){
  201.  
  202.         // Add not-empty class when filling form fields
  203.         $('input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="search"], input[type="url"], input[type="password"], textarea').each(function(index, input){
  204.                 var $input = $(input),
  205.                         $row = $input.closest('.w-form-row');
  206.                 if ($input.attr('type') == 'hidden') return;
  207.                 $row.toggleClass('not-empty', $input.val() != '');
  208.                 $input.on('input', function(){
  209.                         $row.toggleClass('not-empty', $input.val() != '');
  210.                 });
  211.         });
  212.  
  213.         // Add focused class for all form fields
  214.         $(document).on('focus', '.w-form-row-field input, .w-form-row-field textarea', function(){
  215.                 $(this).closest('.w-form-row').addClass('focused');
  216.         });
  217.         $(document).on('blur', '.w-form-row-field input, .w-form-row-field textarea', function(){
  218.                 $(this).closest('.w-form-row').removeClass('focused');
  219.         });
  220. });

(Отредактировано автором: 20 Августа, 2019 - 08:15:52)

 
 Top
LIME
Отправлено: 20 Августа, 2019 - 11:58:37
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




кэш браузера сбрось
или в новом браузере глянь
скрипты кэшируются чтобы не подгружать каждый раз
а лучше добавь новую версию к имени
как называется файл?
(Добавление)
на самом деле у тебя подключена минмфицированная версия
https://fin-club[dot]com[dot]ua/wp-conte[dot][dot][dot]e[dot]min[dot]js?ver=5[dot]4

CODE (html):
скопировать код в буфер обмена
  1. <script type='text/javascript' src='https://fin-club.com.ua/wp-content/themes/equanto/js/us.core.min.js?ver=5.4'></script>
вот это замени на полную версию
или минифицируй измененную если сможешь и сдвинь версию
онлайн можно найти


-----
DDD
 
 Top
keeon
Отправлено: 20 Августа, 2019 - 22:20:31
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Пробовал запускать с других браузеров - к сожалению, переадресация не работает.
По поводу минмфицированной версии не совсем понял: мне нужно в файлах темы найти этот код и заменить на что-то? Если да, то на что заменить?
LIME, извини за глупые вопросы, дело в том, что я у меня нет ИТ образования, я экономист)
Уже понял, что этот файл us.core.min.js (нашел его) нужно заменить на полную (не сжатую версию), но не совсем понимаю как эта не сжатая версия файла называется и как ее найти?

(Отредактировано автором: 20 Августа, 2019 - 22:45:58)

 
 Top
LIME
Отправлено: 20 Августа, 2019 - 22:26:39
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




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


-----
DDD
 
 Top
keeon
Отправлено: 20 Августа, 2019 - 23:39:52
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2019  


Помог: 0 раз(а)




Поиском перекопал все файлы темы, но к сожалению, ссылку на загрузку us.core.min.js так и не нашел Нет
Попробовал уже вставить в файл us.core.min.js код с исходного файла в который я вносил изменения - переадресация не работает Меланхолия
 
 Top
LIME
Отправлено: 21 Августа, 2019 - 00:41:54
Post Id



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


Покинул форум
Сообщений всего: 10387
Дата рег-ции: Нояб. 2010  


Помог: 307 раз(а)




не знаю что ты там вставлял файл тот же без изменений
весь файл замени с тем же именем
или найми фрилансера ты же экономист
(Добавление)
closed


-----
DDD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB