danielebarchiesi@0
|
1 <?php
|
danielebarchiesi@0
|
2
|
danielebarchiesi@0
|
3 /**
|
danielebarchiesi@0
|
4 * Implements hook_preprocess_block().
|
danielebarchiesi@0
|
5 */
|
danielebarchiesi@0
|
6 function omega_preprocess_block(&$variables) {
|
danielebarchiesi@0
|
7 // Add BEM style classes to blocks.
|
danielebarchiesi@0
|
8 if (!empty($variables['block_html_id'])) {
|
danielebarchiesi@0
|
9 $variables['attributes_array']['id'] = $variables['block_html_id'];
|
danielebarchiesi@0
|
10 $variables['attributes_array']['class'][] = preg_replace('/^block-/', 'block--', $variables['block_html_id']);
|
danielebarchiesi@0
|
11 }
|
danielebarchiesi@0
|
12
|
danielebarchiesi@0
|
13 $css_module = drupal_clean_css_identifier($variables['block']->module);
|
danielebarchiesi@0
|
14 $variables['attributes_array']['class'] = preg_replace('/^block-' . $css_module . '$/', 'block--' . $css_module, $variables['attributes_array']['class']);
|
danielebarchiesi@0
|
15 $variables['attributes_array']['class'] = preg_replace('/^block-menu$/', 'block--menu', $variables['attributes_array']['class']);
|
danielebarchiesi@0
|
16
|
danielebarchiesi@0
|
17 $variables['title_attributes_array']['class'][] = 'block__title';
|
danielebarchiesi@0
|
18
|
danielebarchiesi@0
|
19 $variables['content_attributes_array']['class'][] = 'block__content';
|
danielebarchiesi@0
|
20
|
danielebarchiesi@0
|
21 // Add template suggestions to appropriate blocks.
|
danielebarchiesi@0
|
22 switch ($variables['block']->module) {
|
danielebarchiesi@0
|
23 case 'system':
|
danielebarchiesi@0
|
24 switch ($variables['block']->delta) {
|
danielebarchiesi@0
|
25 case 'help':
|
danielebarchiesi@0
|
26 case 'powered-by':
|
danielebarchiesi@0
|
27 break;
|
danielebarchiesi@0
|
28
|
danielebarchiesi@0
|
29 case 'main':
|
danielebarchiesi@0
|
30 // Use a template with no wrapper for the page's main content.
|
danielebarchiesi@0
|
31 $variables['theme_hook_suggestions'][] = 'block__minimal';
|
danielebarchiesi@0
|
32 break;
|
danielebarchiesi@0
|
33
|
danielebarchiesi@0
|
34 default:
|
danielebarchiesi@0
|
35 // Any other "system" block is a menu block and should use block--nav.tpl.php
|
danielebarchiesi@0
|
36 $variables['theme_hook_suggestions'][] = 'block__nav';
|
danielebarchiesi@0
|
37 break;
|
danielebarchiesi@0
|
38 }
|
danielebarchiesi@0
|
39 break;
|
danielebarchiesi@0
|
40
|
danielebarchiesi@0
|
41 case 'menu':
|
danielebarchiesi@0
|
42 case 'menu_block':
|
danielebarchiesi@0
|
43 // Use block--nav.tpl.php template.
|
danielebarchiesi@0
|
44 $variables['theme_hook_suggestions'][] = 'block__nav';
|
danielebarchiesi@0
|
45 break;
|
danielebarchiesi@0
|
46 }
|
danielebarchiesi@0
|
47
|
danielebarchiesi@0
|
48 // Add Aria Roles via attributes.
|
danielebarchiesi@0
|
49 switch ($variables['block']->module) {
|
danielebarchiesi@0
|
50 case 'system':
|
danielebarchiesi@0
|
51 switch ($variables['block']->delta) {
|
danielebarchiesi@0
|
52 case 'main':
|
danielebarchiesi@0
|
53 // Note: the "main" role goes in the page.tpl, not here.
|
danielebarchiesi@0
|
54 break;
|
danielebarchiesi@0
|
55
|
danielebarchiesi@0
|
56 case 'help':
|
danielebarchiesi@0
|
57 case 'powered-by':
|
danielebarchiesi@0
|
58 $variables['attributes_array']['role'] = 'complementary';
|
danielebarchiesi@0
|
59 break;
|
danielebarchiesi@0
|
60
|
danielebarchiesi@0
|
61 default:
|
danielebarchiesi@0
|
62 // Any other "system" block is a menu block.
|
danielebarchiesi@0
|
63 $variables['attributes_array']['role'] = 'navigation';
|
danielebarchiesi@0
|
64 break;
|
danielebarchiesi@0
|
65 }
|
danielebarchiesi@0
|
66 break;
|
danielebarchiesi@0
|
67
|
danielebarchiesi@0
|
68 case 'menu':
|
danielebarchiesi@0
|
69 case 'menu_block':
|
danielebarchiesi@0
|
70 case 'blog':
|
danielebarchiesi@0
|
71 case 'book':
|
danielebarchiesi@0
|
72 case 'comment':
|
danielebarchiesi@0
|
73 case 'forum':
|
danielebarchiesi@0
|
74 case 'shortcut':
|
danielebarchiesi@0
|
75 case 'statistics':
|
danielebarchiesi@0
|
76 $variables['attributes_array']['role'] = 'navigation';
|
danielebarchiesi@0
|
77 break;
|
danielebarchiesi@0
|
78
|
danielebarchiesi@0
|
79 case 'search':
|
danielebarchiesi@0
|
80 $variables['attributes_array']['role'] = 'search';
|
danielebarchiesi@0
|
81 break;
|
danielebarchiesi@0
|
82
|
danielebarchiesi@0
|
83 case 'help':
|
danielebarchiesi@0
|
84 case 'aggregator':
|
danielebarchiesi@0
|
85 case 'locale':
|
danielebarchiesi@0
|
86 case 'poll':
|
danielebarchiesi@0
|
87 case 'profile':
|
danielebarchiesi@0
|
88 $variables['attributes_array']['role'] = 'complementary';
|
danielebarchiesi@0
|
89 break;
|
danielebarchiesi@0
|
90
|
danielebarchiesi@0
|
91 case 'node':
|
danielebarchiesi@0
|
92 switch ($variables['block']->delta) {
|
danielebarchiesi@0
|
93 case 'syndicate':
|
danielebarchiesi@0
|
94 $variables['attributes_array']['role'] = 'complementary';
|
danielebarchiesi@0
|
95 break;
|
danielebarchiesi@0
|
96
|
danielebarchiesi@0
|
97 case 'recent':
|
danielebarchiesi@0
|
98 $variables['attributes_array']['role'] = 'navigation';
|
danielebarchiesi@0
|
99 break;
|
danielebarchiesi@0
|
100 }
|
danielebarchiesi@0
|
101 break;
|
danielebarchiesi@0
|
102
|
danielebarchiesi@0
|
103 case 'user':
|
danielebarchiesi@0
|
104 switch ($variables['block']->delta) {
|
danielebarchiesi@0
|
105 case 'login':
|
danielebarchiesi@0
|
106 $variables['attributes_array']['role'] = 'form';
|
danielebarchiesi@0
|
107 break;
|
danielebarchiesi@0
|
108
|
danielebarchiesi@0
|
109 case 'new':
|
danielebarchiesi@0
|
110 case 'online':
|
danielebarchiesi@0
|
111 $variables['attributes_array']['role'] = 'complementary';
|
danielebarchiesi@0
|
112 break;
|
danielebarchiesi@0
|
113 }
|
danielebarchiesi@0
|
114 break;
|
danielebarchiesi@0
|
115 }
|
danielebarchiesi@0
|
116 }
|