Drupal Dump

Drupal Snippets, Hacks and more....

Clear cache of particular entity

For debugging purposes I need to clear cache for particular drupal commerce order, but this can be done for any entity, just replace table name and id's in code below

 $table = 'cache_entity_commerce_order';
 $id ="776764";
 cache_clear_all($id, $table);



Delete stale CSS and JS files faster

To delete stale CSS and JS files from server, you need to add

variable_set('drupal_stale_file_threshold', 86400);

to your settings.php and change the value from default 30 days (2592000) to for example 1 day above.
They will be deleted on cron run.

Find and change module weight with drush

Run this in terminal

drush php-eval "drush_print_r(db_select('system', 's') ->fields('s', array('weight')) ->condition('name', 'some_module', '=') ->execute() ->fetchField())";

and then when you get the required modules weight, change it with

Add custom caching per block

Caching per block can be quite useful, depending on how much blocks you have in page, but odds are you are going to have some in footer and header.

Stuck cron job in elysa cron

Just go and run this into devel/php

db_query("update elysia_cron set running = 0 where name = 'search_cron'");

where in this case I am unstucking cron job for search indexing.

Reset (wipe) search index

If you want to wipe out current search index, because you maybe made custom search module to quickly wipe out search tables run this into devel/php and you are starting from scratch

Running a query with devel module

If you need to check something quickly with devel module. You can use db_query and put any sql command in it. Like

$query = db_query("SELECT * FROM `block` WHERE `delta` LIKE 'main_menu' ORDER BY `theme` DESC"); foreach($query as $result) { dpm($result); }

and dpm results to see what are the values.