Требуется разработчик! Поддержка серверов

Антон Долганин ( ' " <u>test2</u> " ')

Управление

Ближайшие дни рождения друзей
Информация доступна только на странице текущего пользователя.
Группы
Руководитель подразделений
Доска почета
'bitrix:intranet.structure.honour.user' is not a component
Отсутствия

Описание

Антон Долганин ( ' " <u>test2</u> " ')

Контактная информация

Контактная информация недоступна.
Живая лента
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
11.03.2016 14:47
CIBlockElement::GetList
Два простых правила оптимизации самого популярного запроса:
  1. Не используется getNext без надобности. Если нет вывода в публичную часть, лучше fetch. А еще лучше - самим применить htmlspecialcharsbx к нужным ключам.

  2. Указывайте явно в выборке нужные поля. Работаете только с ID - его и пропишите. По умолчанию тянутся все поля таблицы.
Теги:
drIceman
Антон Долганин ( ' " <u>test</u> " ') написал:
Это в доке написано или курсе? А что там в контексте? Просто скорее всего рекомендовали по причине того, чтобы новички не выводили небезопасные переменные. Но getNext(false, false) лучше, соглашусь.
Это в контексте CIBlockResult, там Fetch отсутствует и наследуется от CDBResult. Другими словами Fetch под инфоблоки не заточен.
1 Ещё
Kirill
Правда ли что fetch работает быстрее getNext? Еще столкнулся с проблемой получения DETAIL_TEXT и DETAIL_PAGE_URL у fetch.  
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ')
Kirill, конено, быстрее. В частности как раз потому, что не получает полные ссылки и форматированный подробный текст. Для этих целей и нужен getNext
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
30.03.2016 06:18
LocalRedirect
У LocalRedirect есть одна особенность. К примеру, вы разместили эту конструкцию на промежуточной странице (редиректнуть дальше пользователя при определенном условие, или всегда). Так вот, если потом на сайте включат защиту редиректов, то пользователь столкнется с формой "вы хотите перейти на другую страницу, подтвердите").

Чтобы таких нюансов избегать, используйте второй параметр true. Естественно, если вы уверенны в этом редиректе как разработчик:
LocalRedirect('/people/user/1/', true);
Никита Ермиличев
стоит отметить, что при использовании LocalRedirect обязательно нужно обрубать скрипт (die, return)
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
10.08.2016 11:20
Дни рождения в +/- 3 дня на D7
use \Bitrix\Main;

Main\UserTable::getList(array(
   'filter' => array(
      'BIRTHDAY_MONTH' => date('m'),
      '>BIRTHDAY_DAY' => date('d')-3,
      '<BIRTHDAY_DAY' => date('d')+3,
   ),
   'runtime' => array(
               new Main\Entity\ExpressionField('BIRTHDAY_YEAR', 'YEAR(PERSONAL_BIRTHDAY)'),
               new Main\Entity\ExpressionField('BIRTHDAY_MONTH', 'MONTH(PERSONAL_BIRTHDAY)'),
               new Main\Entity\ExpressionField('BIRTHDAY_DAY', 'DAY(PERSONAL_BIRTHDAY)'),
               ),
))->fetchAll();
Никита Ермиличев
А если 29/30/31/1/2 число?
0 Ещё
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
16.09.2016 12:20
Получить телефоны, мейлы, сайты, мессенджеры контакта/компании/... CRM
Получить сабж можно через метод CCrmFieldMulti.
Вторым параметром передается фильтр:
ENTITY_ID - тип сущности (CONTACT, COMPANY)
ELEMENT_ID - id сущности
можно еще TYPE_ID - PHONE, EMAIL, и так далее
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
05.09.2016 11:15
Форматирование цены в CRM
В CRM есть замечательный метод форматирования денег:
echo CCrmCurrency::MoneyToString(123500, 'RUB');
123 500.00 руб.
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
18.08.2016 11:38
Добавление адреса подписки в новом модуле sender
if (\Bitrix\Main\Loader::includeModule('sender')) {
   $list = array();
   foreach (\Bitrix\Sender\Subscription::getMailingList(array('IS_PUBLIC' => 'Y')) as $l) {
      $list[] = $l['ID'];
   }
   \Bitrix\Sender\Subscription::add('test@mail.ru', $list, SITE_ID);
}

Сначала получаем списки, потом подписываем адрес. Если массив списков пустой (первую часть кода убрать), то пользователь добавляется без списков подписки.  
Антон Долганин ( ' " <u>test2</u> " ') -> Bxapi
23.07.2016 07:36
Повторно запустить мастер установки решения (сайта)
Например, при добавлении второго сайта есть возможно указать опционально - "Запустить мастер выбора решения", и после добавления сайта вы перейдете к установке сразу. Но что делать, если мастер надо запустить повторно, без создания сайта? Достаточно в индексной странице сайта /index.php поместить такой код (заменить им текущий). Комментариями помечены места, которые вам возможно надо поменять (site id точно).
<?php
define('B_PROLOG_INCLUDED', true);
define('WIZARD_DEFAULT_SITE_ID', 's2');//site id
define('WIZARD_DEFAULT_TONLY', true);
define('PRE_LANGUAGE_ID', 'ru');//язык
define('PRE_INSTALL_CHARSET', 'utf-8');//кодировка
include_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/install/wizard/wizard.php');
Написать сообщение …Загрузить файлы?


Задачи
Нет прав на просмотр или функционал отключен