dd/evolutioncms-snippets-ddcolumnbuilder

此软件包最新版本(6.1.0)没有提供许可证信息。

以多列形式输出项目(例如,ddGetDucuments、ddGetMultipleField、Ditto等的结果),试图均匀分布。

6.1.0 2023-06-03 21:48 UTC

This package is auto-updated.

Last update: 2024-09-06 07:12:42 UTC


README

以多列形式输出项目(例如,ddGetDucuments、ddGetMultipleField、Ditto等的结果),试图均匀分布。

需求

安装

使用(MODX)EvolutionCMS.libraries.ddInstaller

只需在您的源代码或控制台中运行以下PHP代码

//Include (MODX)EvolutionCMS.libraries.ddInstaller
require_once(
	$modx->getConfig('base_path') .
	'assets/libs/ddInstaller/require.php'
);

//Install (MODX)EvolutionCMS.snippets.ddColumnBuilder
\DDInstaller::install([
	'url' => 'https://github.com/DivanDesign/EvolutionCMS.snippets.ddColumnBuilder',
	'type' => 'snippet'
]);
  • 如果您的网站上不存在ddColumnBuilder,则ddInstaller会直接安装它。
  • 如果您的网站上已存在ddColumnBuilder,则ddInstaller会检查其版本并在需要时更新它。

手动安装

1. 元素 → 片段:创建一个新片段,如下所示

  1. 片段名称:ddColumnBuilder
  2. 描述:<b>6.1</b> 以多列形式输出项目(例如,ddGetDucuments、ddGetMultipleField、Ditto等的结果),试图均匀分布。
  3. 类别:核心
  4. 解析DocBlock:
  5. 片段代码(PHP):插入存档中ddColumnBuilder_snippet.php文件的内容。

2. 元素 → 管理文件

  1. 创建一个新文件夹assets/snippets/ddColumnBuilder/
  2. 将存档解压缩到该文件夹中(除了ddColumnBuilder_snippet.php)。

参数描述

  • source_items

    • 描述:源项目。
    • 有效值
      • 字符串
      • 数组
    • 必需
  • source_itemsDelimiter

    • 描述:源项目分隔符(仅在source_items为字符串时使用)。
    • 有效值:字符串
    • 默认值:'<!--ddColumnBuilder-->'
  • columnsNumber

    • 描述:要返回的列数。
    • 有效值:整数
    • 默认值:1
  • minItemsInColumn

    • 描述:一列中项目的最小数量。
    • 有效值
      • 整数
      • 0 — 任何
    • 默认值:0
  • orderBy

    • 描述:如何排序项目?
    • 有效值
      • 'column' — 首先填充第一列,然后第二列,等等 ([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
      • 'row' — 按行填充 ([[1, 4, 7], [2, 5, 8], [3, 6, 9]])
    • 默认值:'column'
  • tpls_column

    • 描述:列渲染的模板。
      可用占位符
      • [+items+] — 项目
      • [+columnNumber+] — 列号
    • 有效值
      • stringChunkName
      • 字符串 — 使用以@CODE:开始的内联模板
    • 默认值:'@CODE:<div>[+items+]</div>'
  • tpls_columnLast

    • 描述:最后一列渲染的模板。
      可用占位符
      • [+items+] — 项目
      • [+columnNumber+] — 列号
    • 有效值
      • stringChunkName
      • 字符串 — 使用以@CODE:开始的内联模板
    • 默认值:tpls_column
  • tpls_outer

    • 描述:包装模板。
      可用占位符
      • [+snippetResult+] — 片段结果。
      • [+columnsTotal+] — 实际列数
      • [+itemsTotal+] — 获取source_items的总数
    • 有效值
      • stringChunkName
      • 字符串 — 使用以@CODE:开始的内联模板
    • 默认值:— (不使用)
  • 占位符

    • 描述:需要将附加数据传递到结果字符串中。
      也支持嵌套对象和数组
      • {"someOne": "1", "someTwo": "test" } => [+someOne+], [+someTwo+].
      • {"some": {"a": "one", "b": "two"} } => [+some.a+], [+some.b+].
      • {"some": ["one", "two"] }}[+some.0+][+some.1+]
    • 有效值
      • stringJsonObject — 作为 JSON
      • stringHjsonObject — 作为 HJSON
      • stringQueryFormatted — 作为 查询字符串
      • 它也可以设置为原生PHP对象或数组(例如,通过 \DDTools\Snippet::runSnippet$modx->runSnippet 调用)
        • 关联数组
        • 对象
    • 默认值:—

示例

通过 \DDTools\Snippet::runSnippet 运行代码片段,不使用数据库和 eval

//Include (MODX)EvolutionCMS.libraries.ddTools
require_once(
	$modx->getConfig('base_path') .
	'assets/libs/ddTools/modx.ddtools.class.php'
);

//Run (MODX)EvolutionCMS.snippets.ddColumnBuilder
\DDTools\Snippet::runSnippet([
	'name' => 'ddColumnBuilder',
	'params' => [
		'source_items' => [
			'Item 1',
			'Item 2',
			'Item 3',
		],
		'columnsNumber' => 2
	]
]);

链接