Битрикс замена путей файлов на постоянные

При импорте, а также просто загрузке файлов битрикс создает каждый раз новый путь до файла.
Выглядит он примерно так: /upload/iblock/0a1/image.png . Я же заменю на /upload/files/1234/image.png где 1234 id элемента.
Я пройдусь по всем файлам и перемещю их в постоянные папки, удалив старые, чтобы не занимали места. Далее подробно в комментах. (далее…)

Битрикс отправка письма с вложением с формы.

Находим форму. Если сделан инфоблоками — это компонент iblock.element.add.form. Кастомизируем. Для этого добавляем пространство имен, копируем компонент и подключаем его уже как namespace:iblock.element.add.form. Или просто копируем в папку local/bitrix/components/
В коде component.php находим строки где идет добавление элемента инфоблока.


	
	// add new element
	$sAction = "ADD";

Там у нас входной массив с данными формы, ошибки, если есть, при проверке этих данных, а также массив вложенных файлов.
Для интереса можем все это логировать.


	

				// file_put_contents($_SERVER['DOCUMENT_ROOT'].'/upload/form.txt', var_export($arUpdateValues, true), FILE_APPEND);
				// file_put_contents($_SERVER['DOCUMENT_ROOT'].'/upload/form.txt', var_export($arResult["ERRORS"], true), FILE_APPEND);
				// file_put_contents($_SERVER['DOCUMENT_ROOT'].'/upload/form.txt', var_export($_FILES, true), FILE_APPEND);

(далее…)

Битрикс метатеги для торговых предложений

Заменим метатеги для тороговых предложений, а также просто для любых элементов каталога.
Перед вызовом компонента элемент каталога («bitrix:catalog.element») сделаю проверку на offer, то бишь торг. предложение.


if(!empty($_GET['offer'])){
	$arParams["SET_TITLE"] = $arParams['SET_META_DESCRIPTION'] = $arParams['SET_META_KEYWORDS'] = $arParams['SET_BROWSER_TITLE'] = 'N';
}

Добавим параметры, если их нет


		"SET_META_DESCRIPTION" => $arParams['SET_META_DESCRIPTION'],
		"SET_META_KEYWORDS" => $arParams['SET_META_KEYWORDS'],
		"SET_BROWSER_TITLE" => $arParams['SET_BROWSER_TITLE'],
"SET_TITLE" => $arParams["SET_TITLE"],

(далее…)

Bitrix формирование урлов многоуровневых разделов

Сайты каталоги в основном имеют структуру многоуровневых разделов. При тестировании могут потребоваться урлы этих разделов. Рекурсивное формирование ссылок и экспорт их в csv будет рассмотрен в этой статье.

329zamorozhennie-ovoshi/green-gorohЗамороженные овощи/Зеленый горошек «Premiko»
330conserves/cucumberКонсервированные овощи/Огурцы
331v-steklannih-bankah/gribОвощи в стеклянных банках/Грибы
332v-steklannih-bankah/tomatosОвощи в стеклянных банках/Помидоры
333zamorozhennie-ovoshi/brokkoliЗамороженные овощи/Брокколи
334conserves/tomateКонсервированные овощи/Банка томатов

Скрипт я написал в ООП стиле
Допустим у нас есть массив разделов где присутствует некий текст, напр. кнопка «Купить».

(далее…)

Bitrix создание модуля




В официальной док-ии есть подробное описание. Наверно в этом его и недостаток, что оно какое то слишком подробное. Сам я учился создавать модуль на примере других модулей, но натыкался на подводные камни, присущие именно bx.

Подводные камни создания модуля:

(далее…)