Overriding A Controller 
<config>
    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                        <your_module before="Mage_Checkout">Your_Module_Checkout</your_module>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
</config> 
Sandbox Script 
Sometimes you want to run some code to see what it does, dump an object out or check a class but the thing you want to run/dump/check is hidden deep in the bowels of the code somewhere, and you feel it might be easier to run a bit of PHP to check just that one thing, without having to fire up or your browser, or wait for cron to run - that’s where this sandbox script comes in.
To use either of the examples below, save them into a file in the root of your magento install calledsandbox.php, then either browse to the directory and run php -f sandbox.php or visithttp://your.dev.site/sandbox.php
To run the default store:
<?php
require 'app/Mage.php';
Mage::app();
// your code
 
To act as cron:
<?php
require 'app/Mage.php';
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);
Mage::app('admin')->setUseSessionInUrl(false);
Mage::getConfig()->init()->loadEventObservers('crontab');
Mage::app()->addEventArea('crontab');
// your code 
Config Transactional Email Template Definition 
<config>
    <global>
        <template>
            <email>
                <your_module_email_something_template translate="label" module="namespace_module">
                    <label>Something</label>
                    <file>namespace/module/something.html</file>
                    <type>html</type>
                </your_module_email_something_template>
            </email>
        </template>
    </global>
</config> 
Block Caching 
To cache a block individually, add this method to the blocks class:
protected function _construct()
{
    $this->addData(array(
        'cache_lifetime' => 3600,
        'cache_tags'     => array(Mage_Cms_Model_Block::CACHE_TAG),
        'cache_key'      => 'CACHE_KEY',
    ));
}
 
Note  - if you set cache_lifetime to 0 (or any other value which PHP evaluates to false) then the cache will actually last 7200 seconds (2 hours), so in order to have a very high cache time then the cache_lifetime should be set to anything up to 9999999999 (about 317 years)
Category Product Collection 
This snippet provides a collection of products within a category
$cat = Mage::getModel('catalog/category')->load(1);
$coll = Mage::getResourceModel('catalog/product_collection');
$coll->addCategoryFilter($cat); 
Config Redis Cache Definition 
<config>
    <global>
        <cache>
            <backend>Cm_Cache_Backend_Redis</backend>
            <backend_options>
                <server>localhost</server> <!-- or absolute path to unix socket for better performance -->
                <port>6379</port>
                <database>0</database>
                <force_standalone>0</force_standalone>  <!-- 0 for phpredis, 1 for standalone PHP -->
                <automatic_cleaning_factor>0</automatic_cleaning_factor> <!-- Disabled by default -->
                <compress_data>1</compress_data>  <!-- 0-9 for compression level, recommended: 0 or 1 -->
                <compress_tags>1</compress_tags>  <!-- 0-9 for compression level, recommended: 0 or 1 -->
                <compress_threshold>20480</compress_threshold>  <!-- Strings below this size will not be compressed -->
                <compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy -->
            </backend_options>
        </cache>
        <full_page_cache>
            <backend>Cm_Cache_Backend_Redis</backend>
            <backend_options>
                <server>localhost</server> <!-- or absolute path to unix socket for better performance -->
                <port>6379</port>
                <database>1</database>
                <force_standalone>0</force_standalone>  <!-- 0 for phpredis, 1 for standalone PHP -->
                <automatic_cleaning_factor>0</automatic_cleaning_factor> <!-- Disabled by default -->
                <compress_data>1</compress_data>  <!-- 0-9 for compression level, recommended: 0 or 1 -->
                <compress_tags>1</compress_tags>  <!-- 0-9 for compression level, recommended: 0 or 1 -->
                <compress_threshold>20480</compress_threshold>  <!-- Strings below this size will not be compressed -->
                <compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy -->
            </backend_options>
        </full_page_cache>
    </global>
</config> 
Config Two-Level Memcached & DB Definition 
<config>
    <global>
        <cache>
            <backend>memcached</backend>
            <slow_backend>database</slow_backend>
            <id_prefix>cache_</id_prefix>
            <memcached>
                <servers>
                    <server1>
                        <host><![CDATA[localhost]]></host>
                        <port><![CDATA[11211]]></port>
                        <persistent><![CDATA[0]]></persistent>
                        <weight><![CDATA[1]]></weight>
                        <timeout><![CDATA[60]]></timeout>
                        <retry_interval><![CDATA[10]]></retry_interval>
                    </server1>
                </servers>
                <compression><![CDATA[0]]></compression>
                <cache_dir><![CDATA[]]></cache_dir>
                <hashed_directory_level><![CDATA[]]></hashed_directory_level>
                <hashed_directory_umask><![CDATA[]]></hashed_directory_umask>
                <file_name_prefix><![CDATA[]]></file_name_prefix>
            </memcached>
        </cache> 
        <full_page_cache>
            <backend>memcached</backend>
            <slow_backend>database</slow_backend>
            <id_prefix>fullpagecache_</id_prefix>
            <memcached>
                <servers>
                    <server1>
                        <host><![CDATA[localhost]]></host>
                        <port><![CDATA[11211]]></port>
                        <persistent><![CDATA[0]]></persistent>
                        <weight><![CDATA[1]]></weight>
                        <timeout><![CDATA[60]]></timeout>
                        <retry_interval><![CDATA[10]]></retry_interval>
                    </server1>
                </servers>
                <compression><![CDATA[0]]></compression>
                <cache_dir><![CDATA[]]></cache_dir>
                <hashed_directory_level><![CDATA[]]></hashed_directory_level>
                <hashed_directory_umask><![CDATA[]]></hashed_directory_umask>
                <file_name_prefix><![CDATA[]]></file_name_prefix>
            </memcached>
        </full_page_cache>
    </global>
</config> 
 
No comments:
Post a Comment