Automatická tvorba lokální navigace
- hadzim
- Člen | 2
Chtěl bych se zeptat, jak byste řešili situaci, kdy chci vytvořit něco
takovéhoto:
ukazka
Myslím tím lokální navigaci pod hlavním nadpisem. Zda by ji nějak šlo generovat automaticky například ze všech nadpisů h3, které v šabloně následují.
Abych měl v šabloně něco takovéhoto:
<h1>Hlavni nadpis</h1>
{neco specialniho}
<h3>Podnadpis 1</h3>
text
<h3>Podnadpis 2</h3>
text
…
a namísto něcospeciálního by se vygenerovaly odkazy na ty podnadpisy (pomocí #ID), s tim, ze bych klidně ty h3 musel nejspíš obalit nějakým helperem, aby do nich generoval jednoznačné identifikátory
díky
- Ondřej Mirtes
- Člen | 1536
Všiml jsem si, že to dělá automaticky místní dokumentace, nejspíš to bude nějaká featura Texy.
- hadzim
- Člen | 2
Nerad bych parsoval syblony pred vlastnim vypisovanim…
Myslel jsem spis nejaky elegantni zpusob, jak by se pri vypsani kazdeho h3
(napriklad pomoci nejakeho helperu, nebo makra, neceho podobneho) tento nadpis
zaregistroval a nasledne se vsechny tyto zaregistrovane nadpisy promitly zpet do
lokalni navigace (problem ale zrejme bude, ze tou dobou je jiz vypsana)
- redhead
- Člen | 1313
Mám takový nástih, který by mohl fungovat (u nových šablon):
- udělat si makro třeba {h3}, které by do nějaké controly zaznamenávalo tyto nadpisy (použití např.: {h3 ‚Nadpis 1‘})
- někde pod hlavním nadpisem udělat block ‚navigace‘
- na konci šablony do blocku zavolat widget na render té controly
{block #navigace}{/block}
{h3 'Nadpis 1'}
{h3 'Nadpis 2'}
{block #navigace}
{control navigationControl}
{/block}
Ale není to moc hezké. Možná bude mít někdo lepší nápad.
- Davelister
- Člen | 28
A co takhle vytvorit si nejaky filtr, ktery si v sablone vyhleda vsechny <h3>xxxx</h3> a nejak(tedka ale nevim jak :)) zpracuje?
- redhead
- Člen | 1313
To je asi lepší řešení, ale nevím co přesně hadzim myslel tím „Nerad bych parsoval syblony pred vlastnim vypisovanim…“. A navíc helper nebude vědět kam ty výsledky vypsat, ale možná by stačilo opět najít <h2> a vložit to pod něj?.
Jinak by to šlo krásně krásně přes regulární výraz, z kterého to pak vytaháš raz dva.