我的网站基于drupal 7。
我需要为iframe创建小部件。我创建了新的内容类型,并从那里删除了所有侧边栏,页眉,页脚。我只留下了内容。它运作良好。
但是这个页面从mytheme.info加载我的所有脚本和css(更少)。我只想使用自定义模块中的脚本和CSS。有可能吗?
答案 0 :(得分:1)
您可以使用template_process_html
来执行此操作。
将以下代码添加到主题的template.php
文件中。
function [YOUR_THEME]_process_html(&$vars) {
// first check for the path of the page you need to unset the js & css for.
// assuming the path is 'node/12'
if(arg(0) === 'node' && arg(1) === '12') {
$vars['scripts'] = array();
$vars['styles'] = array();
}
}
检查当前页面是否为特定内容类型;您可以使用$vars['classes']
或$vars['classes_array']
,其中包含要添加到<body>
标记的css类。如果是节点页面,它会向类字符串添加类名node-type-NODE_TYPE_MACHINE_NAME
。
if(strpos($vars['classes'], 'node-type-[YOUR_TYPE]') === TRUE) {
OR
if(in_array('node-type-[YOUR_TYPE]', $vars['classes_array']) === TRUE) {
<强>更新强>
您可以将任何js / css文件添加到数组
$vars['scripts'] = array(
'path/to/js/file1.js',
'path/to/js/file2.js'
);
$vars['styles'] = array(
'path/to/css/file1.css',
'path/to/css/file2.css'
);