Drupal添加没有样式和js的空白页面
我有一个基于Drupal7的网站 我需要为iframe创建小部件。我创建了新的内容类型,并从中删除了所有边栏、页眉和页脚。我只留下内容。它工作得很好 但是这个页面从mytheme.info加载我的所有脚本和css(更少)。我只想使用自定义模块中的脚本和css。有可能吗?你可以利用 将以下代码添加到主题的Drupal添加没有样式和js的空白页面,drupal,drupal-7,Drupal,Drupal 7,我有一个基于Drupal7的网站 我需要为iframe创建小部件。我创建了新的内容类型,并从中删除了所有边栏、页眉和页脚。我只留下内容。它工作得很好 但是这个页面从mytheme.info加载我的所有脚本和css(更少)。我只想使用自定义模块中的脚本和css。有可能吗?你可以利用 将以下代码添加到主题的template.php文件中 function [YOUR_THEME]_process_html(&$vars) { // first check for the path
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\u array']]
,其中包含要添加到
标记的css类。对于节点页面,它会将类名node-type-node\u-type\u MACHINE\u-name
添加到类字符串中
if(strpos($vars['classes'], 'node-type-[YOUR_TYPE]') === 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'
);
$vars['node']和$vars['scripts']和else在我的例子中是空的!确保使用
template\u process\u html
NOTtemplate\u PREprocess\u html
更新答案以检查内容类型是的,现在显示脚本和样式,但它们是字符串而不是数组。我需要添加一些新样式。另外,据我所知,我在模块中添加的脚本也将被删除?不,正如我所说的,我需要从模块中添加脚本和css。使用更少的css而不是css会更好。我的信息包含字符串:stylesheets[all][]=“less/styles.less”。我只需要使用样式表[all][]=“less/widget.less”来更改它。
$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'
);