PHPackages                             visermort/typimultiinput - 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. [Localization &amp; i18n](/categories/localization)
4. /
5. visermort/typimultiinput

ActiveLibrary[Localization &amp; i18n](/categories/localization)

visermort/typimultiinput
========================

Extension for TypiCMS. For making multi value fields.

v0.5.1(6y ago)2681MITPHPPHP ^7.2

Since Oct 7Pushed 6y ago2 watchersCompare

[ Source](https://github.com/visermort/typimultiinput)[ Packagist](https://packagist.org/packages/visermort/typimultiinput)[ RSS](/packages/visermort-typimultiinput/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (9)Used By (0)

Typi MultiInput
---------------

[](#typi-multiinput)

Extension for [TypiCMS](https://github.com/TypiCMS/Base).

For making multi-value fields.

[TypiCMS](https://github.com/TypiCMS/Base) is a modular multilingual content management system built with [Laravel 6](https://laravel.com). Out of the box you can manage pages, events, news, places, menus, translations, etc.

### Installation

[](#installation)

1. Install TypiCMS
2. Install TypiMultiInput

    ```
    composer require visermort/typimultiinput

    ```
3. Publish MultiInput files to project directory (config, views, scss, js)

    ```
    php artisan vendor:publish --provider="Visermort\TypiMultiInput\MultiInputProvider"

    ```
4. Write links to scss, js

    /resources/scss/admin.scss

    ```
    ...
    @import 'admin/multiinput';
    ...

    ```

    /resources/scss/public.scss

    ```
    ...
    @import 'public/multiinput';
    ...

    ```

    /resources/js/admin.js - import vue.js component

    ```
    ...
    import MultiInputFileField from './components/MultiInputFileField.vue';
    ...
    ...
    new Vue({
        i18n,
        components: {
             ...
             ...
             MultiInputFileField,
             ...

    ...

    ```
5. Build assets

    ```
    npm run dev (prod, watch..)

    ```

### Usage

[](#usage)

1. There is sample configuration named "advantages" in /config/multiinput.php.

    Make your configurations here.
2. Create field in table by migration.

    ```
    Schema::table('products', function (Blueprint $table) {
        $table->json('advantages')->nullable(true);
    });

    ```
3. Update Model class.

    ```
    class Product extends Base
    {
        ...
        protected $casts = [
            'advantages' => 'array',
        ];
        ...

    ```
4. Write in admin form template

    ```
    ...

        {!! MultiInput::render('advantages', 'advantages', $model) !!}

    ...

    ```

    argument1 "advantages" - Model attribute name
    argument2 "advantages" - configuration name
    argument3 $model - Model
    argument4, not required, default \[\] - config updates, for example:
    `['columns' => ['templates' => ['items' => TypiCMS::templates()]]]`

    blade templates for admin in directory /resources/views/vendor/multiinput/admin/
5. Write in public template

    ```
    ...

       Advantages
       {!! MultiInput::publish('advantages', 'advantages', $model->present()) !!}

    ...
    or
    ...

       Advantages
       {!! MultiInput::publish('advantages', 'advantages', $model->present(), [], ['templates' => ['file'=>'other_file', 'main'=>'other_main']]) !!}

    ...

    ```

    argument5 - params. Not required

    Default templates in /resources/views/vendor/multiinput/public/. Can be override in params

    ```
    [
        'templates' => [
            'directory' => path do templates from /resources/views/, defalult 'vendor.multiinput.public..',
            'main' => main template, default 'main',
            'item' => template for item, default 'item',
            'image' => template for image, default 'image',
            'file' => template for document, default 'file',
        ]
    ]

    ```

### Config

[](#config)

(All configurations in /config/multiinput.php.)

##### Properties

[](#properties)

**columns** *array, for root and columns with type Multiinput, required:* The row columns configuration where you can set the properties.
**name** *string, for column, required:* Column name.
**title** *string, for root and columns, required:* Configuration title, column title. Performs on front as Lang::get('db.'`title`).
**type** *string, for columns, required:* Column type.

**Available field types**

```
 Varchar
 Text
 Date
 DateTime
 Number
 Dropdown
 Boolean
 Image
 File
 Multiinput - embedder multiinput field

```

**translatable** *boolean, for column:* Data of all column types will be stored as multilingual if true.
**order** *array, for root and column with type Multiinput:* Sort order (on front).
**items** *array, for column with type Dropdown, required:* Select options.
**rules** *string, for column:* Validation rules. Validation occurs on front by Js. **Available rules** `requried, min:value, max:value`. Enabled more than one rule `required|max:100`.
**clone-enable** *booldean, for root and column with type Multiinput:* Makes "Clone Item" button.
**single-row** *boolean, for root and column with type Multiinput:* Makes "Add Item" button if *false* or empty.
**sort-enable** *boolean, for root and column with type Multiinput:* Enable rows sorting by drag&amp;drop on an admin form.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

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

Every ~2 days

Total

7

Last Release

2397d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ccae12073f44a45ca891c64191b6d31fcef8c025e1d57c08929222f9f9ed2785?d=identicon)[visermort](/maintainers/visermort)

---

Top Contributors

[![visermort](https://avatars.githubusercontent.com/u/16452940?v=4)](https://github.com/visermort "visermort (33 commits)")

---

Tags

laravelmultilingualcmsextensionTypimultiinput

### Embed Badge

![Health badge](/badges/visermort-typimultiinput/health.svg)

```
[![Health](https://phpackages.com/badges/visermort-typimultiinput/health.svg)](https://phpackages.com/packages/visermort-typimultiinput)
```

###  Alternatives

[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.3k](/packages/typicms-base)[asgardcms/platform

The AsgardCms application.

78860.8k](/packages/asgardcms-platform)[themsaid/laravel-langman

Manage language files with ease.

871307.5k11](/packages/themsaid-laravel-langman)

PHPackages © 2026

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