Поддержка серверов

CWizard::__GetTemplates: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=167100

//    CWizard::__GetTemplates()
//    /bitrix/modules/main/classes/general/wizard_site.php:814

    function __GetTemplates()
    {
        $settingFile = $_SERVER["DOCUMENT_ROOT"].$this->path."/.templates.php";
        $arWizardTemplates = Array();
        if (is_file($settingFile))
        {
            $this->IncludeWizardLang(".templates.php");
            include($settingFile);
        }

        $relativePath = $this->__GetTemplatesPath();
        $absolutePath = $_SERVER["DOCUMENT_ROOT"].$relativePath;
        $absolutePath = str_replace("\\", "/", $absolutePath);

        if ($handle = @opendir($absolutePath))
        {
            while(($dirName = @readdir($handle)) !== false)
            {
                if ($dirName == "." || $dirName == ".." || !is_dir($absolutePath."/".$dirName))
                    continue;

                $arTemplate = Array(
                    "DESCRIPTION"=>"",
                    "NAME" => $dirName,
                );

                if (file_exists($absolutePath."/".$dirName."/description.php"))
                {
                    if (LANGUAGE_ID != "en" && LANGUAGE_ID != "ru")
                    {
                        if (file_exists(($fname = $absolutePath."/".$dirName."/lang/".LangSubst(LANGUAGE_ID)."/description.php")))
                            __IncludeLang($fname, false, true);
                    }

                    if (file_exists(($fname = $absolutePath."/".$dirName."/lang/".LANGUAGE_ID."/description.php")))
                            __IncludeLang($fname, false, true);

                    include($absolutePath."/".$dirName."/description.php");
                }

                $arTemplate["ID"] = $dirName;
                $arTemplate["PATH"] = $this->path."/".$dirName;
                $arTemplate["SITE_ID"] = "";
                $arTemplate["SORT"] = 0;
                $arTemplate["GROUP_ID"] = "";

                if (file_exists($absolutePath."/".$dirName."/screen.gif"))
                    $arTemplate["SCREENSHOT"] = $relativePath."/".$dirName."/screen.gif";
                else
                    $arTemplate["SCREENSHOT"] = false;

                if (file_exists($absolutePath."/".$dirName."/preview.gif"))
                    $arTemplate["PREVIEW"] = $relativePath."/".$dirName."/preview.gif";
                else
                    $arTemplate["PREVIEW"] = false;

                if (array_key_exists("TEMPLATES", $arWizardTemplates) && array_key_exists($dirName, $arWizardTemplates["TEMPLATES"]))
                    $arTemplate = array_merge($arTemplate, $arWizardTemplates["TEMPLATES"][$dirName]);

                $this->arTemplates[$arTemplate["ID"]] = $arTemplate;
            }
            closedir($handle);
        }

        uasort($this->arTemplates, create_function('$a, $b', 'return strcmp($a["SORT"], $b["SORT"]);'));

        if (array_key_exists("GROUPS", $arWizardTemplates) && is_array($arWizardTemplates["GROUPS"]))
            $this->arTemplateGroups = $arWizardTemplates["GROUPS"];
    }
';

Блог разработчика

9 августа 2016 ResizeImageGet и простой водяной знак налету

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

21 июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение