PHP Как обрезать длину строки с учетом слов

Например у нас есть наименование товара, которое превышает 54 символа и не в вписывается в верстку и концепт

Все это можно обработать следующим образом

= 54):
    $arItems["~NAME"] = crop_str($arItems["~NAME"],54)."...";

endif;
?>

Мы обрезали строку до 54 символов с учетом слов и запихнули уже отработанную строку обратно в массив.

Как сменить владельца во всех файлах и папках?

Например у вас стоит битрикс виртуальная машина и вы скопировали файлы сайта по sftp, соответственно владелец этих файлов будет root и доступа сайта к этим файлам не будет, чтобы автоматически сменить владельца у всех папок и файлов необходимо в ssh консоли выполнить следующую команду

chown -R user:group /home/bitrix/ext_www/1c8.pl.ua/

где
user — пользователь
group — группа
и соответственно путь по которому необходимо все поменять.

Fatal error: Call to a member function GetGroups() on a non-object in /bitrix/modules/catalog/mysql/product.php on line 354

Иногда на bitrix возникает плавающая ошибка, особенно часто на локальных веб-серврах (MAMP, denver), лечится следующим образом:

перед выборкой

Fatal error: Call to a member function GetGroups() on a non-object in /Users/lerik/Documents/www/test.local/bitrix/modules/catalog/mysql/product.php on line 354

добавляем

global $USER;
        if(!is_object($USER)){
            $USER = new CUser();
        }

Битрикс проверка вывода популярных товаров

У заказчика возникло подозрение что компонент вывода популярных товаров на Битриксе врет, чтобы разобраться и проверить мне пришлось стандартными методами сделать альтернативный вывод данных, он приведен ниже

Читать далее Битрикс проверка вывода популярных товаров

Cоветы создающим e-mail рассылку в HTML

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

input Как при клике убрать текст с поля

<input type="text" class="input_search" name="q" value="ПОИСК СРЕДИ 15000 ТОВАРОВ" onfocus="if (this.value=='ПОИСК СРЕДИ 15000 ТОВАРОВ') this.value='';" onblur="if (this.value==''){this.value='ПОИСК СРЕДИ 15000 ТОВАРОВ'}" size="15" maxlength="50" /><?endif;?>

Читать далее input Как при клике убрать текст с поля

1с8.2 получить выделенные строки из динамического списка

Кто пробовал получить данные с динамического списка меня поймет — это большой геморой. Для себя я нашел два пути решения первый  — это выгребать данные через выделенные строки (самый простой), второй — создать  аналогичный динамическому списку запрос  и в него указать параметры отбора указанные пользователем, но это не работает если пользователь решит фильтрануть пользуясь поиском.

Читать далее 1с8.2 получить выделенные строки из динамического списка

1с8 пример запроса с условием

ВЫБРАТЬ
ТоварыВРозницеОстатки.Номенклатура,
ТоварыВРозницеОстатки.Склад,
ТоварыВРозницеОстатки.КоличествоОстаток,
ЦеныАТТСрезПоследних.Цена КАК Цена,
ВЫБОР
КОГДА (ТоварыВРозницеОстатки.КоличествоОстаток ЕСТЬ NULL )
ТОГДА "Безцены"
КОНЕЦ КАК Результат
ИЗ
РегистрНакопления.ТоварыВРознице.Остатки КАК ТоварыВРозницеОстатки
Правое СОЕДИНЕНИЕ РегистрСведений.ЦеныАТТ.СрезПоследних КАК ЦеныАТТСрезПоследних
ПО ЦеныАТТСрезПоследних.Номенклатура = ТоварыВРозницеОстатки.Номенклатура

Блог об 1с и Битрикс для пользователей и программистов