PHPackages                             dd/evolutioncms-snippets-ddcolumnbuilder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dd/evolutioncms-snippets-ddcolumnbuilder

ActiveModxevo-snippet[Utility &amp; Helpers](/categories/utility)

dd/evolutioncms-snippets-ddcolumnbuilder
========================================

Outputs items (e. g. results of ddGetDucuments, ddGetMultipleField, Ditto, etc.) in multiple columns, trying to distribute them evenly.

6.1.0(2y ago)01PHPPHP &gt;=5.4.0

Since Jun 3Pushed 1y ago1 watchersCompare

[ Source](https://github.com/DivanDesign/EvolutionCMS.snippets.ddColumnBuilder)[ Packagist](https://packagist.org/packages/dd/evolutioncms-snippets-ddcolumnbuilder)[ RSS](/packages/dd-evolutioncms-snippets-ddcolumnbuilder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (3)Used By (0)

(MODX)EvolutionCMS.snippets.ddColumnBuilder
===========================================

[](#modxevolutioncmssnippetsddcolumnbuilder)

Outputs items (e. g. results of ddGetDucuments, ddGetMultipleField, Ditto, etc.) in multiple columns, trying to distribute them evenly.

Requires
--------

[](#requires)

- PHP &gt;= 5.4
- [(MODX)EvolutionCMS](https://github.com/evolution-cms/evolution) &gt;= 1.1
- [(MODX)EvolutionCMS.libraries.ddTools](http://code.divandesign.ru/modx/ddtools) &gt;= 0.60

Installation
------------

[](#installation)

### Using [(MODX)EvolutionCMS.libraries.ddInstaller](https://github.com/DivanDesign/EvolutionCMS.libraries.ddInstaller)

[](#using-modxevolutioncmslibrariesddinstaller)

Just run the following PHP code in your sources or [Console](https://github.com/vanchelo/MODX-Evolution-Ajax-Console):

```
//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'
]);
```

- If `ddColumnBuilder` is not exist on your site, `ddInstaller` will just install it.
- If `ddColumnBuilder` is already exist on your site, `ddInstaller` will check it version and update it if needed.

### Manually

[](#manually)

#### 1. Elements → Snippets: Create a new snippet with the following data

[](#1-elements--snippets-create-a-new-snippet-with-the-following-data)

1. Snippet name: `ddColumnBuilder`.
2. Description: `6.1 Outputs items (e. g. results of ddGetDucuments, ddGetMultipleField, Ditto, etc.) in multiple columns, trying to distribute them evenly.`.
3. Category: `Core`.
4. Parse DocBlock: `no`.
5. Snippet code (php): Insert content of the `ddColumnBuilder_snippet.php` file from the archive.

#### 2. Elements → Manage Files

[](#2-elements--manage-files)

1. Create a new folder `assets/snippets/ddColumnBuilder/`.
2. Extract the archive to the folder (except `ddColumnBuilder_snippet.php`).

Parameters description
----------------------

[](#parameters-description)

- `source_items`

    - Desctription: The source items.
    - Valid values:
        - `string`
        - `array`
    - **Required**
- `source_itemsDelimiter`

    - Desctription: The source items delimiter (used only if `source_items` is string).
    - Valid values: `string`
    - Default value: `''`
- `columnsNumber`

    - Desctription: The number of columns to return.
    - Valid values: `integer`
    - Default value: `1`
- `minItemsInColumn`

    - Desctription: The minimum number of items in one column.
    - Valid values:
        - `integer`
        - `0` — any
    - Default value: `0`
- `orderBy`

    - Desctription: How to sort items?
    - Valid values:
        - `'column'` — first fills up the first column, then second, etc (`[[1, 2, 3], [4, 5, 6], [7, 8, 9]]`)
        - `'row'` — fills up by rows (`[[1, 4, 7], [2, 5, 8], [3, 6, 9]]`)
    - Default value: `'column'`
- `tpls_column`

    - Desctription: The template for column rendering.
        Available placeholders:
        - `[+items+]` — items
        - `[+columnNumber+]` — number of column
    - Valid values:
        - `stringChunkName`
        - `string` — use inline templates starting with `@CODE:`
    - Default value: `'@CODE:[+items+]'`
- `tpls_columnLast`

    - Desctription: The template for last column rendering.
        Available placeholders:
        - `[+items+]` — items
        - `[+columnNumber+]` — number of column
    - Valid values:
        - `stringChunkName`
        - `string` — use inline templates starting with `@CODE:`
    - Default value: = `tpls_column`
- `tpls_outer`

    - Desctription: Wrapper template.
        Available placeholders:
        - `[+snippetResult+]` — the snippet result.
        - `[+columnsTotal+]` — the actual number of columns
        - `[+itemsTotal+]` — the total number of getting `source_items`
    - Valid values:
        - `stringChunkName`
        - `string` — use inline templates starting with `@CODE:`
    - Default value: — (is not used)
- `placeholders`

    - Desctription: Additional data has to be passed into the result string.
        Nested objects and arrays are supported too:
        - `{"someOne": "1", "someTwo": "test" }` =&gt; `[+someOne+], [+someTwo+]`.
        - `{"some": {"a": "one", "b": "two"} }` =&gt; `[+some.a+]`, `[+some.b+]`.
        - `{"some": ["one", "two"] }` =&gt; `[+some.0+]`, `[+some.1+]`.
    - Valid values:
        - `stringJsonObject` — as [JSON](https://en.wikipedia.org/wiki/JSON)
        - `stringHjsonObject` — as [HJSON](https://hjson.github.io/)
        - `stringQueryFormatted` — as [Query string](https://en.wikipedia.org/wiki/Query_string)
        - It can also be set as native PHP object or array (e. g. for calls through `\DDTools\Snippet::runSnippet` or `$modx->runSnippet`):
            - `arrayAssociative`
            - `object`
    - Default value: —

Examples
--------

[](#examples)

### Run the snippet through `\DDTools\Snippet::runSnippet` without DB and eval

[](#run-the-snippet-through-ddtoolssnippetrunsnippet-without-db-and-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
	]
]);
```

Links
-----

[](#links)

- [Telegram chat](https://t.me/dd_code)
- [Packagist](https://packagist.org/packages/dd/evolutioncms-snippets-ddcolumnbuilder)
- [GitHub](https://github.com/DivanDesign/EvolutionCMS.snippets.ddColumnBuilder)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1080d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/09b81986267e62b5fde1473b40aa6f11f7bc26c1c29d5f80f2768c8788e08110?d=identicon)[dd](/maintainers/dd)

---

Top Contributors

[![Ronef](https://avatars.githubusercontent.com/u/1333424?v=4)](https://github.com/Ronef "Ronef (25 commits)")

---

Tags

modxMODX Evoevoevolution-cmsmodx evolutionevo cmsevolutioncmsdivandesigndd studiodd groupddcolumnbuildercolumn buildercontent columnscontent items

### Embed Badge

![Health badge](/badges/dd-evolutioncms-snippets-ddcolumnbuilder/health.svg)

```
[![Health](https://phpackages.com/badges/dd-evolutioncms-snippets-ddcolumnbuilder/health.svg)](https://phpackages.com/packages/dd-evolutioncms-snippets-ddcolumnbuilder)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
