Инструменты пользователя

Инструменты сайта


website:kastomizirovannye_komponenty_i_prochie_lokalnye_modifikacii

Список модифицированных компонентов

Системный компонент bitrix:search.page

Модификация запроса для поиска состоящих из цифр слов как подстрок. Решает проблему с поиском по части артикула.

Патч:

--- component.php.orig  2014-05-06 15:01:54.580659648 +0400
+++ component.php       2014-06-05 13:13:51.227566838 +0400
@@ -202,6 +202,7 @@
        if($arParams["USE_LANGUAGE_GUESS"] == "N" || isset($_REQUEST["spell"]))
        {
                $arResult["REQUEST"]["~QUERY"] = $q;
+               $arResult["REQUEST"]["~QUERY"] = preg_replace('/([a-zA-Z-]*[0-9-]+)/', '"\\1"', $arResult["REQUEST"]["~QUERY"]);
                $arResult["REQUEST"]["QUERY"] = htmlspecialcharsex($q);
        }
        else
@@ -210,6 +211,7 @@
                if(is_array($arLang) && $arLang["from"] != $arLang["to"])
                {
                        $arResult["REQUEST"]["~ORIGINAL_QUERY"] = $q;
+                       $arResult["REQUEST"]["~QUERY"] = preg_replace('/([a-zA-Z-]*[0-9-]+)/', '"\\1"', $arResult["REQUEST"]["~QUERY"]);
                        $arResult["REQUEST"]["ORIGINAL_QUERY"] = htmlspecialcharsex($q);
 
                        $arResult["REQUEST"]["~QUERY"] = CSearchLanguage::ConvertKeyboardLayout($arResult["REQUEST"]["~ORIGINAL_QUERY"], $arLang["from"], $arLang["to"]);
@@ -218,6 +220,7 @@
                else
                {
                        $arResult["REQUEST"]["~QUERY"] = $q;
+                       $arResult["REQUEST"]["~QUERY"] = preg_replace('/([a-zA-Z-]*[0-9-]+)/', '"\\1"', $arResult["REQUEST"]["~QUERY"]);
                        $arResult["REQUEST"]["QUERY"] = htmlspecialcharsex($q);
                }
        }

Общие сведения об использовании утилиты patch(1) можно найти в статье patch (Unix)

Место включения компонента: http://avtozip.su/search/index.php Компонент теперь вызывается непосредственно из bitrix:catalog, поэтому модифицирован in-place.

Версия 1С-Битрикс: УС — 14.5

Шаблон компонента bitrix:catalog.section из ishop

Отображать артикул вместо краткого описания в списках.

Патч:

--- shop_list/template.php	2014-04-11 10:44:05.000000000 +0400
+++ shop_list_zip/template.php	2014-04-11 12:43:40.000000000 +0400
@@ -39,8 +39,8 @@
 					<div class="desc_name">
 						<a href="<?=$arItem["DETAIL_PAGE_URL"]?>"><?=$arItem["NAME"]?></a>
 					</div>
-					<?if ($arItem["PREVIEW_TEXT"]):?>
-						<div class="preview_text"><?=$arItem["PREVIEW_TEXT"]?></div>
+					<?if ($arItem["DISPLAY_PROPERTIES"]["CML2_ARTICLE"]["VALUE"]):?>
+						<div class="preview_text"><?=$arItem["DISPLAY_PROPERTIES"]["CML2_ARTICLE"]["VALUE"]?></div>
 					<?endif;?>
 					<?if ($arItem["DISPLAY_PROPERTIES"]):?>
 						<div class="show_props">
@@ -212,4 +212,4 @@
 	{
 		$(this).toggleClass('open').parents(".description").find(".props-list-wrapp").slideToggle(333);
 	});
-</script>
\ No newline at end of file
+</script>

Версия aspro.ishop — 1.5.2.

Системный компонент bitrix:sale.export.1c

Экспортировать заказы в UTF-8. Кодировка XML указана как CP1251 (т.к. эта строка пишется модулем ядра Битрикс), но 1С её всё равно игнорирует (что и является причиной проблемы). Патч исправляет обмен заказами с 1С под Linux, но ломает его с 1С под Windows.

FIXME Патч адаптирован для Битрикс 14.5, нужно тестирование

Патч:

--- component.php       2014-05-06 11:14:33.596345485 +0600
+++ my_component.php    2014-05-06 15:16:20.279101584 +0600
@@ -497,7 +497,7 @@
        }
        elseif($_GET["mode"] == "info")
        {
-               ?><<?="?"?>xml version="1.0" encoding="windows-1251"<?="?"?>>
+               ?><<?="?"?>xml version="1.0" encoding="utf-8"<?="?"?>>
                <<?=GetMessage("CC_BSC1_DI_GENERAL")?>>
                        <<?=GetMessage("CC_BSC1_DI_STATUSES")?>>
                        <?
@@ -542,8 +542,8 @@
 {
        if (!$bCrmMode)
        {
-               if(toUpper(LANG_CHARSET) != "WINDOWS-1251")
-                       $contents = $APPLICATION->ConvertCharset($contents, LANG_CHARSET, "windows-1251");
+               if(toUpper(LANG_CHARSET) == "WINDOWS-1251")
+                       $contents = $APPLICATION->ConvertCharset($contents, LANG_CHARSET, "Unicode");
        }
 
        if ($gzCompressionSupported)
@@ -558,12 +558,12 @@
                $str = (function_exists("mb_strlen")? mb_strlen($contents, 'latin1'): strlen($contents));
                if(in_array($_GET["mode"], array("query", "info")) || in_array($_POST["mode"], array("query", "info")))
                {
-                       header("Content-Type: application/xml; charset=windows-1251");
+                       header("Content-Type: application/xml; charset=utf-8");
                        header("Content-Length: ".$str);
                }
                else
                {
-                       header("Content-Type: text/html; charset=windows-1251");
+                       header("Content-Type: text/html; charset=utf-8");
                }
        }

Внимание: компонент модифицирован in-place, в пространстве имён bitrix — это меньшее зло, чем модификация модуля ядра, из которого он вызывается. Оригинальный файл сохранён с суффиксом .orig

Версия 1С-Битрикс: УС — 14.5

Шаблон ishop/components/bitrix/catalog.search/shop/template.php

Выключает USE_LANGUGE_GUESS (автокоррекция раскладки). Патч:

--- /var/www/ph243163/data/www/avtozip.su/bitrix/wizards/aspro/ishop/site/templates/ishop/components/bitrix/catalog.search/shop/template.php    2014-05-06 09:14:27.246244053 +0400
+++ template.php        2014-10-21 15:14:22.095886501 +0400
@@ -27,7 +27,7 @@
        Array(
                "RESTART" => $arParams["RESTART"],
                "NO_WORD_LOGIC" => $arParams["NO_WORD_LOGIC"],
-               "USE_LANGUAGE_GUESS" => $arParams["USE_LANGUAGE_GUESS"],
+               "USE_LANGUAGE_GUESS" => "N",
                "CHECK_DATES" => $arParams["CHECK_DATES"],
                "arrFILTER" => array("iblock_".$arParams["IBLOCK_TYPE"]),
                "arrFILTER_iblock_".$arParams["IBLOCK_TYPE"] => array($arParams["IBLOCK_ID"]),
@@ -127,4 +127,4 @@
 {
        echo GetMessage("CT_BCSE_NOT_FOUND")."<br /><br />";
 }
-?>
\ No newline at end of file
+?>
/var/www/html/data/pages/website/kastomizirovannye_komponenty_i_prochie_lokalnye_modifikacii.txt · Последнее изменение: 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki