Fulltext obsahu šablon – kde vzít HTML pro indexaci
- Milo
- Nette Core | 1283
Potřebuji napsat fulltextové vyhledávání a do výsledků zahrnout i obsah Latte šablon. Šablony jsou vícejazyčné, stejně tak bude vícejazyčné i vyhledávání v indexu. Vyhledávání bude také privátní/veřejné podle identity uživatele.
Zatím moc nevím, kudy do toho. Přemýšlím o makru, které bude zachytávat HTML výstup šablony do úložiště a to pak budu indexovat. Makro bych ale musel přidat do všech šablon.
Hledám tedy místo, kde se správně napíchnout na HTML výstup. Neřešil jste někdo?
- David Matějka
- Moderator | 6445
co takhle sendResponse? https://api.nette.org/…ter.php.html#621
neco jako
public function sendResponse(Application\IResponse $response)
{
if($reponse instanceof TextResponse) {
$html = (string)$response->getSource();
//zpracovat
$response = new TextResponse($html);
}
parent::sendResponse($response);
}
ted si nejsem jistej, jestli je nutny znovu vytvaret TextResponse, ale obavam se, ze kdyby se tak neudelalo, tak se sablona provede 2×..
edit: oprava (string)$response->getSource();
edit2: otestovano, je potreba to vytvoreni noveho textresponse, sablona
blbne, kdyz je vykreslovana 2×. funguje to celkem ok, jedinej problem je, ze to
zachyti komplet stranku, tzn. i layout. slo by to asi nejak vyresit (ve stylu,
ze vytvorim klon template, nastavim prazdnej layout jen s
{include #block}
, ten si necham poslat do promenny, pak hodim zpet
ten puvodni layout a poslu response :) )
Editoval matej21 (27. 3. 2013 16:48)