Генерация ORM-класса для таблицы в Битрикс

Генерация ORM-класса для таблицы в Битрикс
  1. Добавляем GET-параметр orm=y, то есть до # и после ?lang=ru добавляем &orm=y.
  2. Пример: https://site.ru/bitrix/admin/perfmon_tables.php?lang=ru&orm=y#iblock_element
  3. После в контекстном меню таблицы появится дополнительный пункт — ORM.

ORM_CLASS_GENERATE_BITRIX

Добавить CANONICAL в битрикс

Решение проблем с сайтом на Битрикс

Идем по пути /bitrix/php_interface/init.php

Вставляем запись:

 

AddEventHandler('main', 'OnEpilog', 'setCanonical', 1);
function setCanonical()
{
    global $APPLICATION;

    if (strpos($APPLICATION->GetCurPageParam(), '?') !== false) {
        if ($APPLICATION->GetPageProperty('canonical') == '') {
            CMain::IsHTTPS() ? $s = 's' : $s = '';
            $url = 'http' . $s . '://' . SITE_SERVER_NAME . $APPLICATION->GetCurPage();
            $APPLICATION->SetPageProperty("canonical", $url);   
        }
    }
}

Отправить новость в рассылке сразу после публикации (Битрикс)

Решение проблем с сайтом на Битрикс

Непонятно, почему такой функции нет в Битрикс из коробки, ведь реализуется не очень сложно и ОЧЕНЬ востребована.
Есть периодическая отправка рассылки новостей. В новостях для почты есть настройка минимального количества новостей, типа, если не будет столько НОВЫХ записей, то рассылка уйти не должна.
На практике так не получается, даже если поставить одну новость. Рассылка срабатывает всегда. Что странно, ведь в описании как раз указано, что если нет НОВЫХ записей с момента отправки — новость уходить не должна.

Поэтому после гугления нашел реализацию мгновенной УПРАВЛЯЕМОЙ отправки новостей, немного доработал и сделал клиентам. Все довольны )

Итак, что нужно:

1. Настроить рассылку в Маркетинг -> Рассылки.
2. В поле сообщения добавить код

#MESSAGE#

(само сообщение будет формироваться в внутри функции отправки)
3. Отправка — вручную позже.
4. Запомнить ID рассылки.
5. Добавить свойство в новости, которые будут рассылаться: Простой чекбокс(строка), значения по умолчанию, название — что-то типа «Отправить рассылку?» (галка будет автоматически сниматься после отправки новости в рассылке)
6. Вывести свойство в редактирование новости
7. Запомнить ID новостей.
8. Добавить код в /bitrix/php_interface/init.php, заменив на ваш и на ваш.
<АДРЕС ПОЧТЫ ОТ> -вставляете свой, ЛУЧШЕ, чтобы доменное имя было как у домена сайта. Тогда новость будет приходить от адекватной почты (по крайней мере, на BEGET), а не от «unverified».

Скачать скрипт

9. Создаете новость, и, если хотите отправить ее сразу в рассылке, ставите галку «отправить в рассылке».
Она отправится после публикации.
На этом — все, считаю, что это, возможно, не лучшая реализация и можно все причесать, но работает отлично.

Поддержка сайта НМК — производителя печей в Сибири (1С Битрикс)

Поддержка сайта НМК - производителя печей в Сибири (1С Битрикс)

Вот уже третий год поддерживаем сайт производителя банных печей в Сибири — завода НМК.

CMS сайта — 1С-Битрикс.

Поддержка сайта НМК - производителя печей в Сибири (1С Битрикс)

Вот что о себе говорит завод НМК:

НМК Сегодня

  1. В настоящее время в НМК трудятся несколько сотен квалифицированных сотрудников различных специальностей.
  2. Выпускаемые котлы и печи реализуются в большинстве регионов СНГ через развитую сеть дистрибьюторов.
  3. Современные автоматизированные линии вместе с автопарком располагаются на площади 12 000 м² собственных площадей.
  4. Ежегодная отгрузка в розничные дилерские сети — около 120 тысяч готовых изделий.
  5. В нашем арсенале имеется более 12 сертификатов, дипломов и благодарностей, а также 10 авторских патентов.

Качественным, красивым печам — приятный, красивый сайт!

Не работает Sypex Geo или MaxMind в Битрикс

Не работает Sypex Geo или MaxMind в Битрикс

Новость не очень хорошая — на 02.03.2022 по известным причинам сайт Sypex Geo лежит и сервис недоступен.

В связи с этим, пришлось перейти на MaxMind

Но решение из коробки Битрикс также не работает даже при заполненных полях регистрации (логина и ключа).

В итоге, решение простое — в классе MaxMind (файл /bitrix/modules/main/lib/service/geoip/maxmind.php) устаревшая ссылка запроса — ее надо заменить на рабочую с сайта.

Для GeoIP2 Lite  — https://geolite.info/geoip/v2.1/city/{$ipAddress}?pretty

И все заработает в штатном режиме.

Разработка для сайта Сибирские печи (1С Битрикс)

Разработка для сайта Сибирские печи (1С Битрикс) WEBSTUDIUS Bitrix

Разработка для сайта Сибирские печи (1С Битрикс) WEBSTUDIUS Bitrix

Сеть фирменных магазинов котельного и печного оборудования «Сибирские печи» представлен в нашем портфолио своим интернет-магазином.

Разработка и внесение различных улучшений, интеграций сервисов, дополнений и прочих, улучшающих средств юзабилити сайта ведется постоянно.

Среди них — авторизация по звонку, полная синхронизация с 1С Предприятие, переход на мультидомены, так как компания ведет свою деятельность по всей России.

И это — лишь малая часть всего, что делается и внедряется.

Сайт разработан на системе 1С Битрикс.

Сайт: https://sibirskie-pechi.ru/

Вывести пользовательское свойство ( UF_ ) типа ФАЙЛ в каталоге Битрикс

Решение проблем с сайтом на Битрикс

Потребовалось вывести картинки, прикрепленные в пользовательском свойстве подразделов каталога.

Копал инет, в итоге - рабочий способ:
[exec off]

//Получаем нужное свойство. Айди основного инфоблока и Айди подраздела обязательны, свойства можно получить все, задав UF_*
<? $rsSeo = CIBlockSection::GetList(array("SORT"=>"ASC"), array("IBLOCK_ID"=>$arResult["ORIGINAL_PARAMETERS"]["IBLOCK_ID"], "ID"=>$arResult["ORIGINAL_PARAMETERS"]["SECTION_ID"]), false, array("UF_CAT_IMAGE"));

while($arSeo = $rsSeo->GetNext())
{
//если есть свойства, выводим

if($arSeo['UF_CAT_IMAGE'] != false) { ?>
<divclass="col-xs-12 cat_image_wrapper"style="">
<h4>Фотографии <b><?=$arResult["NAME"];?></b> интерьере</h4>
<br>
<?
foreach($arSeo['UF_CAT_IMAGE'] as $item) {
if(empty($item)) break;
$arFile[$item] = CFile::GetFileArray($item);
// Ресайзим если надо
$arFileTmp = CFile::ResizeImageGet(
$item,
array("width" => 1024, "height" => 768),
BX_RESIZE_IMAGE_PROPORTIONAL,
true, $arFilter
);
?>

//Выводим в нужном нам формате и стилях

<div class="cat_image" data-entity="image">
<ahref="<?=$arFileTmp["src"];?>"rel="lightbox-cats">
<imgsrc="<?=$arFileTmp["src"];?>"alt=""class="lightbox"title=""itemprop="image">
</a>
</div>
<?
}
echo'</div>';
}
}

?>

[/exec]

Сайт для магазина строительных материалов и керамогранита — ALEKSSTROI.RU

Сайт для магазина строительных материалов и керамогранита - ALEKSSTROI.RU

Сделали сайт для компании АЛЕКССТРОЙ.

Сайт создан на движке 1С-Битрикс.

Вот что говорят о себе сами ребята:

Вас приветствует компания ООО ТД "АлексСтрой" .

Мы рады предложить Вам наши услуги по комплексному снабжению организаций и строительных объектов.

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

В 2007 году наша компания начала работу на строительном рынке г.Новосибирска и Новосибирской области, клиенты компании - физические лица, промышленные компании, строительные организации, ремонтно-отделочные бригады и т.д. Линейка предлагаемой продукции составляет более 10000 позиций, что позволяет скомплектовать полностью Вашу заявку.

Сотрудничество с  производителями  KNAUF INSULATION, ИЗОСПАН, Henkel Ceresit, ПЕНОПЛЭКС, Технониколь, Изовер, Геркулес, Bergauf, Скала,  и многие другие производители, что  позволяет держать цены конкурентноспособными.

 

Сайт для магазина строительных материалов и керамогранита - ALEKSSTROI.RU

Цветовая гамма - в соответствии с новыми веяниями 2021-2022, по версии Adobe. Самый топчик, моднее пока не придумали 🙂

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

Посмотреть сработавшие исходящие почтовые события в Битрикс

Решение проблем с сайтом на Битрикс

Как посмотреть сработавшие исходящие почтовые события в Битрикс

При конфигурации и начале работы в 1С Битрикс Управление сайтом возникает вопрос: как посмотреть отправленные письма в Битрикс?

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

Здесь очень важный момент – по способу отправки. При установке многих модулей и далее отправке сайт начинает падать с 50X ошибками.

И при переключении между страницами сайт постоянно тормозит и падает.

Это происходит по той причине, что модуль осуществляет сетевые подключения к «вашему SMTP» серверу что в случае работы «Агентов на хитах» может увеличивать время генерации страниц и приводить к ошибкам 50X.

В случае возникновения проблем рекомендуется перевести Агент на Cron либо уменьшить интенсивность отправки писем в настройках соответствующих модулей.

Мы же можем посмотреть все события на отправку писем и их статусы специальным запросом к MySQL в консоли либо через GUI-интерфейс Битрикса: Рабочий стол > Настройки > Инструменты > SQL запрос:

select * from b_event order by id desc

Данный запрос покажет список всех сообщений и статусы отправки. Если сообщение не отправлено — можно определить причину.

1) В результатах запросы разбираем столбец SUCCESS_EXEC

SUCCESS_EXEC = Y — значит все в порядке, сообщение отправлено (если не пришло на почту, проблема с сервером)

SUCCESS_EXEC = N — не обработано событие (значит не отправлено)

SUCCESS_EXEC = 0 — не найден шаблон (указан не верный шаблон)

Соответственно, просмотрев код, вы можете убедиться что со стороны битрикса почта ушла хорошо (Y, 0) или же узнать по какой причине этого не произошло. Если стоит код Y, однако письма не доходят, с большой вероятностью надо проконсультироваться с системным администратором сервера, скорее всего дело в настройке почтового сервера.

2) Далее смотрим: EVENT_NAME

Это тип почтового события, т.е. по сути метка о том какого типа было это сообщение. Все типы (а собственно узнать их по кодам) можно увидеть по пути /bitrix/admin/type_admin.php?lang=ru

3) Поле: DATE_EXEC

Это дата, когда была осуществлена попытка отправки. Если там пусто, значит письмо ещё не отправлялось.

Битрикс отправляет почту на любом хите. Сколько писем может быть отправлено за один хит настраивается в главном модуле.

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

Убрать PAGEN_ из адресной строки (сайт на битрикс)

Часто SEO просит убрать PAGEN_1 и все остальные из адреса пагинации битрикс. Попробуйте этот вариант в .htaccess:

#Beautiful paginations
php_value auto_prepend_file "/home/d/УЧЕТНАЯ_ЗАПИСЬ_ХОСТИНГА/ВАШ_САЙТ/public_html/bitrix/pagen.php"
RewriteRule ^(.*)/pagen([\d]+)/ /$1/?PAGEN_1=$2 [L,QSA]

Содержимое файла pagen.php:

<?php
function __isPathTraversalUri($uri)
{
    if (($pos = strpos($uri, '?')) !== false) {
        $uri = substr($uri, 0, $pos);
    }
    $uri = trim($uri);
    return preg_match("#(?:/|2f|^|\\\\|5c)(?:(?:%0*(25)*2e)|\\.){2,}(?:/|%0*(25)*2f|\\\\|%0*(25)*5c|$)#i", $uri) ? true : false;
}
$newUri = preg_replace('#(pagen[\d]+/)#is', '', $_SERVER['REQUEST_URI']);
if (!__isPathTraversalUri($newUri)) {
    $_SERVER['REQUEST_URI'] = $newUri;
}
Открыть чат
1
Попробуйте написать нам в WhatsApp!
Попробуйте написать нам в WhatsApp!