omegaのohmナビゲーション表示部分について
sites\all\themes\omega\ohm\templates\system\page.tpl.php
中の
<?php print render($page['navigation']); ?>
で、ナビゲーションの部分を表示をしている。
sites\all\themes\omega\ohm\css\ohm.styles.css
ここの中でナビゲーション部分の表示を担当している。
場所は
344行からの
/**
* $NAV-BAR
*/
.block--nav-bar a {
display: block;
padding: 1.2em 1em;
font-size: 16px;
font-size: 1.14286rem;
text-transform: uppercase;
text-decoration: none;
color: #fff;
}
.block--nav-bar a:hover, .block--nav-bar a:focus {
color: #064771;
}
@media (min-width: 600px) {
.block--nav-bar a {
font-size: 18px;
font-size: 1.28571rem;
border-left: 1px solid #fff;
}
.block--nav-bar li:last-child a {
border-right: 1px solid #fff;
}
}
だけど、page.tpl.phpの中に、cssのこの部分がみつからない。
なぜだ?
sassで
sites\all\themes\omega\ohm\sass\components\blocks\_nav-bar.scss
ここにこんなのがある。
でも、関係ないなぁ。まぁ、これはこれでいいとして・・・。
で、他を調べ進む内に下のファイルを見つけた。ようやく納得。
sites\all\themes\omega\ohm\preprocess\block.preprocess.inc
ここでcssのblock--nav-barを指定している。
何でこんな回りくどい事してるんだ?
普通にcssで指定すると何か問題が出るのか?
とりあえず、cssとphpがつながったので、この問題の続きはまた後で。
追加。
omega系はpreprocessフォルダが置いてある。
まだ確認していないからここからは推測だけど、このフォルダー内のものは
Home » Administration » Appearance » Settings
で設定できるLayouts extensionをオンにしたときとオフにしたとき、全てに適用される。のだと思う。
再度sites\all\themes\omega\ohm\preprocess\block.preprocess.incの話。
この中に
'navigation' && _ohm_is_menu_block($block)
が出てくる。
これがどこから出てくるのか探したら、
sites\all\themes\omega\ohm\template.php
の中に
function _ohm_is_menu_block($block)
が出てきた。
この中の
$modules = array('menu', 'menu_block');
if (in_array($block->module, $modules)) {
return TRUE;
}
ここで定義。
0 件のコメント:
コメントを投稿