hard2code/bitrix-utils

一组用于更方便地使用 Bitrix API 的类

1.0.2 2023-07-28 09:14 UTC

This package is auto-updated.

Last update: 2024-09-27 10:50:40 UTC


README

Logo

Bitrix 工具

此库包含各种用于处理模板、组件的类,允许您通过面向对象的方式加快开发速度*.

*该库仅适用于与 1C Bitrix: Site Management 一起使用

库用途

  • 封装处理来自 Bitrix 组件的 $arResult 数组的操作
  • 最小化 php 和 html 代码的混合

该库包含一系列用于在 1С Битрикс "Управление сайтом" 中以面向对象风格处理组件和模板的辅助类*

*该库仅适用于与 1C Bitrix "Управление сайтом" 一起使用。

库用途

  • 封装处理来自 Bitrix 组件的 $arResult 数组的操作
  • 最小化 php 和 html 代码的混合

作者

安装

使用 composer 安装 my-project

composer require hard2code/bitrix-utils

使用/示例

更多示例请参阅 examples 目录

更详细的示例请参阅 examples 目录

以面向对象风格处理部分

以面向对象风格处理部分

<?php

/*----------------------------------------------------*
  Some example of usage ArraySection in template
*----------------------------------------------------*/

use Hard2Code\Util\Entities;
use Hard2Code\Util\Images;

protectBitrixPrologInclude();
$sections = Entities::getSections($arResult, $this);
?>


<div class="container">
    <?php foreach ($sections as $i => $section):
        $sectionPageUrl = $section->getSectionPageUrl();
        $picture = Images::getResizedImage($section->getUfProperty("image"), true, 400, 300);
        $name = $section->getName();
        $url = $section->getSectionPageUrl();
        $code = $section->getCode();
        $someProperty = $section->getUfProperty("some_uf_property");
        $description = $section->getDescription();
        ?>

        <?php if ($section->hasDescription()): ?>
          <div class="description"><?= $description ?></div>
        <?php endif ?>

    <?php endforeach; ?>
</div>

以面向对象风格处理链接

以面向对象风格处理链接

<?php

/*----------------------------------------------------*
  Some example of usage ArrayLink in template
*----------------------------------------------------*/

use Hard2Code\Util\Entities;
use Hard2Code\Util\Links;

protectBitrixPrologInclude();
?>

<div id="category_menu">
    <div class="container">
        <div class="swiper">
            <div class="swiper-wrapper">

                <?php foreach (Entities::getLinks($arResult) as $link):
                    $src = $link->getSource();
                    $title = $link->getTitle();
                    $isSelected = $link->isSelected();
                    $isAbsolute = $link->isRelative();
                    $isRelative = $link->isAbsolute();
                    ?>

                    <div class="swiper-slide">
                        <div class="category">
                            <a class="category_title" href="<?= $src ?>"
                               target="<?= Links::getTargetAttribute($src) ?>">
                                <div class="title"> <?= $title ?></div>
                            </a>
                        </div>
                    </div>

                <?php endforeach ?>

            </div>
        </div>
    </div>
</div>

包含资源

连接资源

<?php

use Hard2Code\Util\Assets;

Assets::includeDefaultMeta();
Assets::includeManifest("/assets/site.webmanifest");
Assets::includeJs(
    "/vendor/jquery.min.js",
    "/vendor/swiper-bundle.min.js",
    "/vendor/bootstrap.bundle.min.js",
    "/vendor/validate.min.js",
    "/vendor/fotorama.js",
    "/vendor/fontawesome.js",
);

Assets::includeJs("https://kit.fontawesome.com/90a47ca9b8.js");
Assets::includeJsRecursively("/directory");
Assets::includeCssRecursively("/vendor", "/air2hut");

您可以在相应的接口中找到可用的方法列表

  • ArraySection
  • ArrayItem
  • ArrayLink

如有需要,您可以在自定义代码中创建这些接口的实现

安装

使用 composer 安装 my-project

composer require hard2code/bitrix-utils

作者