ЧПУ генератор bitrix

Этот выполняется в Настройки > Инструменты > Командная PHP-строка и меняет ВСЕМ статьям в указанном информационном блоке (IBLOCK_ID) с типом IBLOCK_TYPE символьный код на ЧПУ.
Перед запуском рекомендую делать бэкап.

//title: ЧПУ генератор
if (CModule::IncludeModule('iblock')) {
	$arTransParams = array(
	   "max_len" => 100,
	   "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
	   "replace_space" => '-',
	   "replace_other" => '-',
	   "delete_repeat_replace" => true
	);

	$add_random = false;

   $arElements = array();   
   $arSelect = Array("NAME", "ID");   
   $arFilter = Array("IBLOCK_ID" => 6, "IBLOCK_TYPE" => 'info');
   
   $dbElements = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);

   while ($arElement = $dbElements->GetNext()) {      
      $transName = CUtil::translit($arElement["NAME"], "ru", $arTransParams);
      if($add_random){
         $transName = $transName.$arTransParams["replace_space"].$arElement["ID"];
      }

		$query_update = "UPDATE b_iblock_element
						SET `CODE` = '".$transName."'
						WHERE `ID` = '".$arElement["ID"]."'
						LIMIT 1";
		$results_update = $DB->Query( $query_update );


	   echo $arElement["NAME"]."<br>".$transName . ($results_update ? " <b>updated</b>":" <b>failed</b>")."<br><br>";
   }
}
В категориях: Bitrix, Php | Тэги , , | Комментировать

Редирект старых url на новые ЧПУ url в bitrix

Задача: сделать редирект со старых ссылок на новости вида novosti.php?ELEMENT_ID=87 на новые, с использованием символьных кодов, вида /news/normalnaya-novost.html

Предполагается, что новый раздел новостей уже создан и доступен по адресу news с настроенным ЧПУ для самих новостей.

Решение: размещаем, следующий код в старом файле новостей novosti.php


Далее >>>

В категориях: Bitrix, Php | Тэги , , | Комментировать

Миграция с svn на git

Решил записать небольшую памятку по миграции, а то делаю это очень редко и забываю что к чему)) Исходные данные: windows с установленным tortoise svn и git, репозиторий в svn имеет путь file:///D:/SVN/work/project . Папка D:\SVN — каталог с репозиториями. Мне нужно перенести project в git. Вначале запускаю в консоли svnserve для доступа к репозиторию по ссылке:


Далее >>>

В категориях: Памятка | Тэги , , , | Комментировать

Генератор модулей opencart

Написал небольшой модуль под yii2, который позволяет генерировать каркас opencart модулей за 1 клик. Просто вбиваете название модуля, его заголовок, автора и выбираете версию opencart из списка. Поддерживаются версии 2 — 2.2, 2.3 и 3.
Далее >>>

В категориях: Opencart, Мои работы | Тэги , , , | Комментировать

Opencart модуль Закрытое предложение

Модуль «Закрытое предложение» для opencart позволяет создать специальное предложение для покупателей вашего магазина, купивших товар на определенную сумму.
После оформления заказа на странице checkout/success выводится специальный блок с товаром со скидкой, который покупатель может добавить к только что созданному заказу в течении определенного времени. Время, список товаров, диапазон сумм и уровень скидок — все это вы задаете в админке в самом модуле. При добавлении в 1 диапазон списка товаров будет выводиться 1 из товаров, рандомно. Если под сумму заказа пользователя нет подходящих диапазонов — модуль не выводится. В истории заказа при добавлении товара со скидкой пишется комментарий closed offer, чтобы администратор мог понять почему 1 из товаров в заказе со скидкой. В заказ может быть добавлен только 1 товар со скидкой, после этого модуль скрывается. Если покупатель не успевает в течении заданного времени — выводится текст, который вы можете задать в админке и модуль так же скрывается.


Далее >>>

В категориях: Opencart, Мои работы | Тэги , | Комментировать