这里的Noob初中生很抱歉,如果这是基本操作并且无法完成。为了发展我的知识爱反馈,我会:)
让我们说我有一个基本页面:
1 <section>
2 <div class="container">
3 <?php print render($page['content']); ?>
4 </div>
5 </section>
在呈现的内容中,有一种名为“五十-五十”的内容类型,其输出:
<div class="fifty_fifty_banner">
<div class="half">
left
</div>
<div class="half">
right
</div>
</div>
我需要的是带有“五十五十”横幅的页面具有全宽度容器,而其他页面具有960px宽度容器。
在第一段代码中,我希望第2行包含if语句或一些检查,如果有的话,添加一个类,这可能吗?
在两页上尝试过if(array_key_exists())
和if(in_array())
,一张带有和不带有五十五个横幅。
array_key_exists()
在两个页面上都返回false。
if(in_array())
在两个页面上均返回true
答案 0 :(得分:0)
我想您可以在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
}
?>
/ admin /结构/类型/管理/ content_type_machine_name /字段
这将是您的field_paragraph_name
答案 1 :(得分:0)
请勿在模板本身中进行任何条件工作。
在hook_preprocess_page()
的{{1}}中进行业务逻辑,如果内容类型具有您想要在即将呈现的渲染数组中使用的格式,则只需修改渲染块/ html的类
答案 2 :(得分:0)
最简单的方法是安装Context module。步骤如下:
1。)创建一个新上下文,并在“条件”下将节点类型设置为您的内容类型
2.)创建一个反应并将其设置为主题html,并给您的身体一个类
3.)根据body标签上所述类的样式来设置CSS。