Magento 2 - Jak utworzyć stronę FAQ z akordeonem

Odpowiedzi:

16

To jest możliwe. Jeśli chcesz użyć

data-mage-init

Następnie robisz to w ten sposób:

<div id="element" data-mage-init='{"accordion":{"openedState": "active", "collapsible": true, "active": false, "multipleCollapsible": true}}'>
    <div data-role="collapsible">
        <div data-role="trigger">
            <span>Title 1</span>
        </div>
    </div>
    <div data-role="content">Content 1</div>

    <div data-role="collapsible">
        <div data-role="trigger">
            <span>Title 2</span>
        </div>
    </div>
    <div data-role="content">Content 2</div>

    <div data-role="collapsible">
        <div data-role="trigger">
            <span>Title 3</span>
        </div>
    </div>
    <div data-role="content">Content 3</div>
</div>
iva
źródło
Co to jest rola danych
Jaisa
atrybut działający z data-mage-init
iva
To powinno być oznaczone jako odpowiedź.
Miguel Felipe Guillen Calo
4

To działa dla mnie:

<div data-mage-init='{"accordion":{"openedState": "active", "collapsible": true, "active": false, "multipleCollapsible": false}}'>
    <div data-role="collapsible">
        <div data-role="trigger">
            Title 1
        </div>
    </div>
    <div data-role="content">
        <p>
            Content 1 bla bla bla.
        </p>
    </div>
    <div data-role="collapsible">
        <div data-role="trigger">
            Title 2
        </div>
    </div>
    <div data-role="content">
        <p>
            Content 2 bla bla bla.
        </p>
    </div>
</div>
Laurent Khoudja
źródło
0
<div id="element" data-mage-init='{"accordion":{"openedState": "active", "collapsible": true, "active": false, "multipleCollapsible": true}}'>
<button class="accordion" data-role="collapsible">Section 1</button>
<div class="panel" data-role="content">
    <p>Lorem ipsum...</p>
</div>

<button class="accordion" data-role="collapsible">Section 2</button>
<div class="panel" data-role="content">
    <p>Lorem ipsum...</p>
</div>

<button class="accordion" data-role="collapsible">Section 3</button>
<div class="panel" data-role="content">
    <p>Lorem ipsum...</p>
</div>

.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}

.active, .accordion:hover {
background-color: #ccc;
}

.panel {
padding: 0 18px;
background-color: white;
display: none;
overflow: hidden;
}

Андрій Мартиновський
źródło