You are here

function panels_layout_alter in Panels 8.4

Implements hook_layout_alter().

File

./panels.module, line 46
panels.module

Code

function panels_layout_alter(&$definitions) {
  $core_layouts = [
    'layout_onecol',
    'layout_twocol',
    'layout_twocol_bricks',
    'layout_threecol_25_50_25',
    'layout_threecol_33_34_33',
  ];
  foreach ($definitions as $layout_name => $layout) {

    // Verify that the layout definition is a LayoutDefinition
    if (!$definitions[$layout_name] instanceof LayoutDefinition) {
      continue;
    }
    if (in_array($layout_name, $core_layouts) && empty($definitions[$layout_name]
      ->getIcon())) {
      $definitions[$layout_name]
        ->setIconPath(drupal_get_path('module', 'panels') . '/layouts/' . $layout_name . '/' . $layout_name . '.png');
    }
    if (empty($definitions[$layout_name]
      ->getIcon())) {
      $definitions[$layout_name]
        ->setIconPath(drupal_get_path('module', 'panels') . '/layouts/no-layout-preview.png');
    }
  }
}