Андрей Колчанов (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Серия 14: Функционал главной страницы, включаемые области и реклама
 
Михаил, подскажите пожалуйста по модулю GeoIP Недавно заметил. что если хочу сменить город, нажимаю на название города, то в итоге вплывающее окно отображается как всплывающее а добавляется в конце страницы, где я мог накосячить?
Почтовое событие на создание нового элемента инфоблока, через API
 
Если в шаблоне делаю так (и отправляю через форму):

Размер кухни: #ADD_SIZE#
Стиль: #ADD_STYLE#

То в письме приходит:

Размер кухни:
Стиль:

Если создаю через админку то приходит:
Размер кухни: 400х400x100  
Стиль: 15                      


У свойства Размер кухни тип поля Строка
У свойства Стиль - Список
Почтовое событие на создание нового элемента инфоблока, через API
 
Еще раз здравствуйте!
Сейчас пытаюсь "соединить"
https://camouf.ru/blog-note/2449/?sphrase_id=28078
и эту заметку.

С помощью формы создаутся данные в инфоблоке, письмо уходить но приходить так (кусок кода):
...
Размер кухни: "ADD_SIZE"
Стиль: "ADD_STYLE"
...

В обработчике формы код такой:

Код
$PROP = array();

$PROP['ATT_TYPEKITCHEN_CALC'] = $_POST['kitchen_form']; //Вид кухни

// Размеры: Длина/Ширина/Остров
$data = $_POST['size1_form11'] . 'x' . $_POST['size1_form12'] . 'x' . $_POST['size2_form12'] . 'x' . $_POST['size1_form13'] . 'x' . $_POST['size3_form13'] . 'x' . $_POST['size2_form13'] . 'x' . $_POST['size1_form14'] . 'x' . $_POST['size3_form14'] . 'x' . $_POST['size2_form14'];
$data = trim($data, 'x');
$PROP['ATT_SIZE_CALC'] = $data;

$PROP['ATT_STYLE_CALC'] = $_POST['kitchen_style']; // Стиль
$PROP['ATT_COLOR_CALC'] = $_POST['kitchen_color']; // Цвет
$PROP['ATT_FASAD_CALC'] = $_POST['kitchen_fasady']; // Фасад
$PROP['ATT_STOL_CALC'] = $_POST['kitchen_stol']; // Столешница
$PROP['ATT_MOYKA_CALC'] = $_POST['kitchen_moyka']; // Тип мойки
$PROP['ATT_FARTUK_CALC'] = $_POST['kitchen_fartuk']; // Фартук
$PROP['ATT_FURN_CALC'] = $_POST['kitchen_furn']; // Фурнитура

$PROP['ATT_NAME_CALC'] = $_POST['name']; // ФИО
$PROP['ATT_PHONE_CALC'] = $_POST['phone']; // Телефон
$PROP['ATT_EMAIL_CALC'] = $_POST['email']; // Почта
$PROP['ATT_REGION_CALC'] = $_POST['region']; // Город и область
$PROP['ATT_CALLTIME_CALC'] = $_POST['calltime']; // Время звонка
$PROP['ATT_COMENTS_CALC'] = $_POST['comment']; // Любые комментарии...
$PROP['ATT_FILE_POL_CALC'] = $_FILES['file_pol']; //Свойство файл


//Основные поля элемента
$fields = array(
 "DATE_CREATE" => date("d.m.Y H:i:s"), //Передаем дата создания
 "CREATED_BY" => $GLOBALS['USER']->GetID(), //Передаем ID пользователя кто добавляет
 "IBLOCK_SECTION_ID" => false, // элемент лежит в корне раздела
 "IBLOCK_ID" => 14,
 "PROPERTY_VALUES" => $PROP, // Передаем массив значении для свойств
 "NAME" => strip_tags($_REQUEST['name']),
 "ACTIVE" => "Y", //поумолчанию делаем активным или ставим N для отключении поумолчанию
); 


в intuit.php


Код
AddEventHandler('iblock', 'OnBeforeIBlockElementAdd', 'IBFeedForm');
function IBFeedForm(&$arFields) {
 $SITE_ID = 's1';
 $IBLOCK_ID = 14;
 $EVEN_TYPE = 'NEW_ELEMET_ADDED';
 if ($arFields['IBLOCK_ID'] == $IBLOCK_ID) {
 $arFeedForm = array(
 "ADD_NAME" => $arFields['NAME'],
 "ADD_PHONE" => $_POST['phone'],
 "ADD_EMAIL" => $_POST['email'],
 "ADD_REGION" => $arFields['PROPERTY_VALUES']["152"],
 "ADD_CALLTIME" => $arFields['PROPERTY_VALUES']['151'],
 "ADD_COMENTS" => $arFields['PROPERTY_VALUES']['149'],
 "ADD_FILE_POL" => $arFields["PROPERTY_VALUES"]["150"],
 "ADD_TYPEKITCHEN" => $arFields['PROPERTY_VALUES']['137'],
 "ADD_SIZE" => $arFields['PROPERTY_VALUES']['138'],
 "ADD_STYLE" => $arFields['PROPERTY_VALUES']['139'],
 "ADD_COLOR" => $arFields['PROPERTY_VALUES']['140'],
 "ADD_FASAD" => $arFields['PROPERTY_VALUES']['141'],
 "ADD_STOL" => $arFields['PROPERTY_VALUES']['142'],
 "ADD_MOYKA" => $arFields['PROPERTY_VALUES']['143'],
 "ADD_FARTUK" => $arFields['PROPERTY_VALUES']['144'],
 "ADD_FURN" => $arFields['PROPERTY_VALUES']['145'],
 );
 CEvent::Send($EVEN_TYPE, $SITE_ID, $arFeedForm);
 }
} 
Самодельная форма добавления элемента на API Битрикс
 
Здравствуйте, Михаил!

Скажите, как сделать, чтобы при сохранении данные из нескольких полей input сохранялись в одно поле свойства в тип строка (обычное или множ.)?

Код формы:

Код
<div class="cb_name"><span>2. Размеры</span>
 <div class="cb_showhide" rel="cb2"></div>
</div>
 <div class="cb_options">
 <div class="cb_option cb_sizes pryamaya cur" id="form_id11">
 <span class="center"><input type="text" name="size1_form11" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/pryamaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes uglovaya" id="form_id12">
 <span class="left"><input type="text" name="size1_form12" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size2_form12" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/uglovaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes ostrovnaya" id="form_id13">
 <span class="left"><input type="text" name="size1_form13" maxlength="5"> см.</span>
 <span class="right"><input type="text" name="size3_form13" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size2_form13" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/ostrovnaya.png">
 <div class="cl"></div>
 </div>
 <div class="cb_option cb_sizes drugaya" id="form_id14">
 <span class="left"><input type="text" name="size2_form14" maxlength="5"> см.</span>
 <span class="right2"><input type="text" name="size3_form14" maxlength="5"> см.</span>
 <span class="center"><input type="text" name="size1_form14" maxlength="5"> см.</span>
 <div class="cl"></div>
 <img src="/order-calculation/images/drugaya.png">
 <div class="cl"></div>
 </div>
 <div class="cl"></div>
 <button class="cb_prev">назад</button>
 <button class="cb_next">дальше</button>
 </div> 
В обработчике пытаюсь так:

Код
$PROP['ATT_SIZE_CALC'] = $_POST['size1_form11 size1_form12 size2_form12 size1_form13 size3_form13 size2_form13 size1_form14 size3_form14 size2_form14']; // Размеры: Длина/Ширина/Остров
 
Так не работает :-)
Цвета торговых предложений из Highload инфоблоков в списке товаров
 
Михаил, в Варианте 2 ошибочка в коде:

<?}?>
<?endforeach:?>
<?endforeach;?>

у вас стоит двоеточие.
Серия 15: Создание и работа с торговыми предложениями в Битрикс
 
Здравствуйте, Михаил!
Не выводятся торговые предложения, если выбираю шаблон стандартный, то выводятся. Пытался код взять со стандартного шаблона не помогло...
Серия 21: Умный фильтр и ответы на вопросы
 
Цитата
Михаил Базаров пишет:
Код
 <?if (strlen($arResult['PROPERTIES']['ATT_NOTE']['~VALUE']) !== 0 {?>
КОД ИЛИ ЧТО УГОДНО
<?}?> 
ООО, отлично спасибо, теперь заработало!
Серия 21: Умный фильтр и ответы на вопросы
 
Михаил, помогите пожалуйста:
Делаю вывод с условием:
Код
<? if ($arResult["PROPERTIES"]["ATT_NOTE"]) {?>
 <h3><?=$arResult["PROPERTIES"]["ATT_NOTE"]["NAME"]?>:</h3>
 <div class="note_text">
 <?=htmlspecialcharsBack($arResult["PROPERTIES"]["ATT_NOTE"]["VALUE"]["TEXT"])?>
 </div>
<?}?> 
А условие не работает, т.е. всегда выводиться даже когда значение свойство не указано.

А если включаю его в выводе компонента и меняю DISPLAY_PROPERTIES , то работает.
но а мне надо чтобы работало с PROPERTIES  :)
Серия 21: Умный фильтр и ответы на вопросы
 
Если просто заменяю DISPLAY_PROPERTIES на просто PROPERTIES

Код
<? if ($arResult["PROPERTIES"]['ATT_BARCADE'])?>
 <?=$arResult['DISPLAY_PROPERTIES']['ATT_BARCADE']['NAME']?>:
    <?echo $arResult['DISPLAY_PROPERTIES']['ATT_BARCADE']['DISPLAY_VALUE'];?>
 

и НЕ отключаю его в выводе компонента,
то сверху выводится только "Артикул:"
самого артикль нет.

Пришлось вывод сделать так:

Код
Артикул: <? echo $arResult["PROPERTIES"]["ATT_BARCADE"]["~VALUE"];?> 
и отключаю его в выводе компонента.
Так заработало!!! Спасибо!
Серия 21: Умный фильтр и ответы на вопросы
 
Добрый день, Михаил!

Не знаю куда написать, решил написать сюда.

В карточке товара выводиться список Свойств:

Код
<? foreach ($arResult["DISPLAY_PROPERTIES"] as $pid => $arProperty): ?>
    <li>
        <strong><?= $arProperty["NAME"] ?>:</strong>
        <span><? echo $arProperty["DISPLAY_VALUE"]; ?></span>
        <div class="clb"></div>
    </li>
<? endforeach ?> 

Вопрос можно ли как-то одно из свойств отключить? Чтобы оно не отображалось в карточке товара, чтобы его вывести в другом месте карточки.

Например, есть свойство Артикул, и он уже выводится выше:

Код
<? if ($arResult["DISPLAY_PROPERTIES"]['ATT_BARCADE'])?>
<?=$arResult['DISPLAY_PROPERTIES']['ATT_BARCADE']['NAME']?>:
<?echo $arResult['DISPLAY_PROPERTIES']['ATT_BARCADE']['DISPLAY_VALUE'];?> 
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
Доброе утро, Михаил!
Было бы неплохо, чтобы при повторном нажатии на кнопку Избранное товар удалялся из избранного.
Причины:
1. По аналогии с кнопкой В сравнение;
2. И если посетитель сайта случайно нажал В избранное и не пришлось потом специально заходить в избранное и удалять не нужный товар.
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
ЙЙЙЙееес, разобрался в файле /ajax/add2basket.php нужно указать свой шаблон, а не ajax.
Серия 20: Обзор по реализованному функционалу и реализация поиска по каталогу
 
Цитата
Андрей Колчанов пишет:
Добрый день, Михаил!

Фалы брал с архива этой серии, почему-то в корзине не считается сумма конкретной строчки, т.е. Всего в оплате считается а вместо (Цена) Х (кол.) = 1 (всегда один).
С этим разобрался, есть CSS который скрывает колонку с суммой: .../components/bitrix/sale.basket.basket/basketnew/style.scss:69 В инструментах разработчика браузера это выглядит так: .bx_ordercart_order_table_container table tr td.summ { display: none; }
Серия 20: Обзор по реализованному функционалу и реализация поиска по каталогу
 
И еще в корзине выводиться название, а в Избранном почему то нет названия (выводиться <h5></h5> ;)
Хотя в basket_items_delayes.php - <h5><?= $arItem["NAME"] ?></h5>
Серия 20: Обзор по реализованному функционалу и реализация поиска по каталогу
 
Добрый день, Михаил!

Фалы брал с архива этой серии, почему-то в корзине не считается сумма конкретной строчки, т.е. Всего в оплате считается а вместо (Цена) Х (кол.) = 1 (всегда один).  
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
Доброе утро! Сейчас заметил, почему то оформление надписи и иконки меняется после добавления в корзину.
Не, ну, должно было конечно поменяться но результат не тот :-)

Постараюсь по проще спросить :-)

В шаблоне компонента ваш код, был в одном из уроков:
Код
    <a href="/personal/cart/" title="Начать покупки" class="basket_top">
 <span class="fa"></span>
 <b>В корзине</b>
 <i>пока нет товаров</i>
 </a>
<?}else{?>
 <a href="/personal/cart/" title="В корзину" class="basket_top">
 <span class="fa"></span>
 <b>В корзине</b>
 <i><?=$quant?>
 <? echo getNumEnding($quant, array("товар", "товара", "товаров"));?>
 на <? echo SaleFormatCurrency($price, $defaultCurr); ?></i>
 </a>
<?}?>  
Скрипты не правил, но после нажатия в корзину вижу в инспекторе кода:
Код
<li id="basket-container">
    <a href="/personal/cart/"><span class="fa"></span> Корзина <i>2</i></a>
 
</li>
 
После обновлении страницы отображается как должно:
Код
<a href="/personal/cart/" title="В корзину" class="basket_top">
        <i class="far fa-shopping-cart"></i>
        <span>В корзине</span>
        <i id="cart-i">2            товара            на 33 098 руб.</i>
    </a>
 
Но надпись "В корзину", хотя должно быть "В корзине"
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
Цитата
Михаил Базаров пишет:
use Bitrix\Main\Page\Asset;
CJSCore::Init(array("jquery" ;) );
Ага не нашел в head.
Скопировал из вашего фала header.php почти все строки из <head> :-)

Разработало! Спасибо большое!!!
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
Цитата
Михаил Базаров пишет:
Видимо не подключился js который отправляет в корзину. Он подключен в шаблоне корзины. В принципе, путь там задан не статично, через GetThisFolder - но проверьте свои шаблоны. Попробуйте полностью свои удалить (сохраниться перед этим) и снова использовать мою папку local
Спасибо за ответ!
Скрипты подключены:
$APPLICATION->AddHeadScript($templateFolder."/js/jquery.form.js" );
$APPLICATION->AddHeadScript($templateFolder."/js/jquery.jgrowl.min.js" );

После проверки подключены ли скрипты, проделал следующее:
1. свою папку local заархивировал
2. Вашу залил
3. применил ваш шаблон - всплывающее окно "Товар добавлен..." - работает
4. Залили свой шаблон сайта в папку local (рядом с вашим), применил - не работает
5. скопировал свой шаблон корзины в ваш шаблон сайта, выбрал в компоненте свой шаблон корзины - работат

Получается дело не в шаблоне компонента, а в моем шаблоне сайта, но где копать?  Не пойму...
Скрипты есть, шаблон компонента рабочий... Что еще может повлиять на то что оно обновляется, видимо дело в обновлении страницы?
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
 
Здравствуйте, Михаил!

То же скачал архив из 20го урока и заменил...   :)  

Но есть другие проблемы, не могу понять почему у меня происходит не так как у вас:


1. При нажатии на кнопку "В корзину" у вас выглядит так что страница не обновляется, и всплывает окно, что товар добавлен.
У меня же происходит так, нажимаю "В корзину" обновляется страница, в корзине товар появляется, но нет всплывающего окна.

2. В вас при нажатии на чекбокс для сравнения, тоже всплывает окно, а у меня нет.

Что делать?
Серия 12: Вывод динамичной информации с помощью компонентов
 
Михаил, спасибо за ролики!
Вопрос создал Новости, все работает. Создаю Светы покупателю (Статьи), так же все по видео, но когда включаю ЧПУ, то при детальном просмотре открывается пустая страница. Подскажите где копать? Отключаю ЧПУ и Совет открывается...
Серия 14: Функционал главной страницы, включаемые области и реклама
 
Михаил не нашел в видео, как ограничить вывод нужного количества товаров на главной, чтобы не весь каталог выгружался?
Серия 14: Функционал главной страницы, включаемые области и реклама
 
Цитата
Роман Сергеевич пишет:
Цитата
Михаил Базаров пишет:
Цитата
Роман Сергеевич написал:
У всех возникла заминка при установке модуля определения местоположения? Установка зависает на моменте "Обновление локальной базы данных ipgeobase.ru"
Да, она долго грузится, у мня минут 15 висела но в итоге загрузилась. Если прям на глухо виснет, то проверьте MYSQL может быть он повисает просто
Сейчас висит уже час, по прежнему 0%. А как можно проверить MySQL для данного случая, какие меры предпринять? Запросы к базе идут хорошо, если вы об этом. Тарифный план хостинга вроде мощный, специально оптимизированный для Битрикса от Рег.Ру.
Тоже ждал, ждал час :-)
Потом тупо обновил страницу в браузере и установка пошла, все поставилось без проблем!
Серия 2: Установка 1С-Битрикс на виртуальную машину
 
Всё разобрался, памяти мало надо минимум 1гб
Серия 2: Установка 1С-Битрикс на виртуальную машину
 
Вспомнил, что при установки  bitrix-env выходит текст про DB. Переустановил ОСь запустил все по новой.
Вышло такое сообщение:
[B]You can find root password at /root/.my.cnf client config file. [/B]

[B]Anonymous users removed from MySQL service[/B]
[B]Remote root access to MySQL service disabled[/B]
[B]All 'test' DB privileges revoked.[/B]
[B]MySQL privileges restarted.[/B]

Main configuration of mysql security is complete
Firewall configuration is completed.
Bitrix Environment bitrix-env installation is completed.

Может с этим что не так?
Серия 2: Установка 1С-Битрикс на виртуальную машину
 
Добрый день, Михаил!
Настройки по инструкции сделал, ставил на SimpleCloud.
Запустил установку продукта, вышла ошибка про mysql и предложение повторить попытку, после повтора выходить сообщение:

Код
Ошибка установки главного модуля
 

Что посоветуете сделать?
Подключение мобильной версии шаблона Битрикс сайта, с автопереключением
 
Цитата
Михаил Базаров пишет:
Цитата
Андрей Колчанов написал:
Здравствуйте, нужно разделения на 6 видов шаблона:
ПК, Планшеты ipad, палншеты андроид, iphone, андроид смартфоны и версия для слабовидящих. Как реализовать на битрикс?
Наверное проще сделать адаптивную версию, вы столько шаблонов утомитесь поддерживать однажды
+ одну для слабовидящих по инструкции выше
Может 6 и многовато...

В общем-то, на текущем проекте ПК и планшетная версия почти одно и то же по функциям но по визуалу отличается, а в мобильной явно требуется отключение кучи скриптов, как по визуалу так и по функционалу.

Поэтому считаю, что нужно делить хотя бы так: ПК, планшеты, смартфоны, для слабовидящих.
Собственно я так полагаю, что самая большая сложность, это как отделить андроид планшеты и андроид смартфоны.

Сможете помочь?
Подключение мобильной версии шаблона Битрикс сайта, с автопереключением
 
Здравствуйте, нужно разделения на 6 видов шаблона:
ПК, Планшеты ipad, палншеты андроид, iphone, андроид смартфоны и версия для слабовидящих. Как реализовать на битрикс?

Кроме создания сайтов, я так же веду блог с заметками о вебразработке, записываю бесплатные видеоуроки и содержу форум, на котором можно задавать вопросы и просто общаться. Заметки, преимущественно - это короткие или подробные рецепты, по реализации часто требуемого функционала- в рамках разработки сайтов на 1С-Битрикс

Показать еще