【freo】【freoTips】【オプション系TIPS】イラストサイトで使うと便利なオプション登録例(2)
イラストサイトで使用すると便利なオプションの登録例です。
freoでwebコミックを展示するとき、短編なら1作品1ページで展示できますが、長編である場合、何ページにもわたって一つの作品を展示したいことがあります。
その場合、作品ページ(親)の子ページに作品ページ(子)を作ると、ページ移動プラグインで前後移動ができるので便利です。
(freo公式のページの前後移動について、freoを小説サイトやイラストサイトとして使用するときのページID設定例参照。)
webコミックの長さオプション
webコミックが短編なのか、長編なのかを設定するオプションの設定内容と利用方法。
オプションの登録例
オプションID | comic_length |
---|---|
オプション名 | webcomicの長さ |
利用対象 | ページ |
種類 | ラジオボタン |
必須 | 任意 |
説明 | 短編の場合は短編を、長編の場合は長編を選択する。 |
初期値 | 短編,長編 (※ここでは分かりやすくするため項目を『,』で区切っていますが、実際のオプション登録画面では、項目と項目は『,』ではなく改行で区切って下さい。) |
並び順 | (環境に合わせて入力) |
検証 | なし |
利用方法
短編の場合は作品ページ(子)がないので、その作品ページに登録する。
長編の場合は作品ページ(子)ではなく、作品ページ(親)で設定する。
webコミックの連載状況オプション
webコミックが連載中なのか、完結しているのかを設定するオプションの設定内容と利用方法。
登録例
オプションID | comic_end |
---|---|
オプション名 | webコミックの連載状況 |
利用対象 | ページ |
種類 | ラジオボタン |
必須 | 任意 |
説明 | webコミックが「長編」であるとき、連載中の場合は「連載中」を、完結している場合は「完結」を選択する。 |
初期値 | 連載中,完結 (※ここでは分かりやすくするため項目を『,』で区切っていますが、実際のオプション登録画面では、項目と項目は『,』ではなく改行で区切って下さい。) |
並び順 | (環境に合わせて入力) |
検証 | なし |
利用方法
長編webコミックの場合にのみ選択する。
作品ページ(親)で設定する。
作品ページ(子)のテンプレートの編集例
編集するテンプレート)
作品ページ(子)が読み込むテンプレートを編集する。
通常は[templates/internals/page/default.html]。
[templates/internals/page/gallery.html]など、webコミックページ用の別のテンプレートがある場合はそちらのテンプレートを編集する。
(1)webコミックの長さによってタイトルの表示を変える
作品ページ(親)のwebコミックの長さオプションが「長編」であった場合は作品ページ(子)のページのタイトルの前に親ページのタイトルを記載する。
編集箇所:ページタイトル表示部分(デフォルトだと<h5>{$page.title}</h5>の部分)を以下のとおり変更する。
<!--{if $plugin_page_parent_associate.option.comic_length == '長編'}--> <h5>{$plugin_page_parent.title}|{$page.title}</h5> <!--{else}--> <h5>{$page.title}</h5> <!--{/if}-->
解説
<!--{もし親ページに登録されているオプションID「comic_length」の内容が'長編'だったらここから}--><h5>親ページのタイトル|ページタイトル</h5>
<!--{そうじゃなければ}-->
<h5>ページタイトル</h5>
<!--{もし親ページに登録されているオプションID「comic_length」の内容が'長編'だったらここまで}-->
(2)webコミックの連載状況によってページ本文の末尾に「(続く)」や「(終わり)」などの文字列を表示する。
作 品ページ(親)のwebコミックの長さが「短編」であった場合はページの本文の終わりに「(終わり)」と表示し、作品ページ(親)の長さが「長編」で、かつwebコミックの連載状況が完結の場合 は作品ページ(子)の本文の終わりに「(終わり)」という文字列を表示し、また、作品ページ(親)の連載状況が連載中である(または未入力である) など、完結でない場合は、作品ページ(子)の本文の終わりに「(続く)」と表示する。
編集箇所:ページテキスト表示部分の終わり (<!--{if $page_text.excerpt}-->~省略~<!--{/if}--><!--{if $page_text.more}-->~省略~<!--{/if}-->の直後)に以下の記述を加える。
<!--{if $page_associate.option.comic_length == '短編'}--> (終わり) <!--{elseif $plugin_page_parent_associate.option.comic_length == '長編'}--> <!--{if $plugin_page_parent_associate.option.comic_end == '完結'}--> <!--{if $plugin_page_link_next.id == ''}--> (終わり) <!--{else}--> (続く) <!--{/if}--> <!--{else}--> (続く) <!--{/if}--> <!--{/if}-->
解説
<!--{もしページのオプションID「comic_length」の内容が'短編'だったらここから}-->(終わり)
<!--{または親ページのオプションID「comic_length」の内容が'長編'だったら}-->
<!--{もし親ページのオプションID「comic_end」の内容が'完結'だったらここから}-->
<!--{もし次のページがなければ=その階層の最後のページだったらここから}-->
(終わり)
<!--{そうじゃなければ}-->
(続く)
<!--{もし次のページがなければ=その階層の最後のページだったらここまで}-->
<!--{そうじゃなければ}-->
(続く)
<!--{もし親ページのオプションID「comic_end」の内容が'完結'だったらここから}-->
<!--{もしページのオプションID「comic_length」の内容が'短編webコミック'だったらここまで}-->
参考リンク:
freo公式サイト:オプションを個別に表示する
freo公式サイト:エントリー・ページによって利用するオプションを切り替える
32877:オプションに登録されている内容によって表示を切り替える方法
32877:親ページのオプションを取得する方法
32877:ある階層のページ群の最初のページと最後のページになにかを表示させる方法