Files
elixforms-web-pages/php/scelta-carriera/index.php
T

92 lines
3.7 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use ElixForms\Common\ElixFormsComponent;
/**
* Pagina custom "Scelta Carriera" per elixForms.
* Equivalente PHP della pagina React scelta-carriera.
*
* Estende ElixFormsComponent sovrascrivendo:
* - createCustomFormFields(): definisce dropdown, text, textarea, boolean, radio, checkbox
* - renderExtraContentPost(): aggiunge un alert informativo in fondo
*/
class SceltaCarrieraPage extends ElixFormsComponent
{
protected function createCustomFormFields(): string
{
$html = '';
// Dropdown: COL0015 Goals
$html .= $this->createDropdownInput('COL0015', 'COL0015 Goals', [
['value' => 0, 'label' => 'Not applicable'],
['value' => 1, 'label' => 'Goal 1: No poverty'],
['value' => 2, 'label' => 'Goal 2: Zero hunger'],
['value' => 3, 'label' => 'Goal 3: Good health and well-being'],
['value' => 4, 'label' => 'Goal 4: Quality education'],
['value' => 5, 'label' => 'Goal 5: Gender equality'],
['value' => 6, 'label' => 'Goal 6: Clean water and sanitation'],
['value' => 7, 'label' => 'Goal 7: Affordable and clean energy'],
['value' => 8, 'label' => 'Goal 8: Decent work and economic growth'],
['value' => 9, 'label' => 'Goal 9: Industry, Innovation, and Infrastructure'],
['value' => 10, 'label' => 'Goal 10: Reduced inequalities'],
['value' => 11, 'label' => 'Goal 11: Sustainable cities and communities'],
['value' => 12, 'label' => 'Goal 12: Responsible consumption and production'],
['value' => 13, 'label' => 'Goal 13: Climate action'],
['value' => 14, 'label' => 'Goal 14: Life below water'],
['value' => 15, 'label' => 'Goal 15: Life on land'],
['value' => 16, 'label' => 'Goal 16: Peace, justice and strong institutions'],
['value' => 17, 'label' => 'Goal 17: Partnerships for the goals'],
], true);
// Text input: COL0002
$html .= $this->createTextInput('COL0002', 'Campo STRING', true);
// Textarea: COL0003
$html .= $this->createTextAreaInput('COL0003', 'Campo TEXTAREA', true);
// Boolean: COL0004
$html .= $this->createBooleanInput('COL0004', 'Campo BOOLEAN', true);
// Radio: COL0005
$html .= $this->createRadioInput('COL0005', 'Campo RADIO', [
['value' => 1, 'label' => 'Opzione 1'],
['value' => 2, 'label' => 'Opzione 2'],
['value' => 3, 'label' => 'Altra opzione'],
], true);
// Checkbox: COL0006
$html .= $this->createCheckboxInput('COL0006', 'Campo CHECKBOX', [
['value' => 4, 'label' => 'Check 1'],
['value' => 5, 'label' => 'Check 2'],
['value' => 6, 'label' => 'Altro check'],
]);
return $html;
}
protected function renderExtraContentPost(): string
{
return '<div class="alert alert-info mt-4">Questa pagina è la versione PHP della custom page Scelta Carriera.</div>';
}
}
// =============================================================================
// Entry point — Istanziazione e rendering della pagina
// =============================================================================
$page = new SceltaCarrieraPage([
'moduleName' => '',
'alertInfoMessage' => '',
'userDisplayName' => 'John Doe',
'headerTitle' => 'Modulo A/13 - Richiesta di Certificato',
'cardTitle' => 'Scelta Carriera',
'cardDescription' => 'Benvenuto nella piattaforma di scelta carriera! Esplora le tue opzioni e trova la strada giusta per te.',
'headerHeroImageSrc' => '',
]);
echo $page->render();