Как назначить класс в зависимости от того, используется ли регион Drupal?
В теме Drupal 7 как назначить имя класса для региона, если оно используется или нет? Мне нужно три условия для рассматриваемого региона для моей темы Drupal. Существует три области содержимого: sidebar_first, content и sidebar_second. Код для этого ниже:
<?php if ($page['sidebar_first']): ?>
<div id="sidebar-first" class="column sidebar">
<div class="section">
<?php print render($page['sidebar_first']); ?>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<?php endif; ?>
<div id="content" class="column">
<div class="section">
<?php if ($page['highlighted']): ?>
<div id="highlighted">
<?php print render($page['highlighted']); ?>
</div>
<?php endif; ?>
<a id="main-content"></a>
<?php print render($title_prefix); ?>
<?php if ($title): ?>
<h2 class="title" id="page-title">
<?php print $title; ?>
</h2>
<div class="title_sep">
<div class="title_sep_left"></div>
<div class="title_sep_right"></div>
<div class="clear"></div>
</div>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($tabs): ?>
<div class="tabs">
<?php print render($tabs); ?>
</div>
<?php endif; ?>
<?php print render($page['help']); ?>
<?php if ($action_links): ?>
<ul class="action-links">
<?php print render($action_links); ?>
</ul>
<?php endif; ?>
<?php print render($page['content']); ?>
<?php print $feed_icons; ?>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<?php if ($page['sidebar_second']): ?>
<div id="sidebar-second" class="column sidebar">
<div class="section">
<?php print render($page['sidebar_second']); ?>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<?php endif; ?>
Если sidebar_first находится на странице, тогда присвойте имя класса 'twocol_left' <div id="content" class="column">
, Если присутствует sidebar_second, тогда присвойте имя класса 'twocol_right' <div id="content" class="column">
, Наконец, если присутствуют sidebar_first и sidebar_second, тогда присвойте 'threecol' <div id="content" class="column">
,
Может ли кто-нибудь помочь мне с этим? Возможно, это будет просто, если добавить if/else для <div id="content" class="column">
внутри класса = "столбец"?
1 ответ
Я понял. Оказывается, в теге body указывается, есть ли одна или две боковые панели. Я могу использовать эти имена классов, чтобы затем соответствующим образом оформить область содержимого и другие элементы на странице.
Примером является:
<body class="html not-front logged-in two-sidebars page-user page-user- page-user-1 not-front logged-in ftrtop_columns ftrbttm_columns admin-menu" cz-shortcut-listen="true">
В этом примере перечислены две боковые панели. Если я удалю один из блоков боковой панели, чтобы одна из боковых панелей больше не использовалась на странице, в теге body будет показан класс "one-sidebar".