I’ve a function module which offers a view which has a block part.
To maintain issues easy, Drupal Development Service module I am writing a hook_update for is ‘mymodule’ Drupal Development Service function which implements Drupal Development Service view is ‘myfeature’, Drupal Development Service view which comprises Drupal Development Service block is ‘myview’ and Drupal Development Service block is simply block_1 of that view.
Drupal Development Service block must be seen in Drupal Development Service area sidebar_second Drupal Development Service block must be seen solely on pages which match customers/* Drupal Development Service following is my hook_update simplified:
operate mymodule_update_7001(){ features_install_modules(array('myfeature')); drupal_flush_all_caches(); //Change block settings db_update('block') ->fields(array( 'pages' => "customers/*", 'visibility' => 1, )) ->situation('module', 'views') ->situation('delta', 'myview-block_1') ->execute(); db_update('block') ->fields(array( 'area' => 'sidebar_second', 'standing' => 1, )) ->situation('module', 'views') ->situation('delta', 'myview-block_1') ->situation('theme', 'mytheme') ->execute(); }
Sadly it would not work, and that is largely as a result of at Drupal Development Service level after working drupal_flush_all_caches(); Drupal Development Service block would not exist in Drupal Development Service desk but.
drupal_flush_all_caches() ought to run block_flush_caches() which ought to run _block_rehash() towards every theme, anticipated behaviour is that this might trigger Drupal Development Service writerecord to happen placing Drupal Development Service new views block in Drupal Development Service ‘blocks’ desk. (if i ran 9 flush all caches adopted by a block flush cache and a rehash this might nonetheless not work)
I’ve experimented with various mixtures of those cache flushes to no avail, i’ve additionally tried giving ‘mymodule’ the next weight.
Bizaarely utilizing Drupal Development Service following drush command instantly after Drupal Development Service replace:
drush php-eval "_block_rehash('mytheme');"
causes Drupal Development Service block to exist in Drupal Development Service database. I’ve tried utilizing this precise command in Drupal Development Service hook_update_n and that didn’t work.
any recommendation could be appreciated.