liberty_code/item_browser

v1.0.0 2022-01-03 22:02 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:15 UTC


README

描述

库包含项目浏览组件。它允许通过特定的配置从选择查询提供项目,浏览结果集。

需求

  • 脚本语言:PHP:版本 7 || 8

安装

有几种可能的方法

Composer

  1. 需求

    需要安装 composer。更多信息请参阅:https://getcomposer.org.cn

  2. 命令:移动到项目根路径

     cd "<project_root_path>"
    
  3. 命令:安装

     php composer.phar require liberty_code/item_browser ["<version>"]
    
  4. 注意

    • 包含 vendor

      如果项目使用 composer,则必须包含 vendor

        require_once('<project_root_path>/vendor/autoload.php');
      
    • 配置

      安装命令允许在 composer 文件中添加:

        {
            "require": {
                "liberty_code/item_browser": "<version>"
            }
        }
      

包含

  1. 下载

    • 下载以下仓库。
    • 将其放置在仓库根路径上。
  2. 包含源代码

     require_once('<repository_root_path>/include/Include.php');
    

用法

操作数据

处理数组数据允许管理操作配置和值项目。

浏览器

浏览器允许从指定的选择查询提供项目,使用指定的配置浏览返回的项目。

元素

  • 浏览器

    允许从指定的选择查询和指定的浏览配置提供项目。可以视为所有浏览器类型的基础。

  • PageBrowser

    扩展默认浏览器功能。使用页面浏览配置,提供分页的项目结果集。

  • OperatorBrowser

    扩展默认浏览器功能。使用指定的配置操作和指定的操作值作为浏览配置。

    注意:默认的操作浏览器扩展了页面和操作浏览器功能。

  • AutoOperatorBrowser

    扩展默认操作浏览器功能。允许调用自定义方法,以使用和管理操作。

  • SortBrowser

    扩展自动操作浏览器功能。使用指定的排序操作作为浏览配置。

  • CriteriaBrowser

    扩展排序浏览器功能。使用指定的标准操作作为浏览配置。

示例

// Define new page browser type
use liberty_code\item_browser\browser\page\model\PageBrowser;
class PageBrowserTest extends PageBrowser
{
    protected function getIntItemCountEngine()
    {
        return ...total count of item;
    }
    
    public function getTabItem()
    {
        return ...index array of items;
    }
}
...
// Get page browser
use liberty_code\register\register\memory\model\MemoryRegister;
use liberty_code\item_browser\browser\library\ConstBrowser;
$config = array(
    ConstBrowser::TAB_CONFIG_KEY_QUERY => []
);
$register = new MemoryRegister();
$pageBrowser = new PageBrowserTest($register, $config);
...
// Set number items per page
$pageBrowser->setItemCountPerPage(10);
...
$pageCount = $pageBrowser->getIntPageCount(); // Get number of pages
for($cpt = 0; $cpt < count($pageCount); $cpt++) {
    $pageBrowser->setActivePageIndex($cpt);
    var_dump($objPageBrowser->getTabItem());
}
/**
 * Show: 
 * index array of items, on page 1
 * ...
 * index array of items, on page N
 */
...