Tisztítása cache Bitrix komponens esetén, bitrix
Mi képviseli a következő helyzetet: egy naptári alkatrész (például) elhelyezett több helyszínen különböző mintákkal (take 2 minta). A sablon alkatrész meg kell jeleníteni a legördülő listából, amely tartalmazza az összes felhasználó. Felhasználók, megkapjuk a Bitrix api fájl result_modifier.php naptári alkatrész sablont. De a jövőben a felhasználók nem lesz elég, így meg kell választani, hogy cache listát azokkal a felhasználókkal, hogy minden egyes alkalommal, az oldal a naptár alkatrész nem drága csinálni adatbázis-lekérdezések.
Ebben a megvalósításban van egy probléma - ha megváltoztatja a felhasználók listáját, illetve az adatok legördülő listából a meglévő felhasználók számára, hogy csak akkor változik, miután a cache frissült, azaz mikor jár le.
Bitriks cache alkatrész mappában tárolt / bitrix / cache / S1 / bitrix / alkatrészeket.
Ahol az S1 - a helyszín azonosító, bitrix (az utóbbi esetben) - névtérben. Szabványos alkatrészek, ez bitrix, a másolt - a mappa nevét. Ezután jön a nevét viselő, a mi esetünkben news.calendar, és benne egy mappát véletlenszerű nevet - tartalmaz egy cache sablonokat. Minden mappa egy adott sablon.
Meg kell akasztani delete cache news.calendar alkatrész események
- OnAfterUserAdd - hozzáad egy felhasználót
- OnAfterUserUpdate - frissítés felhasználói adatok
- OnUserDelete - felhasználó eltávolítása
Ehhez adjuk hozzá a kódot a fájlban /bitrix/php_interface/init.php
BXClearCache - egy függvény, amely törli a gyorsítótárat. Az első paraméter -, hogy törölje a cache teljesen (igaz vagy hamis). A második - útvonal a cache relatív / bitrix / cache.