← Torna ai documenti

VittRosPlat — Guida per sviluppatori

**Scopo:** ogni pagina deve includere solo:

Il resto (config statico/dinamico, funzioni comuni, tema) è centralizzato.

---

Architettura


flowchart TD
  A[Pagina PHP es. modifica_post.php] --> B[lib/bootstrap.php]
  B --> C[lib/functions.php]
  B --> D[lib/config.php]
  B --> E[lib/db_utilities.php]
  A --> F[lib/header.php]
  F --> G[vv_enqueue_theme_css()]
  G --> H[css/theme-<nome>.css]
  G --> I[css/theme-<nome>.d/vv-container.css + slice pagina]
  A --> J[lib/footer.php]

Moduli principali

---

Tema attivo da DB

Il tema non è hardcoded: si legge da `last_conf`.


// functions.php
function getValoreConfigurazione($campo) {
  $sql = "SELECT $campo FROM last_conf LIMIT 1";
  $pdo = getPDO();
  $stmt = $pdo->query($sql);
  $row = $stmt ? $stmt->fetch() : null;
  return $row[$campo] ?? null;
}

Nel bootstrap/header:


$tema_attivo = getValoreConfigurazione('tema_attivo') ?? 'default';
define('VV_THEME', 'theme-'.$tema_attivo); // es. theme-default, theme-birra

---

Nuovo file: `lib/helper.php`

**Include consigliato nel bootstrap (prima di `config.php`):**


require_once __DIR__.'/helper.php';

---

Linee guida per le pagine

**In testa alla pagina:**


require_once __DIR__.'/lib/bootstrap.php';
require_once __DIR__.'/lib/header.php';

**Struttura contenuto:**


<main class="vv-container vv-container--with-top">
  <div class="vv-scroll">
    <!-- contenuto specifico pagina -->
  </div>
</main>

**In coda:**


require_once __DIR__.'/lib/footer.php';

---

Convenzioni CSS del tema

**Cambio tema:**

---

Safe-guards “ordine prima di tutto”

Anche se puntiamo all’ordine, aggiungiamo **idempotenza** per evitare fatal-error:

Esempio header di file:


if (defined('VITTROS_FUNCTIONS')) return;
define('VITTROS_FUNCTIONS', true);

---

TODO e pulizia

---

Link rapido da VV alla documentazione

Nel progetto VV, aggiungi un link (nuova scheda):


<a href="https://mang3/docs/VittRosPlat.md" target="_blank" rel="noopener">📚 Developing Notes (VittRosPlat)</a>

(adatta l’URL alla tua pagina Documenti, es: `https://<host>/docs/VittRosPlat.md`)