Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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

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
Php Drupal 7-检测呈现($page[';content';])是否包含特定的内容类型_Php_Drupal - Fatal编程技术网

Php Drupal 7-检测呈现($page[';content';])是否包含特定的内容类型

Php Drupal 7-检测呈现($page[';content';])是否包含特定的内容类型,php,drupal,Php,Drupal,Noob junior在此道歉,如果这是基本的,无法完成。我会,为了发展我的知识和爱的反馈:) 假设我有一个基本页面: 1 <section> 2 <div class="container"> 3 <?php print render($page['content']); ?> 4 </div> 5 </section> 1 2. 3. 4. 5. 在呈现内容

Noob junior在此道歉,如果这是基本的,无法完成。我会,为了发展我的知识和爱的反馈:)

假设我有一个基本页面:

1   <section>
2       <div class="container">
3           <?php print render($page['content']); ?>
4       </div>
5   </section>
1
2.
3.
4.
5.
在呈现内容中,有一种称为“五十五十”的内容类型,它输出:

<div class="fifty_fifty_banner">
    <div class="half">
        left
    </div>
    <div class="half">
        right
    </div>
</div>

左边
正确的
我需要的是有“五十个五十”横幅的页面有一个全宽度的容器,其他页面有960px宽度的容器

在第一段代码中,我希望第2行包含一个if语句或一些检查,以添加一个类,如果是,可能吗

编辑1: 在两个页面上尝试了
if(array\u key\u exists())
if(in\u array())
,一个带有五五横幅,另一个没有五五横幅

array\u key\u exists()
在两个页面上都返回false


if(in_array())
在两个页面上都返回true

我想您可以在page.tpl.php文件中执行类似操作,为灵活的页面调查内容类型添加一个类:

if ($variables['node']->type == 'content_type_machine_name' && isset($variables['node']->field_paragraph_name)) {
  ?>
  <div class="add-your-class-here">

  </div>
  <?php

}
?>
if($variables['node']->type=='content\u type\u machine\u name'&&isset($variables['node']->field\u段落\u name)){
?>
/管理员/结构/类型/管理/内容\类型\机器\名称/字段

这将是您的字段\段落\名称


不要在模板本身中执行任何条件工作


执行
template.php
hook\u preprocess\u page()
中的业务逻辑,如果内容类型具有即将呈现的呈现数组中所需的格式,只需修改呈现块/html的类即可。

最简单的方法是安装。步骤如下:

1.)创建一个新的上下文,并在条件下将节点类型设置为您的内容类型 2.)创建一个反应,将其设置为主题html,并为您的身体设置一个类
3.)根据正文标记上的所述类设置css样式。

对不起,你能澄清你的问题吗?。我的意思是,你有一个名为“五十”的drupal内容类型吗?你想更改其他内容类型的宽度类容器吗?@Daniela-嘿,谢谢你的回答。所以,我是noob,我会尽力解释。如果我进入结构>内容类型,就会有一个内容类型列表。其中一个称为“灵活页面调查”。如果我编辑灵活页面调查,我可以添加一个名为“五五条横幅”的小块。这将把特定块输出到任何“灵活页面调查”页面上。这些内容在
呈现($page['content']);
(在page.tpl.php中)中呈现。我想向父容器中添加一个类。我只想检查该页面是否显示它。我在您请求page.tpl.php文件中的内容类型的地方添加了一个答案。我希望这对您有效。我尝试了
如果($variables['node']->type==“五十条旗”){echo“YES”}其他{echo“NO”}
并得到响应
我从:
admin/structure/parations
@Mark获得了五五横幅机器名,您应该在这里看到机器名:/admin/structure/types您需要的机器名用于灵活的页面调查内容类型。它不在列表中。它是添加到类型中的段落包。它是不是类型本身。好的。如果我错了或错了,请纠正我,你说你正在将该段落添加到此内容类型:Flexible Page Survey,rigth?。因此,该内容类型中的所有页面都将包含该横幅?。不是吗?。在这种情况下,代码应该可以工作。如果要确保段落存在,请调试此变量:$variables['node']是的,他可以这样做,但是要求内容类型和字段名称的逻辑是相同的。