• サイト内検索
  • サイトマップ
  • twitter
  • pixiv

エントリー

ホーム    ブログ    サイト備忘録

freo備忘録:同人情報(親)、同人誌個別ページ(子)を作って、親ページに子ページの内容を表示させる。

親ページの同人情報ページ(page/dojin.html)に子ページの同人誌個別表示ページ(dojin/b/1.html)の内容を読み込ませたい。
子ページの同人誌個別表示ページ(dojin/b/1.html)を投稿すれば自動的に内容がページやらプラグインやらで表示できるので編集作業の時間短縮になる(^ν^)
だが最初のテンプレの記述にめっちゃ時間かかった(;^ω^)

ページを日付の降順に並べるまでの試行錯誤

子ページ(同人誌個別ページ含む全てのページ)は、新しいページ(日付が新しい順:それを降順という…らしぃw)を上に表示したい。
freoはページ管理で手作業でページの並び順が指定できるが、いちいち数字を振りなおすのが面倒くさいので、エントリーのようにページの並び順指定ではなく、日付順に並べるようにしたくてかなり試行錯誤して、記述的にあってるかどうかわからないが表示上は出来たw
(ノ゚Д゚)八(゚Д゚ )ノイエーイ

参考サイト

ページを降順表示する freoカスタマイズメモ | Sapphire Forest
ページ一覧の子ページの並び順 | サポート | freo.jp
上記サイトを参考に弄るが、ページで指定した並び順は降順になるが、ページ全体の検索結果の場合、親IDの並び順の影響??なのかなんなのか、日付の降順にならない……(´ε`;)ウーン…

なのでページ関連の表示をまるっと日付の降順になるように設定することにした!

ページ関連の表示をすべて日付(投稿日)の降順にする

弄るファイル
 ■ ページ検索結果用
 /libs/freo/internals/page/default.php
 ■ 子ページの並び順
 /libs/freo/plugins/display.page_child.php
 ■ 子ページのページ移動のリンクの順番
 /libs/freo/plugins/display.page_link.php

■ ページ検索結果(/page/default.html)の並び順を日付の降順に変更
/libs/freo/internals/page/default.php(360行目)
//ページ取得
$stmt = $freo->pdo->prepare('SELECT * FROM ' . FREO_DATABASE_PREFIX . 'pages WHERE approved = \'yes\' AND (status = \'publish\' OR (status = \'future\' AND datetime <= :now1)) AND (close IS NULL OR close >= :now2) ' . $condition . ' ORDER BY pid, sort, id LIMIT :start, :limit');
↓変更
//ページ取得を日付降順にORDER BY datetime DESC
$stmt = $freo->pdo->prepare('SELECT * FROM ' . FREO_DATABASE_PREFIX . 'pages WHERE approved = \'yes\' AND (status = \'publish\' OR (status = \'future\' AND datetime <= :now1)) AND (close IS NULL OR close >= :now2) ' . $condition . ' ORDER BY datetime DESC LIMIT :start, :limit');

■ 子ページの並び順を日付の降順に変更
/libs/freo/plugins/display.page_child.php
ORDER BY sort, id 
↓変更
ORDER BY datetime DESC

■ 子ページのリンクの順番を日付の降順に変更
/libs/freo/plugins/display.page_link.php
※二箇所変更

ORDER BY sort DESC 
↓変更
ORDER BY datetime DESC

ORDER BY sort 
↓変更
ORDER BY datetime

■ ページ一括表示プラグイン の並び順を日付の降順に変更
/libs/freo/plugins/display.page_all.php
ORDER BY pid, sort, id
↓変更
ORDER BY datetime DESC

正しい記述かどうかわからないがこれでページ関連の表示は日付の降順になった!!
イェ━━━━━ヽ( ゚Д゚)人(゚Д゚ )ノ━━━━━━イ!!
マジ嬉しい…!!つД`)・゚・。・゚゚・*:.。..。.:*・゚

ちなみにページイメージ表示プラグインは元から日付の降順・昇順が選べるようになっているので弄る必要なっしんぐ。

エントリーだと「システム→設定管理→表示設定→エントリーの表示順」で日付の降順・昇順選べるのに、ページにはないのよね。
freoは公式でも言ってるけどページは基本日付で並べる前提じゃないもんね。
うちのサイトだとページも日付順で特に問題ないし、デフォルトの状態だとページの親ページの並び順の影響で(多分)、検索結果が親ページ1、子ページ1、子ページ2、親ページ2、子ページ1、子ページ2…という風に純粋な日付順にならないのよね。。。

とりあえず出来てよかったε-(´∀`*)ホッ
動作不具合でるかどうか今後ページを増やしてみて表示を見守りたいと思う所存。

同人誌用のオプションを登録する

同人サークルインフォメーションページで使うと便利なオプション登録例|虹色ミツバチ
上記を参考にオプションを登録していく。
・表紙はページ添付ファイル{$page.file})のサムネイルを表示して、クリックすると添付ファイルが開くようにする。
・{$page.image}(ページのイメージ)は他のプラグインでの表示に使う予定で画像をうp。
・{$page.image}(ページのファイルの説明)はあらかじめメディアに画像をうpってそのURLを入力して更新履歴とか用のミニアイコンにしようと目論む。
・仕様やら書店リンクやら本文サンプルはオプションで。
・本文投稿であらすじ。
……このオプションをひたすら登録していく作業がまたキツイ(;´Д`)
ダレだよ、本文サンプル12枚とか載せてるバカは、私だよ!!!(゚∀゚)アヒャ

最初は ページ一括表示プラグイン | freo.jp を入れた後、 freoページ一括表示プラグインテンプレート(同人サークルインフォメーション用)配布|虹色ミツバチ を使って表示すればオプション入力だけで簡単に本の詳細ページ作れる!と意気込んでいたのが…!

仕組みをまったく理解してなくてどういじったらいいかわからなかったので、[上記のfreoページ一括表示プラグインテンプレート]のinfo.htmlを参考にちまちまコピペ作業をしていく。
コレも中々大変(;´Д`)
コピペやちょっとしたソースの記述ミスであたふたしまくり…(;´Д`)ウウッ…

子ページ(同人誌個別ページ)の内容を親ページ(同人情報)で表示する記述

オプション管理について | freo.jp
オプションを個別に表示する | freo.jp
ページの変数一覧|虹色ミツバチ
ページのオプション情報を表示する方法|虹色ミツバチ
子ページ表示プラグインで子ページの情報を表示する方法|虹色ミツバチ
子ページ表示プラグインで子ページのオプションを表示する方法|虹色ミツバチ

添付ファイルとオプションという今まで長らくfreoを使ってきても意味がわからなくて全く手をつけていなかった分野に苦戦しつつも上記のサイトを参考にしてなんとかできたイェ━━━━━ヽ( ゚Д゚)人(゚Д゚ )ノ━━━━━━イ!!
これさー素人には公式の解説だけじゃ絶対わからないかったよぉ~(´Д⊂ヽ
解説サイトさまに大感謝(´∀`*)ウフフ

正しいかどうかは謎だがとりあえず表示されている記述例

子ページ添付ファイルサムネイルタイトルが以下で
<img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_thumbnails/{$page.id}/{$page.file}" alt="{$page.title}">

親ページだと
<img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_thumbnails/{$plugin_page_child.id}/{$plugin_page_child.file}" alt="{$plugin_page_child.title}"></a>
こうなる。

子ページのオプション(オプション名がinfo_shop0)が
{$page_associate.option.info_shop0}

親ページだとこうなる。
{$plugin_page_child_associates[$plugin_page_child.id].option.info_shop0}

オプションでタグを使いたい

オプション名はinfo_01
{$plugin_page_child_associates[$plugin_page_child.id].option.info_01|smarty:nodefaults}
のように後ろに|smarty:nodefaultsをくっつける。
オプションでタグが使えるって初めてしったから(・´з`・)

画像はPhotoSwipeで表示したい

表紙や本文の拡大画像はPhotosSwipeで表示したいので以下のように記述。

<a href="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_options/{$page.id}/info_sample1/{$page_associate.option.info_sample1}" class="swipe" rel="{$page.id}" title="{$page.title}"><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_options/{$page.id}/info_sample1/thumbnail_{$page_associate.option.info_sample1}" alt="{$page.title}"></a>

class="swipe"
でsiwpeで表示させる指定。

rel="{$page.id}"
{$page.id}で画像のグループ化

title="{$page.title}"
タイトルでPhotoSwipeの文字部分表示。

当初の想定通り、うまいこといって嬉しい(´∀`*)
HTMLって苦労するけど結果がパッ!と出るから楽しい(;゚∀゚)=3ハァハァ
食わず嫌いだった添付ファイル系も他のプラグインでの表示としても利用できるからなんとなく理解できてよかった~(*´σー`)エヘヘ

あとは本をた~んと出すだけだね( ´Д`)ノ~

freo導入メモまとめは以下。
freo導入まとめ

このページのタイトルとURLをコピーする

ブログ関連記事

ユーティリティ

イベント参加予定

2019年04月29日
申込済み
2019年05月12日
申込済み
2019年05月26日
申込済み
2019年08月10日
申込済み
同人情報

新着作品

黒頭巾くんとオオカミさん2 同人誌

2019年2月17日異種ラブ新刊

書店: とらのあな アリスブックス

DL版: 後日更新予定

黒頭巾くんとオオカミさん 同人誌

2018年4月30日けもケット新刊

書店: とらのあな アリスブックス

DL版: BOOTH DiGiket DLsite FANZA

隣人注意報 前編 同人誌

2014年3月9日J.GARDEN新刊

書店: 後日更新予定

DL版: 後日更新予定

作品一覧

書店

とらのあな
アリスブックス
DiGiket.com
BL同人・ボーイズラブ・BLマンガのダウンロードなら「DLsite がるまに」