MAXYSS-IT - Рабочие материалы - все сообщения

ymap api открытие точки или кластера при инициализации карты

Как я понял, перекопав документацию ymap api, только objectManager хранит информацию о том кластеризован ли объект в данный момент (при текущем масштабе) или нет.

Небольшой кусок кода из js объекта.
После инициализации карты вызывается метод объекта.
Устанавливает карту в центр по координатам выбранной точки
далее по id точки берет состояние объекта в objectManager

И открывает кастомный попап для точки либо для нескольких точек если вернулся isClusterd == true;

Само собой при вбросе точек (point) в objectManager у них должны быть заданы id


let point = {
   type: 'Feature',
   id: elem.id,
   index: index,
   pointType: elem.courier,
   pointCourier: elem.courier,
        geometry:{
           type: 'Point',
                coordinates: [parseFloat(elem.geo_location.lat), parseFloat(elem.geo_location.lon)],
   },
        options:{
           iconLayout: 'default#image',
                iconImageHref: elem.icon,
   },
        getPId: function () {
           return this.id;
   },
        getPIndex: function(){
           return this.index;
   },
};


 setActivityPoint: function (index) {
            let object = this;
            this.map.setCenter([parseFloat(this.points[index].geo_location.lat),parseFloat(this.points[index].geo_location.lon)], 21, {
                duration: 500,
                checkZoomRange: true
            }).then(function () {
                let findObject = object.objectManager.getObjectState(object.points[index].id);
                if(findObject.found){
                    findObject.isClustered && object.showBaloon(findObject.cluster.features, object.points[index].id);
                    findObject.isClustered || object.showBaloon(object.objectManager.objects.getById(object.points[index].id), true);
                }
            });
        },

Кастомный почтовый шаблон заказа

В визуальном редакторе почтовых шаблонов bitrix можно использовать обычные компоненты.

Источник: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=41&LESSON_ID=3523

Подключаем компонент на дев странице, печатаем $result, пилим шаблон и минимум танцев с бубном.

Подключаем компонент в шаблоне письма.

Кроме того в шаблонах писем работает php код с переменными и условиями.

   <tr>
      <td width="100%" valign="top" >
         <div style="line-height:24px;width:100%;max-width:690px;">
                           <font face="Tahoma, Arial, Helvetica, sans-serif" size="3" color="#282f37" style="font-size:18px;line-height:24px;font-weight: 400;">
                                        <span style="font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 18px; color:#000000;">
                  <?$itemsCount = '{#ITEMS_COUNT#}';?>
                  <?$name = '{#NAME#}';?>
                  <?if($name){?>
                     Здравствуйте, #NAME#!
                  <?}else{?>
                     Здравствуйте!
                  <?}?>    
               </span>
            </font>
         </div>
      </td>
   </tr>

Подарки по подписке на рассылку

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

пишем наследника в init.php
в confirmUrl добавляем необходимые нам дополнительные параметры.

CModule::IncludeModule("sender");

class sender_maxyss extends \Bitrix\Sender\Subscription {
    public static function sendEventConfirm($email, $mailingIdList, $siteId){
        global $APPLICATION;
        $mailingNameList = array();
        $mailingDb = MailingTable::getList(array('select' => array('NAME'), 'filter' => array("IS_TRIGGER" => "N", 'ID' => $mailingIdList)));
        while($mailing = $mailingDb->fetch())
        {
            $mailingNameList[] = $mailing['NAME'];
        }

        $subscription = array(
            'EMAIL' => $email,
            'SITE_ID' => $siteId,
            'MAILING_LIST' => $mailingIdList,
        );
        $confirmUrl = static::getLinkSub($subscription);
        $confirmUrl.='&pattern='.$_COOKIE['SUBSCRIBE_ID'].'&rost='.$_COOKIE["SUBSCRIBE_ROST"].'&og='.$_COOKIE["SUBSCRIBE_OG"].'';
        $date = new DateTime;
        $eventSendFields = array(
            "EVENT_NAME" => "SENDER_SUBSCRIBE_CONFIRM",
            "C_FIELDS" => array(
                "EMAIL" => $email,
                "DATE" => $date->toString(),
                "CONFIRM_URL" => $confirmUrl,
                "MAILING_LIST" => implode("\r\n",$mailingNameList),
            ),
            "LID" => is_array($siteId)? implode(",", $siteId): $siteId,
        );
        \Bitrix\Main\Mail\Event::send($eventSendFields);
    }
}



далее после перехода пользователя на страницу подтверждения подписки мы воспользуемся дополнительными параметрами, и осуществим необходимые нам дествия.

Флаг проблемности заказа - как установить через API?

Флаг проблемности заказа - как установить через API?

Читать подробнее...

логи, битрикс окружение

Для битрикс окружения на centos пути к логам обычно будут такими (зависит от настроек):

Читать подробнее...

Деактивируется агент

home/bitrix/www/bitrix/modules/main/classes/mysql/agent.php

Шаблоны платежных систем (счет и т.д.)

Шаблоны лежат здесь bitrix/modules/sale/handlers/paysystem/bill/template/templat­e.php

Читать подробнее...

Обмен с 1С - порядок

– Чтобы протестировать загрузку товаров, нужно кинуть файлы обмена в /upload/1c_exchange/. Далее под админом открываем урл /bitrix/admin/1c_exchange.php?type=catalog&mode=import&filename=ИМЯ_ФАЙЛА{import.xml, offers.xml и т.д.}. И дальше обновляем страницу, анализируя шаги обмена за чашкой кофе.

– Для тестирования выгрузки заказов с сайта открываем /bitrix/admin/1c_exchange.php?type=sale&mode=query и анализируем. Этот же фид видит 1С при запросе заказов.

Читать подробнее...

Перенос дерева каталога в настройки обмена 1С (очень частный случай)

Стартовые данные - товары уже на сайте (выгружены из 1С), но по разделам разнесены вручную. Нужно - создать файл xml который подгребет модуль обмена 1С - БУС и таким образом наполнить дерево каталога разделами и товарами.

Читать подробнее...

Авторизация пользователя по номеру телефона

В init.php напишем обработчик на событие OnBeforeUserLoginHandler (перед попыткой авторизации пользователя), который будет определять введен логин или телефон и подменять поля отправленные пользователем.

Читать подробнее...

Настойка модуля "Интеграция с Ozon.ru"

Интеграция с Ozon.ru - товары, цены, остатки

После установки модуля в меню Настройки появится новый пункт "Интеграция с Ozon.ru" , а в типах свойств инфоблока новый тип "Атрибуты для Ozon.ru". Далее необходимо:


1) Создать новое свойство инфоблока товаров: тип "Атрибуты для Ozon.ru", обязательно задать код свойства "CAT_OZON";

Читать подробнее...

Настройки виртуальной машины Битрикс - только ссылки

Почта - https://dev.1c-bitrix.ru/community/webdev/user/46357/blog/2138/

Виртуальная машина Битрикса - разные кодировки сайтов - Строковые функции strtoupper и strtolower работают некорректно

Проверка функций на морде сайта

echo strtoupper("абвгд");
Должно вернуть АБВГД, а возвращает абвгд


Читать подробнее...

Страницы: 1 | 2 | 3 | 4 | 5 | ... | 8 | След.