Themes Add Module
🧩 1. „Add Module” w Adminie
To się pojawia tylko dla stron typu:
template: modular
👉 Czyli musisz mieć stronę modularną.
📁 Struktura
/user/pages/
├── 01.home/
│ ├── modular.md
│ ├── _header/
│ │ └── header.md
│ └── _features/
│ └── features.md
📄 modular.md
title: Home
template: modular
👉 Po tym w Adminie pojawi się:
✅ Add Module
🧠 Dlaczego u Ciebie tego nie ma?
Bo masz:
title: Home
template: modular
➡ zmień na modular
🧱 2. Własne moduły (Add Module → coś sensownego)
Każdy moduł to:
/user/themes/moj-theme/templates/modular/
modular/
├── blog.html.twig
├── text.html.twig
📄 przykład modułu blog
<section>
<h2>{{ page.title }}</h2>
{% for child in page.collection %}
<div>
<a href="{{ child.url }}">{{ child.title }}</a>
</div>
{% endfor %}
</section>
⚙️ Blueprint (żeby był w Adminie)
/user/themes/moj-theme/blueprints/modular/blog.yaml
title: Blog Module
'@extends':
type: default
form:
fields:
tabs:
fields:
content:
fields:
header.title:
type: text
label: Title
👉 Bez tego moduł NIE pojawi się w „Add Module”
📰 3. Page Template „blog” w Adminie
To osobny temat (normalna strona, nie moduł)
📄 plik:
/user/themes/moj-theme/templates/blog.html.twig
np.:
<h1>{{ page.title }}</h1>
{% for p in page.collection %}
<div>
<a href="{{ p.url }}">{{ p.title }}</a>
</div>
{% endfor %}
⚙️ blueprint:
/user/themes/moj-theme/blueprints/blog.yaml
title: Blog Page
'@extends':
type: default
👉 Po tym:
✅ w Admin → Page Template pojawi się blog
🔥 4. Najczęstsze błędy (tu zwykle jest problem)
❌ brak blueprinta
→ template nie pojawi się w Adminie
❌ zła ścieżka
templates/blog.html.twig ✔
templates/blog.twig ❌
❌ brak cache refresh
Po zmianach:
👉 Admin → Tools → Clear Cache
💡 5. Co chcesz osiągnąć (czyli sens tego)
Masz 2 podejścia:
👉 A. Blog jako osobna strona
template: blog
lista wpisów
👉 B. Blog jako moduł (na stronie głównej)
template: modular
moduł: blog
🚀 Pro tip (dla Ciebie)
Patrząc na to co robisz (komentarze, formularze):
👉 lepsze będzie:
✔ strona modularna (home)
✔ moduł blog
✔ moduł komentarzy