Nikovit <Путешествия и разработка>

Битрикс вывод канонических ссылок

Для вывода канонических ссылок в битриксе определим URL текущей страницы:
$page = $APPLICATION->GetCurPage();
И добавляем мета тэг в head средствами битрикса:
$APPLICATION->AddHeadString('<link rel="canonical" href="http://'.SITE_SERVER_NAME.$page.'" />',true);
Полный код:
<?
// Выводим катонические ссылки
$page = $APPLICATION->GetCurPage();
$APPLICATION->AddHeadString('<link rel="canonical" href="http://'.SITE_SERVER_NAME.$page.'" />',true);
?>

Парсер сайтов на Python

Desktop_screenshot (1).png
Сегодня мы напишем с вами парсер сайтов на Python

Задача:
С сайта https://www.sds-group.ru/ загрузить изображения товаров в формате артикул_товара.jpg и описание товаров в формате артикул_товара.txt для последующей загрузки в 1С.
Файл Excel с артикулами которые нужно загрузить прилагается(в файле две колонки первая - артикула, вторая - наименование товара).

Figma импорт файлов в fig формате

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

figma import.png  

Битрикс не выводится свойство Файл

В этой статье я расскажу о способе вывода свойства типа файл в битриксе.

Добавляем новое свойство в настройках инфоблока.

свойство типа файл.png

Битрикс. Добавляем количество товара в корзину через параметр URL

Для добавления в корзину товара и количества через параметр URL я использую следующий скрипт JS
<script type="text/javascript">
    $(document).ready(function() {
        $('input.quantity').change(function() {
            let obAddToCartLink = document.getElementById('addtoCart');
            console.log(obAddToCartLink);
            let link_str = String(obAddToCartLink);
            replace_str = link_str.replace(/(quantity=)[0-9]+/ig, '$1'+$(this).val());
            obAddToCartLink.setAttribute('href', replace_str);
        });
        $('input.quantity').keypress(function() {
            $(this).trigger('change');
        });
        $('a.price-card__quantyty-plus, a.price-card__quantyty-minus').click(function(e){
            e.preventDefault();
            e.stopPropagation();
            var oThisQuntityInput = $('input.quantity:first', $(this).parent().parent());
            var iThisQuantity = parseInt(oThisQuntityInput.val());
            var iSubtrahend = 1;
            if ($(this).hasClass("price-card__quantyty-plus"))
            {
                if (iThisQuantity < 2)
                {
                    return false;
                }
                iSubtrahend = iSubtrahend * (-1);
            }
            var iThisQuantityNew = iThisQuantity + iSubtrahend;
            oThisQuntityInput.val(iThisQuantityNew);
            oThisQuntityInput.trigger('change');
        });
    });
</script>

И HTML код:
<a class="price-card__quantyty-plus" href="#">+</a>
<input type="text" class="quantity price-card__quantyty-count" name="QUANTITY_1" value="1" id="QUANTITY_1">
<a class="price-card__quantyty-minus" href="#">-</a>
<a href="<?= $arResult["ADD_URL"] . '&quantity=1' ?>" id="addtoCart" class="addtoCart btn-basket">В корзину</a>

Суть JS скрипта в том что мы меняем значение в URL quantity=1 на значение которое передается из input с классом quantity.

Python ищем файл в папке по названию

Для поиска файла в папке по названию и получения полного пути к файлу я использую следующий скрипт.
import os

# Директория в которой ищем
dir = "d:\\Temp\\"

# Имя файла
file = "123.jpg"

# Получаем список файлов в директории
names = os.listdir(dir)

# Ищем файл
for name in names:
    # Если нашли то получаем полное имя файла и выводим
    if file == name:
        fullname = os.path.join(dir, name)
        print(fullname)

Telegram бот пересылки сообщений из RSS канала

python_and_rss.png

Сегодня мы напишем бота пересылки сообщений из RSS ленты в канал telegram.

Шпаргалка Git

1280px-Git-logo.svg.png
Составил для себе шпаргалку по работе с Git:

Битрикс подсветка синтаксиса кода в блоге

Для подсветки синтаксиса как на этом сайте, мы воспользуемся библиотекой highlightjs
Преимущество этой библиотеки в том - что не нужно указывать конкретный язык программирования в примерах кода, библиотека автоматически определяет язык программирования.

Скачиваем библиотеку https://highlightjs.org/download/

В файле header.php подключаем саму JS библиотека и CSS стили(различные стили оформления кстати можно посмотреть тут https://highlightjs.org/static/demo/ ):
<?
    // highlightjs
    Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . '/css/highlightjs.css');
    Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . '/js/highlight.pack.js');
?>