テーマ

出典: Sweetcron Japanese Doc

Sweetcronの独自のテーマを作る方法

3uayBQ <a href="http://wtdfmjgwhthy.com/">wtdfmjgwhthy</a>, [url=http://wbjywfxqhqop.com/]wbjywfxqhqop[/url], [link=http://dzsuecyfusfi.com/]dzsuecyfusfi[/link], http://eahcbbgbuyxv.com/

目次

[編集] Sandboxテーマをコピーする

新しいテーマを作る最善の方法は、 system/application/views/themes の中に sandbox フォルダーの複製を作り、あなたの作りたいテーマの名前に変更します。フォルダーの名前にスペースを使うことはできません。新しいフォルダーをテーマフォルダーの中に作れば、管理画面に選択可能なテーマとして現れます。編集して実験するために新しいテーマを使ってみましょう。

[編集] テーマの中身

一つのテーマフォルダーには必ず以下のファイルが入っていなければなりません:

_activity_feed.php //テーマの主な活動リスト
_header.php //サイトのヘッダー 
_footer.php //サイトのフッター 
_sidebar.php //サイトのサイドバー 
home.php //サイトのインデックスページ
items.php //サイトのアイテムページ(検索やタグの結果)
single.php //単一のアイテムを表示するページ
rss_feed.php //RSSフィードのフォーマット
main.css //サイトのCSS

Sweetcronはこれを越えたもっと多くのカスタマイズができます。テーマフォルダーに任意のファイルを入れることができ、普通のPHPやHTMLを使うようにそれらをテーマテンプレートの中へ含めることができます。例えば sandbox テーマに images フォルダーを含められます。

[編集] アイテムループ

アイテムループの一例として _activity_feed.php を見てください。テーマテンプレートのインデックスページとアイテムページのために $items オブジェクトは提供されます。以下のようにするとアイテムループを利用できます。

<?php foreach ($items as $item): ?>
<?php echo $item->get_title()?>
<?php endforeach; ?>

$item やテーマファイルで利用できる他の色々なオブジェクトの情報が記載された完全なAPIリファレンスは、APIページを参照してください。

http://wikis.cockscomb.info/sweetcron/API

[編集] アイテムのタイプごとに異なるスタイルを作る

とても簡単です。これを完全に理解するためにはAPIドキュメンテーションを読む必要があります: http://wikis.cockscomb.info/sweetcron/API

以下は試してみることができる一つの基本的な方法です。このようにループさせてください。

<?php foreach ($items as $item): ?>
<div class="<?php echo $item->get_feed_class()?>">

<?php echo $item->get_title()?>

</div>
<?php endforeach; ?>

get_feed_class() は「CSSセーフ」なマナーでアイテムのドメインネームを返します。例えば、 youtube.com は youtube_com になるでしょう。ですから簡単に、データをどこから持ってきたかに関連させてスタイルを作れるでしょう。例えば

div.youtube_com {
   background: red;
}

div.flickr_com {
   background: blue;
}

など。

もっと詳細を得たいときは条件付のタグを使うことができます。例えば:

<?php foreach ($items as $item): ?>
<div class="<?php echo $item->get_feed_class()?>">

<?php echo $item->get_title()?>

<?php if ($item->get_feed_domain() == 'youtube.com'): ?>
Hey! this is from youtube!
<?php echo $item->get_video()?>
<?php endif; ?>

<?php if ($item->get_feed_domain() == 'flickr.com'): ?>
Hey! this is from flickr!
<img src="<?php echo $item->image()?>" alt="" />
<?php endif; ?>

</div>
<?php endforeach; ?>

より多くの例を見たければ、sandboxやboxy but goodテーマの _activity_feed.php ファイルを見てください。しかし一番大切なのは、APIを読むことです! http://wikis.cockscomb.info/sweetcron/API

APIをコントロールすることを一度学びさえすれば、できることは無限大です :)

このページは http://code.google.com/p/sweetcron/wiki/Themes を日本語訳したものです。