djnick Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Пытаюсь передать utm метки в форме обратной связи. Создал в форме скрытые поля: <input type="hidden" name="source" class="source" value="<?php echo isset($this->request->get['utm_source']) ? $this->request->get['utm_source'] : 'нэт билэт' ;?>" /> Прописал в контроллере формы нужные строчки. На почту приходит : нэт билет... Так вот, может кто подскажет, как "выдернуть" utm метки из url ? Читал, что заносят в куки, потом из кук пилят и распихивают.... Рылся в коде seo_pro. Нашел там строки, где сеопро берет урл, тримит, пилит и пихает в массив для подмены, пробовал по аналогии, не пашет... Может есть у кого рабочий кусочек кода, который позволяет "распилить" урл или вытащить метки из него? Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Потому что её в урле то нет Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) мож я чего-то не понимаю, но вот урл: /index.php?route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword и вне опенкарта решение работает: <input type="hidden" name="source" class="source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" /> потом передается переманная в обработчик и mail и все приходит Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Это в контроллер к товару или где она там у Вас $data['utm_source'] = isset($this->request->get('utm_source')) ? $this->request->get('utm_source') : ' ... '; а в форме <?= $utm_source; ?> Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Это в контроллер к товару или где она там у Вас $data['utm_source'] = isset($this->request->get('utm_source')) ? $this->request->get('utm_source') : ' ... '; а в форме <?= $utm_source; ?> get не функция, круглые скобки заменить на квадратные. isset не нужен 1 Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 get не функция, круглые скобки заменить на квадратные. isset не нужен постоянно путаю :? эти скобки Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) может все-таки нужно обрабатывать сам урл... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; При таком условии значение не может быть пустым по определению Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) мож я чего-то не понимаю, но вот урл: /index.php?route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword и вне опенкарта решение работает: <input type="hidden" name="source" class="source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" /> потом передается переманная в обработчик и mail и все приходит Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Это в контроллер к товару или где она там у Вас $data['utm_source'] = isset($this->request->get('utm_source')) ? $this->request->get('utm_source') : ' ... '; а в форме <?= $utm_source; ?> Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Это в контроллер к товару или где она там у Вас $data['utm_source'] = isset($this->request->get('utm_source')) ? $this->request->get('utm_source') : ' ... '; а в форме <?= $utm_source; ?> get не функция, круглые скобки заменить на квадратные. isset не нужен 1 Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 get не функция, круглые скобки заменить на квадратные. isset не нужен постоянно путаю :? эти скобки Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) может все-таки нужно обрабатывать сам урл... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; При таком условии значение не может быть пустым по определению Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Это в контроллер к товару или где она там у Вас $data['utm_source'] = isset($this->request->get('utm_source')) ? $this->request->get('utm_source') : ' ... '; а в форме <?= $utm_source; ?> get не функция, круглые скобки заменить на квадратные. isset не нужен 1 Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 get не функция, круглые скобки заменить на квадратные. isset не нужен постоянно путаю :? эти скобки Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) может все-таки нужно обрабатывать сам урл... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; При таком условии значение не может быть пустым по определению Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 get не функция, круглые скобки заменить на квадратные. isset не нужен постоянно путаю :? эти скобки Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) может все-таки нужно обрабатывать сам урл... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; При таком условии значение не может быть пустым по определению Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; Надіслати Поділитися на інших сайтах More sharing options...
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) может все-таки нужно обрабатывать сам урл... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; При таком условии значение не может быть пустым по определению Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Надіслати Поділитися на інших сайтах More sharing options... thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
thentru Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Опять же возвращает пустое значение... if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; У вас seo_pro?В нем есть фикс, чтобы метки не отбрасывались? Добавите к любой ссылке utm-метку и перейдите по ней. В адресной строке они остались? Надіслати Поділитися на інших сайтах More sharing options...
pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 урл смотрите route=product/product&path=162&product_id=751?utm_source=istochneg&utm_term=keyword должен быть амперсант Так амперсанд - это не то, что вы выделили)))) Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Да остались метки в строке, я отключил ЧПУ... Надіслати Поділитися на інших сайтах More sharing options...
pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Покажите, что в контроллере. Покажите, что в шаблоне. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Так амперсанд - это не то, что вы выделили)))) Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Контроллер формы ( popup_call_phone.php - модуль всплывающей формы ) public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; //$data['source'] = ''; $data['time'] = ''; if(!empty($this->request->get['utm_source'])) { $data['utm_source'] = $this->request->get['utm_source']; } else { $data['utm_source'] = '...'; }; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } шаблон формы: <form method="post" enctype="multipart/form-data" id="call-phone-form"> <div class="payment-info"> <input type="hidden" name="source" class="source" value="<?php echo $utm_source;?>" /> <?php if ($popup_call_phone_data['name']) { ?> <div> <label><?php echo $enter_name; ?><?php if ($popup_call_phone_data['name'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="name" value="<?php echo $name;?>" placeholder="<?php echo $enter_name; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['telephone']) { ?> <div> <label><?php echo $enter_telephone; ?><?php if ($popup_call_phone_data['telephone'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="telephone" value="<?php echo $telephone;?>" placeholder="<?php echo $enter_telephone; ?>" /> </div> <?php } ?> <?php if ($popup_call_phone_data['time']) { ?> <div> <label><?php echo $enter_time; ?><?php if ($popup_call_phone_data['time'] == 2) { ?><span class="required">*</span><?php } ?></label> <input name="time" value="<?php echo $time;?>" placeholder="<?php echo $enter_time; ?>" class="datetime" /> </div> <?php } ?> <?php if ($popup_call_phone_data['comment']) { ?> <div> <label><?php echo $enter_comment; ?><?php if ($popup_call_phone_data['comment'] == 2) { ?><span class="required">*</span><?php } ?></label> <textarea name="comment" placeholder="<?php echo $enter_comment; ?>"><?php echo $comment;?></textarea> </div> <?php } ?> </div> </form> Урл (именно такой он приходит и в адресной строке остается): index.php?route=product/product&path=162&product_id=751?utm_source=zasd&utm_medium=jgyy&utm_campaign=kuyy&utm_term=bdish Пробовал запихать в контроллер категории/ товара - безрезультатно... вопрос менял на амперсанд... на почту приходит многоточие. буду копаться дальше Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
pantagruel964 Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Точно. Там вообще метка в продакт_айди ушла. Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Точно. Там вообще метка в продакт_айди ушла. И я об этом Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Передача UTM меток в форме обратной связи
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Ну так я выделил знак вопроса строка должна быть http://site.com/index.php?route=product/product&product_id=43 & utm_source=istochneg&utm_term=keyword А щяс http://site.com/index.php?route=product/product&product_id=43 ? utm_source=istochneg&utm_term=keyword Ну и что бы не гадать сделайте в контролере print_r($this->request->get); Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Дело в том, что урл и приходит в таком вот виде: index.php?route=product/product&path=162&product_id=751?utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt пробовал ручками менять на index.php?route=product/product&path=162&product_id=751&utm_source=istocj&utm_medium=rtrttr&utm_term=trtr&utm_content=&utm_campaign=rtrtrt Можно подробнее, В любом месте контроллера? А как вывести? (извинюсь, за возможно, ламерский вопрос, но это должно вывести массив, а для этого в шаблоне нужно вывод сделать? ) в любом и получите весь массив $_GET Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 в любом и получите весь массив $_GET Array ( [route] => product/product [path] => 162 [product_id] => 751 [utm_source] => zasd [utm_medium] => jgyy [utm_campaign] => kuyy [utm_term] => bdish ) Возвращает нужный массив с метками... Надіслати Поділитися на інших сайтах More sharing options...
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 24 листопада 2016 Share Опубліковано: 24 листопада 2016 Если в контроллере формы указывать, то получаем: Undefined property: Action::$request in /home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.php on line 1 Notice: Trying to get property of non-object in <b>/home/u172474/1xetru/www/catalog/controller/module/popup_call_phone.phprray ( [route] => module/popup_call_phone ) Хм... Это теперь на всех модулях (категория, главная, продукт и т.д.) отлавливать отдельно метки? попробуйте в самом модуле 1 Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Спасибо за оперативные ответы. Не получается в модуле обратной связи, массив GET содержит только путь до файла модуля... Ситуация вот какая: установлен отдельный модуль - всплывающее модальное окно с формой обратной связи... Может чего подключить в нём еще надо... Буду пытаться, Еще раз Спасибо. полный код контроллера формы <?php class ControllerModulePopupCallPhone extends Controller { public function index() { $data = array(); $this->load->model('catalog/product'); $this->load->language('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); $data['popup_call_phone_data'] = $popup_call_phone_data; $data['heading_title'] = $this->language->get('heading_title'); $data['button_close'] = $this->language->get('button_close'); $data['button_send'] = $this->language->get('button_send'); $data['enter_name'] = $this->language->get('enter_name'); $data['enter_telephone'] = $this->language->get('enter_telephone'); $data['enter_comment'] = $this->language->get('enter_comment'); $data['enter_time'] = $this->language->get('enter_time'); $data['text_select'] = $this->language->get('text_select'); $data['text_loading'] = $this->language->get('text_loading'); $data['name'] = ($this->customer->isLogged()) ? $this->customer->getFirstName() : ''; $data['telephone'] = ($this->customer->isLogged()) ? $this->customer->getTelephone() : ''; $data['comment'] = ''; //$data['term'] = ''; $data['time'] = ''; if(file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/popup_call_phone.tpl')) { $view = $this->load->view($this->config->get('config_template') . '/template/module/popup_call_phone.tpl', $data); } else { $view = $this->load->view('default/template/module/popup_call_phone.tpl', $data); } $this->response->setOutput($view); } public function send() { $json = array(); $this->language->load('module/popup_call_phone'); $this->load->model('module/popup_call_phone'); $popup_call_phone_data = (array)$this->config->get('popup_call_phone_data'); if (isset($this->request->post['name'])) { if ((isset($popup_call_phone_data['name']) && $popup_call_phone_data['name'] == 2) && (utf8_strlen(trim($this->request->post['name'])) < 1) || (utf8_strlen(trim($this->request->post['name'])) > 32)) { $json['error']['field']['name'] = $this->language->get('error_name'); } } if (isset($this->request->post['time'])) { if (isset($popup_call_phone_data['time']) && $popup_call_phone_data['time'] == 2) { if (empty($this->request->post['time'])) { $json['error']['field']['time'] = $this->language->get('error_time'); } } } if (isset($this->request->post['telephone'])) { if ((isset($popup_call_phone_data['telephone']) && $popup_call_phone_data['telephone'] == 2) && (utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) { $json['error']['field']['telephone'] = $this->language->get('error_telephone'); } } if (isset($this->request->post['comment'])) { if ((isset($popup_call_phone_data['comment']) && $popup_call_phone_data['comment'] == 2) && (utf8_strlen($this->request->post['comment']) < 3) || (utf8_strlen($this->request->post['comment']) > 500)) { $json['error']['field']['comment'] = $this->language->get('error_comment'); } } if (!isset($json['error'])) { $post_data = $this->request->post; if (isset($post_data['name'])) { $data[] = array( 'name' => $this->language->get('enter_name'), 'value' => $post_data['name'] ); } if (isset($post_data['telephone'])) { $data[] = array( 'name' => $this->language->get('enter_telephone'), 'value' => $post_data['telephone'] ); } if (isset($post_data['comment'])) { $data[] = array( 'name' => $this->language->get('enter_comment'), 'value' => $post_data['comment'] ); } if (isset($post_data['time'])) { $data[] = array( 'name' => $this->language->get('enter_time'), 'value' => $post_data['time'] ); } $data_send = array( 'info' => serialize($data), ); $this->model_module_popup_call_phone->addRequest($data_send); $json['output'] = $this->language->get('text_success_send'); if ($popup_call_phone_data['notify_status']) { $html_data['date_added'] = date('m/d/Y h:i:s a', time()); $html_data['logo'] = $this->config->get('config_url').'image/'.$this->config->get('config_logo'); $html_data['store_name'] = $this->config->get('config_name'); $html_data['store_url'] = $this->config->get('config_url'); $html_data['text_info'] = $this->language->get('text_info'); $html_data['text_date_added'] = $this->language->get('text_date_added'); $html_data['data_info'] = $data; if (file_exists(DIR_TEMPLATE.$this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl')) { $html = $this->load->view($this->config->get('config_template').'/template/mail/popup_call_phone_mail.tpl', $html_data); } else { $html = $this->load->view('default/template/mail/popup_call_phone_mail.tpl', $html_data); } if (version_compare(VERSION, '2.0.2', '<')) { $mail = new Mail($this->config->get('config_mail')); } else { $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = (version_compare(VERSION, '2.0.3', '<')) ? $this->config->get('config_mail_smtp_host') : $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); $mail->smtp_port = $this->config->get('config_mail_smtp_port'); $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); } $mail->setTo($popup_call_phone_data['notify_email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($this->config->get('config_name')); $mail->setSubject($this->language->get('heading_title')." -- ".$html_data['date_added']); $mail->setHtml($html); $mail->send(); } } $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } } Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
djnick Опубліковано: 24 листопада 2016 Автор Share Опубліковано: 24 листопада 2016 (змінено) Еще помучаю свой мозг сутки, если не допрет, куплю модуль)) а подключается он скриптом: <script type="text/javascript"> $(function() { $('body').prepend('<a onclick="get_popup_call_phone();" id="uptocall-mini"><div class="uptocall-mini-phone"></div></a>'); }); function get_popup_call_phone() { $.magnificPopup.open({ tLoading: '<img src="catalog/view/theme/sstore/stylesheet/popup_call_phone/ring-alt.svg" />', items: { src: 'index.php?route=module/popup_call_phone', type: 'ajax' } }); } </script> Так может передать как то можно переменные эти Ajax'ом... Змінено 24 листопада 2016 користувачем djnick Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts