Site

Componentes

v4

Componentes são pedaços reutilizáveis (menu, alerta, input). Ficam em_components/ no tema. Inclua com view().


Onde ficam

themes/default/_components/web/navigation.mucrm.php
themes/default/_components/web/title.mucrm.php
themes/default/_components/card.mucrm.php
themes/panels/admin/_components/input.mucrm.php

_components.web.navigation → pasta acima no tema ativo.panels.admin._components.input → tema compartilhado do admin.


Site (tema default)

<?= view('_components.navigation') ?>
<?= view('_components.sidebar-left') ?>
<?= view('_components.alert-message') ?>
<?= view('_components.title', ['title' => 'Loja']) ?>
<?= view('_components.input', [
    'type' => 'email',
    'label' => 'E-mail',
    'model' => 'email',
    'placeholder' => 'Digite aqui',
]) ?>

Exemplos no tema: title, sub_title, alert-message,input, input-error, button-submit,navigation, sidebar-left, sidebar-right.


Painel admin

<?= view('admin._components.title', ['title' => 'Contas']) ?>
<?= view('admin._components.alert-message') ?>
<?= view('admin._components.input', [
    'label' => 'Nome',
    'model' => 'name',
    'value' => $account->name ?? '',
]) ?>

No layout

O layout chama os componentes fixos. O miolo da página é $content:

<?= view('_components.navigation') ?>
<main><?= $content ?? '' ?></main>
<?= view('_components.sidebar-right') ?>

Veja Layouts.


Partials de módulo

<?= view('Shop.partials.item-row', ['item' => $item]) ?>

Arquivo: app/modules/shop/views/partials/item-row.mucrm.php.


Boas práticas

  • Menu, alerta e inputs repetidos ficam em _components/
  • Passe dados pelo segundo argumento de view()
  • Não consulte o banco dentro do componente
  • Mostre texto dinâmico com e()