Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal添加没有样式和js的空白页面_Drupal_Drupal 7 - Fatal编程技术网

Drupal添加没有样式和js的空白页面

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

我有一个基于Drupal7的网站

我需要为iframe创建小部件。我创建了新的内容类型,并从中删除了所有边栏、页眉和页脚。我只留下内容。它工作得很好

但是这个页面从mytheme.info加载我的所有脚本和css(更少)。我只想使用自定义模块中的脚本和css。有可能吗?

你可以利用

将以下代码添加到主题的
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
NOT
template\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'
);