独自のテーマ、テンプレートを作成した際に、
Conrete5本体の方のメニューが表示されなくなったり、ブロックが追加できなくなったりする時がある。
その原因の一つとしてテンプレートに最低限必要な文言がなくなっている場合があるので、必要な文言を明記する。
超シンプルなテンプレート例
sample.php
<?php
defined('C5_EXECUTE') or die("Access Denied."); ?>
<!DOCTYPE html>
<html lang="<?php echo Localization::activeLanguage() ?>">
<head>
<meta charset="utf-8">
<!-- Concrete5本体で必要なCSS読み込み -->
<?php Loader::element('header_required');?>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>さんぷる</title>
<!-- 独自CSS読み込み(必要に応じて) -->
<link rel="stylesheet" href="<?php echo $view->getThemePath()?>/css/sample.css">
<!-- 独自javascript読み込み(必要に応じて) -->
<script src="<?php echo $view->getThemePath()?>/js/sample.js"></script>
</head>
<body>
<div class="<?php echo $c->getPageWrapperClass()?>">
<?php
// ブロック追加や編集した部分に指定。Areaの引数名は適当で。
$a = new Area('Contents');
$a->display();?>
</div>
<!-- 管理用メニューバーの表示に必要 -->
<?php Loader::element('footer_required'); ?>
</body>
</html>
重要な部分を解説
defined('C5_EXECUTE') or die("Access Denied."); ?>
おまじない
<html lang="<?php echo Localization::activeLanguage() ?>">
多言語対応する場合は必要。日本語のみなら、lang="ja"
でもOK
<?php Loader::element('header_required');?>
Concrete5本体で使用するcssファイルを読み込んでいるのでないと大幅にレイアウトが崩れる
<div class="<?php echo $c->getPageWrapperClass()?>">
これがなくても動くが編集可能なエリアが正しく表示されなくなる。
<?php Loader::element('footer_required'); ?>
上部のメニューバー表示に必要。