Installation
- Kopieren Sie die Datein aus dem Archiv in den Root-ORdner Ihrer Magento Installation.
- Passen Sie die .htaccess Datei nach folgendem Muster an:
- Ersetzen Sie DirectoryIndex index.php mit DirectoryIndex extendedcache.php
- Ersetzen Sie RewriteRule .* index.php [L] mit RewriteRule .* extendedcache.php [L]
- Sollten Sie weitere Verweise auf index.php in Ihrer .htaccess haben, dann ersetzen Sie auch diese.
- Wenn Sie eine Multi-Store Umgebung über die index.php konfiguriert haben, dann übertragen Sie diese Einstellungen in die extendedcache.php.
- Das dynamic_block.phtml Template muss sich auch in jedem genutzten Template befinden: app/design/frontend/default/default/template/DMC/ExtendedCache folder => app/design/frontend/{your_interface}/{your_theme}/template/DMC/ExtendedCache folder.
Konfiguration
Sie können alle Einstellungen über die System-Konfiguration im Magento Backend durchführen ( Admin section -> System -> Configuration -> General -> Extended Cache ). Alle Einstellungen können sowohl auf globaler Ebene, als auch Website- und Store-Ebene durchgeführt werden.
Im Modus “With dynamic blocks”, können Sie einzelne Blöcke als dynamisch definieren. Diese werden dann bei jedem Aufruf - auch von Seiten aus dem Cache - dynamisch aus Magento nachgeladen. Diese Einstellung dient vor allem den Warenkorb-Blcok in der Sidebar / Kopf des Shops. Bedenken Sie, dass das Laden dynamischer Blöcke konsequenterweise Performance kostet.
| Name | empf. Einstellung | Beschreibung |
|---|---|---|
| Enable Extended Cache | Yes | Aktiviert / deaktiviert das Caching |
| Clear Cache | Kompletten Cache leeren | |
| Mode | With dynamic blocks | If the cart is not empty or user logged in to the system, then the module could be replaced with the dynamic blocks with the actual information in “With dynamic blocks” mode. Please see more information about dynamic blocks below. |
| Magento Version | Magento version Ihrer Installation | |
| Cache Lifetime (in hours) | 2 | Lebensdauer eines Cache-Eintrages in Stunden |
| Update cache on product-update | Yes | If product is updated using the admin section, then the module clears all cached files of this product. |
| Update cache on cms-update | Yes | If cms page is updated using the admin section, then the module clears all cached files of this page. |
| Cache Homepage | Yes | Add the home page to the cache |
| Cache CMS Pages | Yes | Add the cms pages to the cache |
| Cacheable Page Patterns | catalog | The page-pattern is a part of the URL, between the base Url and the GET attributes. If you want to add all catalog pages to the cache, then use the pattern “catalog”. The catalog pages will be added to the cache even if you use the “Url Rewrite”. |
| Minify HTML | No | The html code of the cache page will be minified before saving. |
| Combine JS code | Yes | All javascript files of the cached page will be combined to one file before saving. |
| Minify and Combine CSS code | Yes | All css files of the cached page will be combined to one file and will be minified before saving. |
| Enable Debug Mode | No | Turn the debug mode on/off. Please see more information about debug mode below |
Cache aktivieren
Aktivieren Sie den Cache wie folgt:
- Homepage: Aktivieren Sie die Einstellung “Cache Homepage” in der Magento Konfiguration.
- CMS Seiten: Aktivieren Sie die Einstellung “Cache CMS Pages” in der Magento Konfiguration.
- Über die URL: Tragen Sie z.B. den Parameter catalog in das Feld "Cache Pattern" ein, um alle URLs, die mit catalog beginenn (Meint die internen URLs, nicht die SEO-Aliase), also alle Kategorie- und Produktseiten.
- AWeiterhin können Sie den Cache über die layout.xml steuern, in dem Sie folgendes jedem betreffendn <root> Tag einfügen:
<action method="extendedCache"> <expires>3</expires> <exclude>cart,loggedin</exclude> </action>
<expires>3</expires> - ist die Lebensdauer (in Stunden) der Seite im Cache. Diese Einstellung ersetzt die globale Einstellung im Backend.
<exclude>cart,loggedin</exclude> - wenn der Kunde Produkte im Warenkorb hat oder eingeloggt ist, wird diese Seite nicht im Cache gespeichert. Die Parameter können auch getrennt verwendet werden ( <exclude>cart</exclude> )
Dynamische Blöcke hinzufügen
- Wenn Sie einen Block vom Cache ausschließen möchten, fügen Sie das nocache attribute in das <block> oder <reference> Tag der layout.xml ein.
- Wenn Sie das Attribut so verwenden nocache=”all”, wird der Block niemals dem Cache hinzugefügt.
- Wenn Sie das Attribut so verwenden nocache=”cart”, eird der Block dann nicht dem Cache hinzugefügt, wenn der Kunde etwas im Warenkorb hat.
In diesem Fall wird der Block im Fall eines Produktes im Warenkorb auch nachgeladen.
li>Wenn Sie das Attribut so verwenden nocache=”loggedin”, eird der Block dann nicht dem Cache hinzugefügt, wenn der Kunde angemeldet ist. - Sie können die Parameter “loggedin” und “cart” auch gemeinsam verwenden.
Beispiel: <block type="page/template_links" name="top.links" as="topLinks" nocache="cart,loggedin" />
In diesem Fall wird der Block im Fall eines angemeldeten Kunden auch nachgeladen.
Testen (Debug Modus)
Wenn Sie debug Informationen zun Cache benötigen, schalten Sie den Debug Modus im Backend ein. Das Modul zeigt Ihnen dann dynamische Blöcke mit einer roten Umrandung und gibt am Fuß der Seite Informationen zur Parsing-Geschwindigkeit aus.
If the page contains the dynamic blocks and dynamic blocks were replaced with the dynamic information, then block is highlighted with red.
Lister der Überschriebenen Magento Klassen
per <rewrite>
- Mage_Page_Block_Html_Head
- Mage_Core_Controller_Varien_Front
- Mage_Core_Model_Layout
- Mage_Core_Model_App
Bekannte Probleme
- Die “Minify HTML” Funktion kann Probleme in IE und Chrome verursachen, wenn der HTML Code selbst eingebettetes JavaScript enthält.
- Wenn andere Extensions ebenfalls den “Mage_Page_Block_Html_Head” ersetzen, werden minify und combine nicht funktionieren.

