cache

Vamos supor o seguinte cenário:

Você precisa cachear diferentes temas no Drupal: um tema é para Mobile e outro para Desktop, pegando essa informação da variável $_SERVER.

Por padrão, o cache do Drupal não vai conseguir atender essa necessidade. Para resolver esse problema, vamos utilizar o módulo Mobile Detect.

Faça o download do módulo e habilite o Mobile Detect e seu sub-modulo Mobile Detect Caching.

drush en mobile_detect mobile_detect_caching

Com o módulo instalado, precisamos criar a variação de tema. Neste caso, vou utilizar o hook_custom_theme().

function my_module_custom_theme() {
  $detect = mobile_detect_get_object(); 
  if($detect->isMobile() || $detect->isTablet()){
    $custom_theme = 'my_mobile_theme';
  }else{
    $custom_theme = variable_get('theme_default');
  }
 
  return $custom_theme;
}

Implementado o hook acima, a variação de tema de acordo com o device já estará acontecendo. Porém, com o cache do Drupal desabilitado.

Para que possa funcionar, adicione a seguinte linha de código no seu settings.php:

 

$conf['cache_backends'][] = 'sites/all/modules/contrib/mobile_detect/mobile_detect_caching/mobile_detect_caching.inc';

 

Feito isso, seu site já estará fazendo o cache de acordo com o device acessado, mudando assim, o seu tema.

Até o próximo Post!

Leia também: Implementando Cache no Drupal 7 e 8 via programação

Publicado originalmente em: www.drupalbrasil.com.br/criando-cache-de-temas-desktop-e-mobile-no-drupal