Gestione di un progetto Drupal8 con Composer

  • Installazione di composer:
    • curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
      composer config repositories.drupal composer https://packages.drupal.org/8
  • Creazione del progetto:
    • composer create-project drupal-composer/drupal-project:8.x-dev macchinece --stability dev --no-interaction
  • Aggiornamento del progetto (di tutti i moduli):
    • composer update --with-dependencies

Utilizziamo Sass con Coda2 + Mac

Prima di tutto, hai bisogno di Ruby per far funzionare il tutto. Se stai utilizzando Mac OS X, hai già Ruby installato se hai Windows auguri :-). A questo punto non hai bisogno di nient'altro che di un editor come Coda (che amo tantissimo) poichè al suo interno ha un terminale ed i  plugin per la compilazione dei file SASS.

Per installare il SASS (cioè il compilatore per i file .SCSS) non devi fare altro che eseguire questo comando da terminale

sudo gem install sass

 

Risultato:

Attivare la modalità Debug su Drupal 8

Una volta installata la nuova versione di drupal 8, editare il file services.yml che si trova in

[DRUPAL ROOT]/sites/default/

Nel caso non esista, duplicare e rinominare il file default.services.yml

Editando il file troverete dei comandi che vanno modificati come segue:

parameters:
     twig.config:
          debug: true
          auto_reload: true
          cache: false

Azzerare la cache di Drupal. Fine

IMPORTANTE: in fase di produzione, reimpostare i parametri iniziali.

 

Tags

Come inserire una line di divisione tra i blocchi grid di bootstrap

Un piccolo esempio di CSS per inserire una riga verticale di divisione tra colonne bootstrap

.row.vertical-divider {
  overflow: hidden;
}
.row.vertical-divider > div[class^="col-"] {
  text-align: center;
  padding-bottom: 100px;
  margin-bottom: -100px;
  border-left: 1px solid #F4F4F4;
  border-right: 1px solid #F4F4F4;
}
.row.vertical-divider div[class^="col-"]:first-child {
  border-left: none;
}
.row.vertical-divider div[class^="col-"]:last-child {
  border-right: none;
}

 

Come rimuovere i css del core o dei motuli aggiuntivi nel proprio template

function YOUR_THEME_css_alter(&$css) {
     
    // Remove Drupal core css
     
    $exclude = array(
    'modules/aggregator/aggregator.css' => FALSE,
    'modules/block/block.css' => FALSE,
    'modules/book/book.css' => FALSE,
    'modules/comment/comment.css' => FALSE,
    'modules/dblog/dblog.css' => FALSE,
    'modules/field/theme/field.css' => FALSE,
    'modules/file/file.css' => FALSE,
    'modules/filter/filter.css' => FALSE,
    'modules/forum/forum.css' => FALSE,
    'modules/help/help.css' => FALSE,
    'modules/menu/menu.css' => FALSE,

Tags

Come modificare il template di edit/add di un nodo

Inserire il seguente codice nel file template.php

function [THEME_NAME]_theme() {
  return array(
    'NODETYPE_node_form' => array(
      'arguments' => array(
          'form' => NULL,
      ),
      'template' => 'tpl/NODETYPE-node-form', // set the path here if not in root theme directory
      'render element' => 'form',
    ),
  );
}

 

creare il file NODETYPE-node.form.tpl.php ed inserire la seguente riga

 

Differenti template in base all'url della pagina

Da inserire nella funzione [THEME_NAME]_preprocess_page()


// Page template suggestions based off URL alias
   if (module_exists('path')) {
    $alias = drupal_get_path_alias(str_replace('/edit','',$_GET['q']));
    if ($alias != $_GET['q']) {
      $template_filename = 'page';
      foreach (explode('/', $alias) as $path_part) {
        $template_filename = $template_filename . '__' . $path_part;
        $variables['theme_hook_suggestions'][] = $template_filename;
      }
    }
  }

 

Tags

Come scrivere nel file di Log dal tuo codice (plugin o altro)

watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)

 

Esempio di chiamata:

watchdog('il tuo modulo', 'Descrizione',array(), WATCHDOG_INFO);

 

Parametri

$type: The category to which this message belongs. Can be any string, but the general practice is to use the name of the module calling watchdog().

Subscribe to