Slovník pojmů a integrací do obahu na stránce
- dotTwelve
- Člen | 167
Stojím před ozázkou jak udělat slovník pojmů (o samotný slovník se mi nejdá, to bych zvládnul) aby uměl slovní výrazy obsažené, které budou shodné s výrazy na stránce ještě do stránky označit s odkazem na slovník. Něco typu kontextová reklama.
Napadá mě snad pouze to, že načtu do pole všechny výrazy slovníku z DB. Poté načtu do pole celý text na stránce a pokud se výrazy budou shodovat, tak vepíšu nějaky html tag – ABBR například. Toto celé bych asi řešil javascriptem.
Napadá vás nějaké lepší řešení?
- dotTwelve
- Člen | 167
Mám jenom malý dotaz, zda-li je tato forma zápisu v šabloně ta správná:
<?php
<script language="javascript">
terms = [<?php
foreach ($dictionary as $term) {
echo '"' . $term . '",';
}
?>];
links = [<?php
foreach ($dictionary as $term) {
echo '"' . String::webalize($term) . '",';
}
?>];
</script>
?>
zda-li to nejde nějak lépe napsat.
Díky!
Editoval dotTwelve (13. 11. 2009 14:54)
- JakubKohout
- Člen | 92
A co si napsat helper? a pak si jenom pomocí regulárního výrazu upravím daná slova a je to. Jenom by to chtělo použít cache pokud je na stránce více textů pro aktualizaci. Možná by taky nebylo špatný využít singleton aby se výber dat pro slovník z DB v helperu provedl jen jednou a né po každém zavolání.
- David Grudl
- Nette Core | 8228
dotTwelve napsal(a):
Mám jenom malý dotaz, zda-li je tato forma zápisu v šabloně ta správná:
Pokud $term bude obsahovat uvozovky nebo lomítko, nevygeneruje se správný kód. Vhodnější je použít LatteFilter s automatickou sanitizací:
<script>
terms = {$dictionary};
links = {$webalizedDictionary};
</script>