• Как передать значение переменой в комопнент который выше?

    @Sky161 Автор вопроса
    Начинающий Web-разработчик
    Нашел решение сам. Решение следующее:
    1. располагаем компоненты на странице так, чтобы компонент который передает переменную был выше по коду
    2. Дальше в шаблоне второго компонента(который принял параметр), используем наши отложеные функции. Я испоьзовал:
      <?$this->SetViewTarget('subitem');?>
      	<pre>
      		<?print_r($arResult);?>
      	</pre>
      <?$this->EndViewTarget();?>


    3. Дальше мы можем использовать функцию <?$APPLICATION->ShowViewContent('subitem');?> выше обоих наших компонентов
    Ответ написан
    Комментировать
  • Как на одной странице использовать две карусели?

    @Sky161 Автор вопроса
    Начинающий Web-разработчик
    littleguga спасибо помогло. Но чет не могу понять, почему мой код неправильно работал? Вроде оба кода такие же за исключением переименование переменной.
    Ответ написан
  • Как сделать выпадающим только один элемент?

    @Sky161
    Начинающий Web-разработчик
    codepen.io/anon/pen/XmdeKv

    Надо через each пройтись по элементам и от $(this) выполнять действия.
    Ответ написан
    Комментировать
  • Как передать из DOM координаты и названия меток в GoogleMaps?

    @Sky161 Автор вопроса
    Начинающий Web-разработчик
    Использовал плагин gmaps.js

    $('.dealers-map .point li').each(function(){
            var coordinat = $(this).data('coordinat');
            var urlPath = $(this).data('url');
            var name = $(this).data('name');
            var idItem = $(this).data('id');
            var arrCoordinat = coordinat.split(',');
            var itemArr = [];
            
            $(this).find('p').each(function(){
              var item = $(this).text();
              
              itemArr.push('<p>'+item+'</p>');
            });
            var items = itemArr.join('');
            
            // создаю маркер, сохраняю ссылку в переменную
            var marker = map.addMarker({
              lat: arrCoordinat[0],
              lng: arrCoordinat[1],
              title: 'bx-id-'+idItem,
              icon: '/bitrix/templates/main/img/icon-marker.png',
              infoWindow: {
                content: '<div id="bx-id-'+idItem+'" class="baloon-innr"><h3>'+name+'</h3>'+items+'<a href="'+urlPath+'">Контактная информация</a></div>'
              }
            });
    
             // добавляю маркер на карту
             map.addMarker(marker);
    
             // добавляю ссылку на маркер в объект
             mapMarkers[idItem ] = marker;
          });
    Ответ написан
    Комментировать
  • Как создать форму с отправкой на почту и записью в инфоблок?

    @Sky161 Автор вопроса
    Начинающий Web-разработчик
    Сделал все следующим образом:
    <?require_once($_SERVER['DOCUMENT_ROOT'].'/PHPMailer/class.phpmailer.php');
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    
    $mail_body = implode('/n', $_POST)
    
    /*запись данных в инфоблок*/ 
    $arLoadProductArray = Array( "MODIFIED_BY" => $USER->GetID(),
        "IBLOCK_SECTION_ID" => false,
        "IBLOCK_ID" => 24,
        "NAME" => $_POST['name_organization'],
        "ACTIVE" => "N",
        "DETAIL_TEXT" => $mail_body, 
        ); 
    CModule::IncludeModule("iblock"); 
    $element = new CIBlockElement; 
    if($product_ID = $element->Add($arLoadProductArray)){ 
        
        /*отправка формы*/ 
        $mail = new PHPMailer;
        $mail->From = "no-replay@terrafrigo.ru";
        $mail->FromName = "no-replay";
        $mail->AddAddress('почта куда идут письма');
    
        $mail->isHTML(true);
        $mail->CharSet = 'UTF-8'; 
        $mail->Subject = 'тема письма'; 
        $mail->Body = $mail_body;
    
        if($mail->Send()){ 
            echo 'Отправлено';
        }
        echo 'Элемент записан ('.$product_ID.') '; 
    }else{ 
        echo "Error: ".$element->LAST_ERROR.' '; 
    }


    Для отправки писем используется плагин - https://github.com/PHPMailer/PHPMailer
    Ответ написан