Re: title表記の変更について
endoさま
ありがとうございます!
まずは詳細ページで着手したいので、それを例にします。
例えば、こんな感じにしたいです。
★=固定値を出力
■=値があればその値を出力(カスタム属性を利用する予定)
◎囲み=CMS管理の記事タイトルやカスタム属性などを出力
CSSとjsはルート直下のものを利用しますので、このままで構いません。
★や■、◎内にconcret5からの記述を書けばいけそうな気がしています。
--------------------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="★■">
<meta name="description" content="★■">
<meta name="viewport" content="width=device-width">
<meta property="og:type" content="article" />
<meta property="og:title" content="◎記事タイトル◎" />
<meta property="og:description" content="★■">
<meta property="og:image" content="http://~.png" >
<meta property="og:url" content="http://~.html">
<meta property="fb:app_id" content="0000000000000000" />
<title>◎記事タイトル◎|◎カテゴリ◎|◎任意の文字列(サイトの名前に近いもの)◎</title>
<link rel="stylesheet" href="/common/css/master.css" media="screen,print">
<!--[if lte IE 8]><link rel="stylesheet" href="/common/css/ie.css" media="screen,print"><![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="/common/js/common.js"></script>
</head>
<body>
--------------------------------------------
ごく普通のソースですが、これをこのままの順で表現する事はデフォルトのheader_requiredを使っている以上できないと思っています。
なので、header_requiredをCMSの編集機能のみにして、titieとmetaの出力はページ(テンプレート側)でなんとかしたいなと。
そもそもheader_requiredにシステム必須とtitleとmetaが入っているのがよろしくないと思っています。
(ソース構造もそれに縛られてしまう為、必須とそれ以外で分離しておくべき)
不明点などございましたら、何なりとお願い致します。
Re: title表記の変更について
<?php
$c = Page::getCurrentPage();
$attrTags = $c->getAttribute('tags');
$tags = array();
if ($attrTags instanceof SelectAttributeTypeOptionList) {
$list = $attrTags->getOptions();
foreach ($list as $l) {
$tags[] = $l->getSelectAttributeOptionDisplayValue();
}
}
if (count($tags) > 0) {
$pageTitle = sprintf(
'%s | %s | %s',
$c->getCollectionName(),
implode(', ', $tags),
SITE
);
} else {
$pageTitle = sprintf(
'%s | %s',
$c->getCollectionName(),
SITE
);
}
Loader::element('header_required', array('pageTitle'=>$pageTitle));
?>
meta description も渡すことが可能です。また、OGPタグは拙作のアドオンで挿入可能ですので、アドオンを使わない場合でも参考になるかと思います。
http://www.concrete5.org/marketplace/addons/open-graph-tags-lite/
Re: title表記の変更について
対応が遅れて申し訳ありません。
すみません。
お二方の会話の内容がまだ理解できるレベルではないようです。
まっさらな詳細ページ用のテーマで仮組みしていたところですが、いただいたソースを詳細ページ用のテーマ側で入れておけば、
そのテーマ内で自由にタイトル要素の表記について変更可能になるという事でしょうか。
ご提示いただいたソースの具体的な使用方法を知りたいです。
ブロック要素は、カスタムテンプレートを利用する事である程度ソースに手を加えられる事を覚えましたが、タイトル要素の変更に関しては、そことは毛色が異なる印象です。
書籍にもこのあたりの記載は見当たらない(あったらごめんなさい)ので、具体的な変更方法などが書かれているページなどがあれば、教えていただきたいです。
といっても、なかなか見つからないのでユーザーの皆様はその多くがデフォルトのままなんだろうなと推測しています。(他ユーザーの方からの情報もないようなので)
現時点で、タイトル表記の方法が自由にならない(情報が乏しい)という事であれば、CMSとして取り入れる際の弊害になり得そうです。
多摩勉強会/遠藤
Re: title表記の変更について
header_required.phpをオーバライドする方法は、お望みじゃないかも知れませんが、
オリジナルの40〜65行目を以下に替えてみました。(動作未検証です)
ただ、動作させた訳ではないので、動かなかったらごめんなさい。
既存のPHPファイルにも参考になるロジック(CMS上のデータを取得する方法)が
沢山あるので、参考にされると良いと思います。