Задать вопрос
  • Разработка алгоритма бот автоответчик на python для телеграма?

    @anton99zel
    29а класс средней школы №7
    1. Находим @BotFather и пишем ему /newbot
    2. Отвечаем на вопросы
    3. Получаем ключ
    4. Создаем вебхук - страницы, которая будет взаимодействовать с твоим ботом
    5. На странице получаем ответы так:
    $data = json_decode(file_get_contents('php://input'), true);

    Отвечаем как то так:
    if ((!empty($data['message']['text'])) and ($data['message']['text'] == '/start')){
    $parameters = 
        array(
            'chat_id' => $data['message']['chat']['id'], 
            'text' => 'Здравствуйте!'
        );
    send('sendMessage', $parameters); 
    };

    function send($method, $data)
    {
        $url = "https://api.telegram.org/bot11111111111111111111111111111. "/" . $method;
    
        if (!$curld = curl_init()) {
            exit;
        }
        curl_setopt($curld, CURLOPT_POST, true);
        curl_setopt($curld, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curld, CURLOPT_URL, $url);
        curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($curld);
        curl_close($curld);
        return $output;
    }

    Как на Питон не знаю, но принцип то такой же
    Ответ написан
    Комментировать
  • Как вести себя в ситуации, когда клиент хочет написать заявление в полицию?

    @anton99zel
    29а класс средней школы №7
    Чтобы успокоить автора, напишу, хоть это и не ответ:
    А чего вам собственно бояться полицию? Ну, максимум вызовут, посмотрят что у вас гражданско-правовые отношения и скажут товарищу - иди в суд.
    Если с его стороны есть хоть капля угрозы, да хоть, оскорбления, то скриншотим всё, заверяем у нотариуса и и пишем заявление в полицию уже на него.
    Но, я уверен, что просто у вас всё замнется, а на будущее:
    Пользуйтесь Ватсапом или Скайпом, там в отличии от Телеграм, участники не могут удалять сообщения с обоих сторон.
    Работайте в предоплату, всегда, хотя бы в 50%.
    Всегда. Всегда. Всегда до начала работ определяйте стоимость.
    Запомните: Вам всегда нужно работать с тремя документами: Заявка, Договор, Акт выполненных работ.
    Никогда не берите чужой паспорт для регистрации услуг, если ваши отношения не закреплены договором. Ведь по сути, вы используете чужой документ для регистрации чего-либо, не имея основания, например заявки.
    -
    Если у вас есть какие то налоговые косяки, то это никого не волнует. Это даже налоговую редко волнует.
    оценивал, что мы сделаем сайта за 60 000 рублей

    Оценивать, еще не значит, что это гонорар за работу.
    Короче, просто забейте, ну, вот просто забейте и всё. Будет обоим уроком.
    Ответ написан
    1 комментарий
  • Можно ли отключить блок "Дополнительные свойства" на странице заказа?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Можно ли отключить блок «Дополнительные свойства» на странице заказа

    Можно
    это чисто фишка Bitlate?

    Чисто
    Ответ написан
  • Как массово изменить цены на торговые предложения?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <?php
    //Пример увеличения цены 
    //Задача поднять цены у товаров с 9500 до 10500
    require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
    CModule::IncludeModule("catalog");
    $arSelect = Array("ID", "IBLOCK_ID", "CATALOG_PRICE_1");
    $arFilter = Array("IBLOCK_ID"=>8, "CATALOG_PRICE_1" => '9500');
    //ID инфоблока с ТП, а не с простыми товарами
    $resw = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1000000), $arSelect);
    while($ob = $resw->GetNextElement()){ 
     $arFields = $ob->GetFields();  
     $arProps = $ob->GetProperties();
    {
    echo $arFields[ID].' - '.$arFields['CATALOG_PRICE_1'].'</br>';
    $PRODUCT_ID = $arFields[ID];
    $PRICE_TYPE_ID = 1;
    //Тип цены смотрим в админке, обычно 1
    $arFields = Array(
        "PRODUCT_ID" => $PRODUCT_ID,
        "CATALOG_GROUP_ID" => $PRICE_TYPE_ID,
        "PRICE" => '10500',
        "CURRENCY" => "RUB"
    );
    $res = CPrice::GetList(
            array(),
            array(
                    "PRODUCT_ID" => $PRODUCT_ID,
                    "CATALOG_GROUP_ID" => $PRICE_TYPE_ID
                )
        );
    if ($arr = $res->Fetch())
    {
        CPrice::Update($arr["ID"], $arFields);
    }
    else
    {
       CPrice::Add($arFields);
    };
    }
    };

    В твоем случае, нужно $arFilter добавить свою выборку, указав нужное свойство и его значение или отсутствие значения
    Ответ написан
    3 комментария
  • Какой VDS/VPS для Битрикс будет предпочтительнее?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Как бы надо смотреть на посещаемость, на запросы, на внешние и внутренние интеграции проекта. Также на то, как написан код. Ведь если кеширование, cdn, композитный сайт - это одно. А может код коряво написан, что и 16 гигов памяти не хватит и php будет падать...
    Может у вас мертворожденный проект, то Битрикс и на vps за 200 рублей будет работать.
    Для чего то среднего, я бы искал:
    CPU 1 x 5 ГГц
    RAM 4-8 ГБ
    NVME быстрее, но и SSD пойдет. Считаем так: до 10 гигабайт на систему + 2-3 размера сайта.
    Виртуальные машины Битрикс никогда мне не нравились, ставлю тупо Centos, затем Nginx.
    С панелью от ISP manager поприятнее будет работать.
    Хваленые Hetzner и OVH для Европы может быть и нормально, но в России скорости оставляют желать лучшего.
    Ответ написан
  • BItrix rак не выводить элемент если значение в массиве пустое?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    while($arCity = $rsCities->Fetch()) 
    if (!empty($arCity['U_VACANCY_CNT'] ))
    {
      $arCity['U_VACANCY_CNT'] = $vacanciesGroupedByCity[$arCity['CODE']];
      if($arResult['ITEMS'][$arCity['IBLOCK_SECTION_ID']]) {
        $arResult['ITEMS'][$arCity['IBLOCK_SECTION_ID']]['ITEMS'][] = $arCity;
      }
    Ответ написан
    3 комментария
  • Как изменить стоимость корзины Битрикс на фиксированную величину?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    До формирования заказа используйте правила корзины.
    После оформления заказа, изменяйте по api из внешней программы, если требуется.
    Ответ написан
  • Как уменьшить качество картинки?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Resize работает только тогда, когда изменяется исходный width или height. Если вы задали размеры, но картинка и так меньше ваших размеров, то Resize не сработает. А потому и неприменятся quality и прочие параметры.
    jpgQuality 50 - это уже плохо. Вы получите некачественную картинку. А на картинках с меньшим разрешением это будет особенно заметно.
    Я бы задавал Quality в зависимости от разрешения оригинального файла.
    Некоторые результаты интереснее получать работая с изображениями с библиотекой на php
    Пример
    Чтобы сжимать качество вашим способом, получите исходный размер, и подставьте его в параметры за минусом 1 пикселя.
    Ответ написан
    Комментировать
  • Как сделать связь свойства из разных инфоблоков?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Общие свойства, например ФИО Тренера завести не как свойства, а как элементы инфоблока.
    Расписание (а это отдельный инфоблок, видимо) привязывать к элементу другого инфоблока.
    Короче, тут смотреть нужно, как реализовано.
    Ответ написан
    Комментировать
  • Какой подходящий размер изображение для Open Graph?

    @anton99zel
    29а класс средней школы №7
    Делаю везде как описано в этой статье на habr
    968×504, при загрузке изображений (впрочем и видео тоже) нужно соблюдать "безопасные зоны" - отступы по периметру, которые будут обрезаны без ущерба для центрального контента.
    Ответ написан
    2 комментария
  • Возможна ли реализация интернет-магазина на Битриксе:Старт?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    На лицензии Старт полноценный ИМ не создать. В поставку тупо не входят модули Торговый каталог, Заказы, Валюты, Доставки, Оплаты, скидки, склады, остатки... и прочее и прочее.
    Для магазина нужна минимально подходящая лицензия - Малый Бизнес.
    Однако, на лицензии Старт вполне делаются небольшие магазины, нужна лишь фантазия применения инфоблоков и их свойств. Если фантазии и опыта нет, то для таких придумали готовые решения на базе лицензии Старт:
    marketplace.1c-bitrix.ru/search/?q=%D0%BC%D0%B0%D0...
    Ответ написан
  • Как сделать подписку на результаты поиска в умном фильтре?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Результат поиска это набор элементов, имеющих определенные свойства.
    Этот набор нужно присвоить пользователю, например на highload-блоках.
    По крону выполнять для всех пользователей с набором getlist, записывая id новых элементов, созданных за последнее время, равное промежутку выполнения команды в крон, где перед выборкой стоит массив свойств для фильтрации результатов. Если новые элементы появились - отправляем письмо...
    -
    Если пользователей на сайте мало и большой нагрузки не ожидается, то можно выполнять вышеописанное "на лету" по событию "добавление нового элемента в инфоблок".
    Ну, и конечно добавить в интерфейс пользователя - кнопки подписаться, которая создаст записи в highload для последующего getlist
    Ответ написан
    2 комментария
  • На битриксовом сайте все пользователи видят панель управления. Что делать?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <?if($GLOBALS["USER"]->IsAuthorized()):?>
       <?$APPLICATION->ShowPanel();?>
    <?endif;?>
    Ответ написан
    Комментировать
  • Существует ли решение для автоматического появления скидок в нужное время?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Повесь на крон, переключая ACTIVE => "Y" и ACTIVE => "N", указав номер правила
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    use Bitrix\Sale\Internals; 
    CModule::IncludeModule("catalog");
    CModule::IncludeModule("iblock");
    CModule::IncludeModule("sale");
    CSaleDiscount::Update(5, array("ACTIVE" => "Y"));
    Ответ написан
    Комментировать
  • Как проверить много электронных адресов на существование?

    @anton99zel
    29а класс средней школы №7
    Не понимаю - зачем нужно проверять.
    В Сендпульсе есть - как проверка, так и отчетность на доставляемость.
    Ответ написан
    Комментировать
  • Как сделать отзывы через инфоблок на сайте 1C-Bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Давайте в бущем только конкретные вопросы, тут не занимаются обучением.
    Для добавления элементов в инфоблок, используйте первый пример из документации
    по ссылке.
    Ответ написан
    3 комментария
  • Почему в каталоге bitrix не отработает htaccess?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Options -Indexes 
    ErrorDocument 404 /404.php
    php_flag display_errors on
    php_value error_reporting 6143
    php_value memory_limit 256M
    RewriteEngine on
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ https://site.ru/ [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
    RewriteRule ^index\.html$ https://site.ru/ [R=301,L]
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$
    RewriteCond %{REQUEST_URI} !^/system/import/from1c_custom\.php$
    RewriteCond %{SERVER_PORT} !^443$     [OR]
    RewriteCond %{HTTP_HOST} ^www\.       [NC]
    RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} //
    RewriteRule .* /$0 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*)$ /$1/ [R=301,L]
    
    <IfModule mod_php7.c>
      php_flag session.use_trans_sid of
      php_value display_errors 1
      #php_value mbstring.internal_encoding UTF-8
    </IfModule>
    
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
    RewriteCond %{THE_REQUEST} /(.*)index.php.*$
    RewriteCond %{THE_REQUEST} !bitrix/admin/
    RewriteRule .* /%1 [R=301,L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
      RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
      RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    
    </IfModule>
    
    <IfModule mod_dir.c>
      DirectoryIndex index.php index.html
    </IfModule>
    
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 3 day"
      ExpiresByType image/gif "access plus 3 day"
      ExpiresByType image/png "access plus 3 day"
      ExpiresByType text/css "access plus 3 day"
      ExpiresByType application/javascript "access plus 3 day"  
    </IfModule>
    Ответ написан
  • Как из детальной страницы новости убрать контент, не относящийся к этому компоненту?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <? if ($APPLICATION->GetCurPage() == "/news/index.php"){?>какие-то другие блоки<?}?>
    Ответ написан
    Комментировать
  • Битрикс, как вывести свойства товара?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    1. CCatalogProduct::GetList Устарел
    2. CCatalogProduct::GetList не имеет возможности вывода свойств
    3. Вместо CCatalogProduct::GetList следует использовать \Bitrix\Catalog\ProductTable::getList
    4. Для вывода свойств нужно использовать CIBlockElement::GetList
    Ответ написан
    Комментировать