Александр

Александр

С нами с 10 февраля 2015; Место в рейтинге пользователей: #141
Александр
29 августа 2017, 13:05
+1
только наверно вручную прописывать в WHERE:
IFNULL(`TVshow_in_list`.`value`, 'true') = 'true'

Почему то where не подхватывает IFNULL
Александр
29 августа 2017, 12:36
0
pdoPage,pdoResource,msProducts — без разницы, где джойнить. Где-то от Василия пример видел, но увы, потерял.
Александр
29 августа 2017, 10:49
0
Пардоньте, ошибку у себя заметил:

if(!$webHookUrl = $modx->getOption('webHookUrl',null,false)){
	break;
}
Александр
29 августа 2017, 10:46
0
Попробуйте поставить поставщика через приложение sdStore
Александр
29 августа 2017, 10:21
0
На сколько мне известно капчи работают так:
Генерируют картинку перед выводом формы, результат капчи сохраняется в сессиях, и при вводе данных — идет сверка по сессии.
[[!AjaxForm? 
    &snippet=`FormIt` 
    &form=`tpl.AjaxForm.example` 
    &preHooks=`math`
    &hooks=`email,math` 
    &emailSubject=`Обращение с сайта` 
    &emailTo=`it@domen.ru` 
    &validate=`name:required,email:required,message:required,math:required` 
    &validationErrorMessage=`В форме содержатся ошибки!` 
    &successMessage=`Сообщение успешно отправлено` 
    &emailFrom=`[[++mail_smtp_user]]`
    &emailTpl=`tplEmailFeedback`
]]
• «рreHook» задается через свойство «preHooks» в сниппете FormIt, который выполняется при загрузке формы. Полезно для предварительной загрузки значений.

• обычный хук, задается через свойство «hooks» в сниппете FormIt, который выполняется после проверки формы. Пригодится для настраиваемой пост-обработки.
Александр
29 августа 2017, 10:14
0
Есть такой сервис (маил-тестер).
Добавьте на любую страницу сниппет msGetOrder с tpl чанком письма и любым id заказа. Скопируйте html код письма и проверьте в маил-тестере…
Александр
29 августа 2017, 10:11
0
По описанию проблемы Вы вроде бы попадаете в спам-фильтр.
Причиной могут быть:
а) Косяки в заголовке или в кодировке заголовка
б) Тело письма. Критерий, по которым можно попасть в спам фильтр — много.

Попробуйте:
1) Добавить dcim подпись в dns запись. И если Вы с яндекса — еще txt запись антиспама.
2) Второй вариант — брать чанк с отправкой письма и с ним эксперементировать. Вырезать части из чанка, пока письмо не станет приходить. Таким образом можно будет понять, что виновник подъема в спам фильтр — тело письма.
Александр
29 августа 2017, 10:03
0
добавьте параметр 'return' => 'sql'
По запросу в бд проще понять, что там происходит
Александр
29 августа 2017, 10:01
0
сталкивались с подобным поведением, помойму даже в документации на modstore есть запись сменить протокол на http, но могу ошибаться.
Александр
29 августа 2017, 00:29
+1
Менеджеры тоже оформляют заказ на сайте, а не в б24! т.к. нет смысла заново вводить в б24 все товары, цены, свойства, остатки.
Идентификации проходят в системе б24, в админку минишопа менеджер не заходит.
А вы мастер противоречий…
Я на личном опыте испытал проблему идентификации. Когда клиент Вам говорит «у меня заказ №1708/4», а б24 проблематично(криво) ищет по кастомным полям. Вообщем то вас никто не станет заставлять активировать данную функцию.
По e-mail? Клиент звонит, диктовать email через ip-телефонию? Глупо. По телефону? Та же практика показывает, клиент может спокойно звонить с рабочего/номера жены/второго номера…

Не вижу смысла готовый счет перегонять в минишоп для того чтобы его выслать клиенту, б24 имеет кучу открытых линий и настраиваемых статусов чтобы самостоятельно справиться.
Вы неправильно поняли. Счет, она же, как правило счет-оферта генерируется через б24. Да бы не было путаницы, можно генерировать и отправлять её клиенту автоматом. Опять таки, функционально отключить можно.

оформил заказ и оплатил его
А кто сказал про оплату? Я работал в интернет-магазине с 100тней заказов в день. Как правило, 20% из них запрос цен (тендерщики), 10% оплачиваются с сайта. В рф не так то любят кота в мешке.
хочет чтобы ему перезвонили
Как раз для этого и есть открытые линии.
Александр
28 августа 2017, 22:45
0
1) Клиент оформляет заказ через сайт? А как идентифицировать клиента с сайта? В 90% случаев по номеру заказа. На опыте — когда звонит клиент, получается полная неразбериха. В этих целях и планировал брать номер заказа (номер счета) с б24, и то, если выбран способ оплаты на расчетный счет.
Это будет необязательным.

2) Для того, чтобы брать готовый счет с б24 (при оплате на расчетный счет) и выдавать его клиенту автоматом, при смене статуса заказа. (Например «Заказ подтвержден, ожидает оплаты»).

3) В лиды по логике попадают потенциальные клиенты. Из лида в сделку перевести — 1 клик.
Сейчас что готово работает так: если клиент делает повторный заказ (уже в базе найден), попадает в сделки. Если клиент не найден — в лиды. Таким образом можно распределять качество заказа. Товарные позиции в любом случае и туда, и туда попадают
Александр
28 августа 2017, 22:09
0
В течении этой — следующей недели выпущу готовое решение на б24.
Выпросил разработку у Михаила =)
Пока функционал:
Загрузка заказов из ms2 в битрикс24
Загрузка клиентов из ms2 в битрикс24
Поиск клиентов по базе ms2 в битрикс24 перед загрузкой
Возможность синхронизировать товары
Возможность синхронизировать статусы сделок/заказов.
При оформлении заказа с ms2 добавить новый метод оплаты, который будет брать счет, сформированный в ms2 и проставлять номер заказа по логике битрикс24

Добавлю и работу с formit

Все работать будет также, через вебхук
Александр
28 августа 2017, 17:48
+1
Установил SMTP через Яндекс.
Стало приходить нормально только на gmail. Остальные — нет ;-(
Т.е. через smtp яндекса на яндекс не приходит?
Александр
28 августа 2017, 17:32
+1
Паша, может через вебхук проще?
Может кому надо будет:
Идем в б24->Приложения->вебхуки
Создаем входящий вебхук с правами CRM. Копируем ссылку.
Идем в modx->системные настройки->создаем настройку «webHookUrl» и в значение вставляем скопированную ссылку.
Создаем плагин, как Выше написал Павел, на событие msOnCreateOrder

<?php
switch ($modx->event->name) {
    case 'msOnCreateOrder':
		if($webHookUrl = $modx->getOption('webHookUrl',null,false)){
			break;
		}
		
        
        $data = array(
            'order' => $msOrder->toArray(),
            'delivery' => $msOrder->Delivery->toArray(),
            'payment' => $msOrder->Payment->toArray(),
            'address' => $msOrder->Address->toArray(),
            'user' => $msOrder->User->toArray(),
            'user_profile' => $msOrder->UserProfile->toArray(),
        );
        $receiver_name = explode(' ', $data['address']['receiver']);
        
        // Формируем данные лида
        $post = array(
            'TITLE' => 'Заказ c сайта ' . $data['order']['num'],
            'COMPANY_TITLE' => 'Сайт',
            'NAME' => $receiver_name[0] ?: '',
            'LAST_NAME' => $receiver_name[1] ?: '',
            'COMMENTS' => $data['address']['comment'],
            'OPPORTUNITY' => $data['order']['cost'],
            'CURRENCY_ID' => 'RUB',
            'ADDRESS' => ($data['address']['country'] . ' ' . $data['address']['region'] . ' ' . $data['address']['city'] . ', ' . $data['address']['street'] . ', ' . $data['address']['building'] . ', ' . $data['address']['room'] . ', ' . $data['address']['index']),
            'PHONE_WORK' => $data['address']['phone'],
            'WEB_WORK' => '',
            'EMAIL_WORK' => $data['user_profile']['email'],
            'STATUS_ID' => 'NEW',
            'OPENED' => 'Y',
            'SOURCE_ID' => 8, // Источник - Заказ на сайте
            'ASSIGNED_BY_ID' => 4, // ID ответственного юзера в Битрикс24
        );
        
        // Создаем лид
        $queryData = http_build_query(
            array(
                "fields" => $post
            )
        );
    
        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_SSL_VERIFYPEER => 0,
            CURLOPT_POST => 1,
            CURLOPT_HEADER => 0,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => $webHookUrl,
            CURLOPT_POSTFIELDS => $queryData,
        ));
		curl_exec($curl);
		curl_close($curl);
	break;
}
Александр
23 августа 2017, 16:04
0
Логика простая (субъективная). Если новичек — тебе в отдел для разработчиков (изучать).
или я не прав?
Данный код вообще наболевшая лично моя тема работы с данной компанией и позыв для других, чтобы при виде в тз к примеру «перенос сайта с мегагрупп» голос внутри подсказывал «Бегите глупцы!!!»

Кстати в какой раздел Вы бы разместили подобную тематику? (из доступных)
Александр
23 августа 2017, 11:51
0
у них даже чтобы запись в dns поменять, надо целое заявление писать. А потом «мы рассмотрим Вашу просьбу в течении недели»!!! Неделю менять запись?!
Про ftp Вы правы, стили или картинки залить — только через кривую админку. Причем файлы заливаются только в папку «images», и css и js.
Когда дело дошло до сео, у них на каждую залитую картинку отдельная страница. Когда в вебмастере лицезрел 3000 некачественных страниц, пришлось отключать индексацию у страниц с картинками. А т.к. пакетной работы у них нет, писал на jquery скрипт, который в админке открывает картинки сам и отключает от индексации.
Мне как то рассказывали, что если страница есть в sitemap, поисковики всеравно будут долбиться к этой странице, даже если адрес прописан в robots.txt