Всем привет. Сейчас разбираю структуру тем-шаблонов на друпал. И появился небольшой вопрос.
Есть строка в page.tpl.php:
<div class="region<?php if (!$logo) { print ' wide'; } ?>">
Как я понял если нету лого то выводить этот "wide". Что означает "wide" в строке? Подскажите кто знает.
И еще, <?php if ($intro || $intro_image || $intro_description) : ?>
Символ двоеточия в конце что означает? Думаю что это эквивалент "то". Вроде, если есть интро или интро_имэйдж или интро_дескрипшен то выводим div или id и сам регион?
Не пинайте сильно, в гугле чето не нашел ответа.
Комментарии
У тебя это просто текст ' wide'
если лого нет результат будет таким:
Символ двоеточия означает что если условие истинно будет выполнен код вплоть до endif;
если лого нет результат будет таким:
А это и не должен быть текст. Это класс. Красным по серому ведь написано: class="... wide". Подозреваю, что если нет лого, блок, который должен лого содержать, становится широким...
Вам надо начать с того, чтобы познакомиться с css, узнать о том, что такое классы и т.п. Тогда таких вопросов у вас не будет возникать в принципе. Да и без таких базовых знаний я бы не рекомендовал вам вообще заниматься разбором тем оформления.
Все, разобрался. Файербаг показал что, если в регионе расположен какой нибудь блок то он обернут в класс region. Если нету лого, то содержимое региона обернуто в класс region wide.
Ну базовые знания в css у меня есть, на практике более-менее получается, только вот терминологию плохо знаю. Да и бывает что не совсем понятно в учебниках написано, вот и спрашиваешь на форумах.
Что более приближено к практике, как не class="thing"?
Ну стараемся, в любом случае могу сказать что понемногу начинаю все больше понимать друпал:)
Кстати, появилась еще пара вопросов. Что означает это строка в page.tpl.php:
1.
$top_a, $top_b и т.д. это регионы в теме. В самой теме как я понял идет div id="top" и затем в зависимости от того есть ли блоки или нет в данных регионах class="in(какой то). Можете поподробней объяснить смысл этой строки?
2.
<?php if ($breadcrumb) : ?>
<div id="breadcrumb">
<div class="space">
<?php print $breadcrumb; ?>
</div>
</div>
<?php endif; ?>
$breadcrumb — это навигационная линейка. Там есть условие, если $breadcrumb есть то выводим ее обернув в
<div id="breadcrumb">
и<div class="space">
.У меня на сайте нету этой навигационной линейки, как ее вывести все таки?
3.
<?php if ($mainmenu && $language->dir != 'rtl') : ?>
В данном случае я не совсем понимаю что делает эта строчка.
Даже не знаю.
Проверьте настройки темы в соответствующем меню. Как я помню, там должна быть галка для включения «хлебных крошек».
Проверяет не пусто ли значение переменной $mainmenu (в вашей теме это, видимо, основное меню) и не является ли направление текста в языке обратным (справа налево). Если $mainmenu не пуста, а направление текста идёт слева направо, значит условие верно, следовательно будет выполняться то, что идёт после двоеточия и до <?php endif; ?>
Типа арабской что ли? А как это вообще может быть?
Спасибо за разъяснения предыдущих комментариев.
Да. Кто-то ведь и для языков, где письмо справа налево идёт, сайты создаёт
Ясно. Будем считать что решено. Спасибо за помощь:)
На здоровье! Рад помочь!