Как использовать "#прикреплено" для прикрепления таблицы стилей?
Я знаю, что drupal_add_css
обесценивается, и что вместо этого мы должны использовать #attached
, чтобы прикрепить таблицу стилей css к модулю.
Я пытаюсь заменить следующее (что работает):
drupal_add_css(drupal_get_path('module', 'mymodule') .'/mymodule.css');
С #attached
. Но не нашел точно, где и как его добавить.
Вот моя вторая попытка (она все еще не работает):
/**
* Implementation of hook_block_view()
*/
function mymodule_block_view($delta = '') {
if ('mymodule' == $delta) {
$render = array();
$list = mymodule_fetch_from_info();
foreach ($list as $element) {
$render[] = array(
'#type' => 'markup',
'#markup' => $element[0],
'#weight' => $element[1],
);
}
$blocks['subject'] = t('Mymodule');
$blocks['content'] = $render;
$blocks['#attached'] = array (
'css' => array(
drupal_get_path('module', 'mymodule') . '/mymodule.css',
),
);
return $blocks;
}
}
2
Author: Free Radical, 2015-04-18
1 answers
Вы не можете использовать #прикрепленный внутри вашей реализации hook_theme. Вместо этого вы должны добавить его при создании массива визуализации:
$blocks['content'] = $render;
$blocks['content']['#attached'] = array (
'css' => array(
drupal_get_path('module', 'mymodule') . '/mymodule.css',
),
);
Как уже указывал киамлалуно в комментариях, в вашем примере кода $blocks['content']
является массивом визуализации, поэтому элемент #attached
должен быть частью этого массива.
4
Author: marcvangend, 2015-04-18 21:29:35