Skip to content

3.1. CMS custom inputs

Rauli Rajande edited this page Oct 11, 2019 · 1 revision

It is possible to use panels to define new input types for CMS:

For example, we want to add special "Square text" input to our "stuff" module "text" panel:

In your panel json define new input:

/modules/stuff/panels/text.json

{
    "version":"2",
    "label":"Text",
    "item":[
        {
            "type":"stuff/square_text",
            "name":"text",
            "label":"Square text"
        }
    ]
}

Create input panel template:

/modules/stuff/templates/square_text.tpl.php

<div class="square_text_container">
    <div class="square_text_content">
        <div class="square_text_label"><?= $label ?></div>
        <div class="square_text_input">
            <textarea name="<?= $name ?>"><?= $value ?></textarea>
        </div>
    </div>
</div>

Use css file to style and js file to add functionality.

/modules/stuff/css/square_text.scss

/modules/stuff/js/square_text.js