Корзина0 позиций
на сумму 0 руб.

Блог разработчика 1С-Битрикс

8 (495) 194 60 75

Время работы: ПН - ВС 10-18

  • Архив

    «   Май 2020   »
    Пн Вт Ср Чт Пт Сб Вс
            1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
                 

Полезные функции вывода для шаблонов 1С-Битрикс

Вставляйте часто используемые функции и константы Битрикс в нужное место шаблона:

В основном шаблоне:

<?$APPLICATION->ShowTitle()?> — собственно вывод тайтла в основном шаблоне сайта
<?$APPLICATION->ShowHead()?> — подключение для вывода в шаблоне сайта основных полей тега : мета-теги Content-Type, robots, keywords, description; стили CSS; скрипты
<?$APPLICATION->ShowPanel();?> — выводит панель управления администратора
<?=SITE_TEMPLATE_PATH?> — подставляет путь к шаблону
<?$APPLICATION->ShowTitle(false);?> — заголовок (в h1 например использовать)
 ShowHead разбить на составляющие:
<meta http-equiv="Content-Type" content="text/html; charset=<?=LANG_CHARSET;?>" /> — Установка кодировки сайта
<? $APPLICATION->ShowMeta("keywords" ?> — Вывод мета тега keywords
<? $APPLICATION->ShowMeta("description" ?> — Вывод мета тега description
<? $APPLICATION->ShowCSS(); ?> — Подключение основных файлов стилей template_styles.css и styles.css
<? $APPLICATION->ShowHeadStrings() ?> — Отображает специальные стили, JavaScript
<? $APPLICATION->ShowHeadScripts() ?> — Вывода служебных скриптов



В шаблонах компонентов:

<?=$templateFolder?> — путь к шаблону комонента
<img src="<?=$arSection["PICTURE"]["SRC"]?>" title="<?=$arSection["NAME"]?>" border="0"/> — картинка раздела инфоблока.
<?=$arSection["DESCRIPTION"]?> — описание раздела инфоблока
<?echo $arItem["NAME"]?> — название
<?echo $arItem["DETAIL_PAGE_URL"]?> — ссылка на детальную (новость/статью)
<?echo $arItem["PREVIEW_TEXT"];?> — текст анонса
<?echo $arResult["DETAIL_TEXT"];?> — детальный текст
<?=$arItem["PREVIEW_PICTURE"]["SRC"]?> — изображение анонса
<?=$arItem["DETAIL_PICTURE"]["SRC"]?> — изображение детальное
<?=$arResult['DISPLAY_ACTIVE_FROM']?> — дата начала активности



Полезные условия

Если картинки нет- то вывести «нет картинки»

<?if (strlen($arItem["DETAIL_PICTURE"]["SRC"])>0):?>
 <img src="<?=$arItem["DETAIL_PICTURE"]["SRC"]?>"/>
 <?else:?>
 нет картинки
<?endif?>

Включаемая область в режиме php.
<?
 $APPLICATION->IncludeFile(
 SITE_DIR."include/flash.php",
 Array(),
 Array("MODE"=>"php"
 );
 ?>



Количество товара на складе:

<?
 $ar_res = CCatalogProduct::GetByID($arElement['ID']
 echo "<br>На складе: ";
 print_r($ar_res['QUANTITY']
 echo " шт.";
 ?>

Управление Linux сервером. Полезные команды.

Используем grep для рекурсивного поиска контекста.
grep -r "redeem reward" /home/tom

Рекурсивный поиск всех CSS файлов с заменой найденной строки.
Пример замены цвета на всем сайте:
find . -type f -name '*.css' -exec sed -i 's/#3ba4c2/#460D57/g' {} \;

Рекурсивная замена параметра во всех от текущего php.ini.
Найдет  и заменит  все значения func_overload=0 на =2:
find . -name 'php.ini' -exec sed -i 's/func_overload=0/func_overload=2/g' "{}" \; 

Поиск и копирование всех изображений.
Найдет указанные картинки и сложит в  ./tmp/backup с сохранением структуры:
find . -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)" -print0 | xargs -0 cp --parents --target-directory ./tmp/backup 

Ищем файлы,  директории или ссылки по маске, размеру, владельцу и выполняем над ними действие.

Команда find имеет множество параметров, посмотреть параметры можно по команде man find
find . -type f -name "~*" -print 

Удаляем расширения файла после поиска.

Можно использовать для подстановки при конвертировании:
find . -regex ".*\.txt$" |  sed 's/\.txt//g' 

Создаем отсутствующий каталог.
Проверка исключает возврат кода ошибки 2, при существующем каталоге:
test ! -d mkdir /mnt/klondike3 && { mkdir -p mkdir /mnt/klondike3 ; }

Архивируем директорию.

В примере, при архивации, будет применен уровень сжатия 0, мы указали "." а не "*", поэтому будут включены все файлы, включая скрытые файлы .htaccess, далее, по параметру -х  будут исключены файлы директории ./bitrix/backup и файлы по маске с расширением .zip. time - анализируем затраченное на операцию время.
time zip -r -0 archive.zip . -x ./bitrix/backup\* -x archive*.zip 
Распаковка архива ZIP в текущей директории.
 unzip archive.zip
По этой команде в архиве tar будут сохранены не только файлы, расположенные непосредственно в подкаталоге sub_dir, но и рекурсивно все файлы из подкаталогов каталога sub_dir. При этом в архиве сохраняется вся структура подкаталогов каталога sub_dir.
tar -cvf имя_архива sub_dir

tar -cvf /patch/to/directory/archive.tar /path/to/folder - без сжатия
tar -cvzf /patch/to/directory/archive.tar.gz /path/to/folder - сжатие gzip
tar -cvjf /patch/to/directory/archive.tar.bz2 /path/to/folder - сжатие bzip2 
Распаковка TAR архива в текущей директории.
tar -xvfz archive.tar.gz 
Получить список файлов архива TAR.
tar -tf имя_архива | less 

Запаковать в многотомный архив с размером тома 1024 Мб содержимое папки /var/www, исключив папку /var/www/test и все zip архивы.
(«-» после -czvf говорит tar'у выводить в stdout, чтобы потом split мог его разбить на части(а «-» в split говорит ему брать из stdin)) В результате будут созданы файлы backup.tar.gzaa, backup.tar.gzab, backup.tar.gzac ..., размер каждого 1024 Мб. Именно последние две буквы в названии архива .tar.gzaa, .tar.gzab и т.д., указывают на то, что он разбит на части.
Делается это командой:
tar -czvf - --exclude=www/test --exclude='*.zip' /var/www/ | split -b 1024m - ./backup.tar.gz 


Создаем дамп БД, качаем с другого сервера и заливаем в новую базу.
Чтобы пароль не запрашивался, пишем имя и пароль в командной строке без пробела после параметра, -f, --force  - опция, которая указывает продолжать даже при получении ошибки SQL:
mysqldump -uroot -ppwd -f name_database > \arh_dir\`date "+%Y-%m-%d"`.sql
wget site.ru/arch_dir/mydb_backup_name_database.sql 
mysql -uroot -ppwd name_database < \arh_dir\mydb_backup_name_database.sql

Смена прав на файлы и каталоги.

использование xargs вместо -exec ускоряет процесс в 100 раз.
time find . -type f | xargs chmod 644 &&  find . -type d | xargs chmod 755

Рекурсивная смена владельца и группы.
Рекурсивно изменит имя владельца и имя группы для папок и файлов
chown -R bitrix directory1
chgrp -R bitrix directory1

Проверяем размер занятого места на диске.
С анализом размера всех папок c того места, где находимся:
df -h
Просто смотрим размер папок c указанного места:
du -sh /var/www

Работаем со специальными символами в HEX16, когда Linux их не желает видеть в ASCII.
При попытке замены спецсимволов с помощью стандартной конструкции sed -i ‘s/\”helo\”\,/”helo world”,/g’ test.php  на выходе получаем текст без кавычек helo world. Проблема заключается в том, что спецсимволы в заменяемом тексте экранируются, а в том который подставляем, спецсимволы удаляются. Решением является  использование малоизвестной возможности sed для работы в hex-16:
sed ‘s/\x22helo\x22\x2C/\x22helo woorld\x22\x2C/g’ /tmp/test.txt
ASCII____HEX16
!\x21
"\x22
#\x23
$\x24
%\x25
&\x26
'\x27
(\x28
)\x29
*\x2A
+\x2B
0\x2C
-\x2D
.\x2E
/\x2F
0\x30
1\x31
2\x32
3\x33
4\x34
5\x35
6\x36
7\x37
8\x38
9\x39
:\x3A
;\x3B
<\x3C
=\x3D
>\x3E
?\x3F
@\x40
A\x41
B\x42
C\x43
D\x44
E\x45
F\x46
G\x47
H\x48
I\x49
J\x4A
K\x4B
L\x4C
M\x4D
N\x4E
O\x4F
P\x50
Q\x51
R\x52
S\x53
T\x54
U\x55
V\x56
W\x57
X\x58
Y\x59
Z\x5A
[\x5B
\\x5C
]\x5D
^\x5E
_\x5F
`\x60
a\x61
b\x62
c\x63
d\x64
e\x65
f\x66
g\x67
h\x68
i\x69
j\x6A
k\x6B
l\x6C
m\x6D
n\x6E
o\x6F
p\x70
q\x71
r\x72
s\x73
t\x74
u\x75
v\x76
w\x77
x\x78
y\x79
z\x7A
{\x7B
|\x7C
}\x7D
~\x7E
DEL\x7F

Возможности Highload-блоков.

Highload-блоки работают с произвольными наборами данных в условиях высоких нагрузок.

Модуль создан на основе ORM с поддержкой NoSQL.
Экономит время и деньги для ресурсов с высокой посещаемостью.



Возможности:
  • Настройка вида справочника в административном интерфейсе;
  • Индексирование справочника (свойства в инфоблоках) модулем поиска;
  • Полная поддержка пользовательских свойств (всех типов полей);
  • Экспорт/Импорт в HL справочник;
  • Управление внутри инфоблока;

Модуль позволяет создавать списки для хранения произвольных данных (новости, вакансии), каждый хранится в своих таблицах БД:
  • растет производительность за счет разделения данных по таблицам;
  • унифицированное и производительное API по работе с данными за счет новой ORM;
  • пользовательские поля.

Административные страницы:
  • создания/изменения списков (создаются таблицы, модифицируются поля, индексы);
  • изменение элементов списка.

e5ae40ad528f6c702e921f5b0c5d8013.png

Новая технология 1С-Битрикс. Композитный сайт.

Зачем это нужно?
  • Получаем отклик сайта в 100 раз быстрее.
  • Положительная реакция поисковых систем.
  • Увеличивается конверсия интернет-магазина.

Как это работает?

  • Каждая страница сайта разделяется на статическую и динамическую составляющую.
  • Статическая часть страницы кешируется сервером и отображается мгновенно.
  • Динамическая часть кешируется браузером пользователя и, при необходимости, обновляется в фоновом режиме.
02f8a5e6116fd8657b0c4ac8f0728764.png

Bitrix Framework

Это созданная на основе PHP платформа для разработки веб-приложений. На этой платформе компанией «1C-Битрикс» созданы два популярных продукта: «1C-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал».


Что нового?

13.04.2015 Новый «Битрикс24»
Новый «Битрикс24» – бизнес-про...

12.03.2015 Возрастной ценз
Денис Митрофанов, QSOFT, Ксения...

11.03.2015 Выставка CE&PE
С 9 апреля по 12 апреля 2015 г....

Мы в соцсетях