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

エントリー

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

freo備忘録:freo導入まとめ

このサイトを含め長年freoでサイト構築しています。
今回サイトSSl化に伴い、freoの中身が弄りまくりでgdgdだったのでfreoを入れなおし新規に構築しました。
自分用の導入メモです。
freo以外のJavaScriptやPHPも含む。

ちなみに本文内の導入できなかったプラグインにも書いてありますが、データベースをMySQL 5.7以上にすると拍手送信プラグインなど一部のプラグインでデータベースエラーが出て使用できないので注意。

freo基本設定

freo.jp - 創作サイト向けコンテンツ管理システム
freoたん大好き(*´Д`)ハァハァ
2018年もアップデートしてくれてありがたす(^ν^)

URLの簡略化(mod_rewrite)について | freo.jp
freoのURLはhttp://www.xxx.com/index.php/view/5というようにindex.phpが間に入るのだが、それをとっぱらう。
うちのサーバーの場合は下記の"正しく動作しない場合"にする。

mod_rewriteを利用できるサーバーなのに正しく動作しない場合、.htaccess 内にある
RewriteRule (.*) index.php/$1
という部分を以下のように変更してみてください。
RewriteRule (.*)$ index.php?pathinfo=$1&%{QUERY_STRING}

SSLの利用 | サポート | freo.jp
力技によるSSL化w

config.php29~30行目の
//設置URL
define('FREO_HTTP_URL', 'http://(設置サイトのURL)');
のURLに「https://」で始まるURLを入れる
管理ページでの設定

システム→設定管理→エントリー、ページ、メディア、オプションの各項目の設定
・添付ファイル利用←忘れがち
・サムネイルのサイズ設定←忘れがち
・ページのタグ利用
 →タグを入力するページは"ページ表示の初期値→初期画面に表示する"にする。
・表示の設定(何件ずつ表示するか)

投稿エディタ変更

WYSIWYGではないHTMLエディタを導入する | freo.jp
freo用markItUp!拡張版の配布 | Web Liberty&freoカスタマイズ集
 freo備忘録:エディタ「markItUp!」の編集

テンプレートの編集

freo備忘録:テンプレート編集時の注意点
freo備忘録:freoの変数と修飾子

トップページのみテンプレートを変更する | freo.jp

templates/internals/default/default.htmlをベースに
templates/internals/category/default.html
templates/internals/entry/default.html
を作成&うp。

その他テンプレート編集

modeとworkの値によって表示を切り替える方法|虹色ミツバチ
場所を指定して、その場合のみ表示させる。
場面別テンプレートの書き方 - freoまとめwiki
特にutility.html(サイドバー)で場所によって表示するプラグインを指定するのに利用。

JavaScript系は下記参照。
freo備忘録:同人情報(親)、同人誌個別ページ(子)を作って、親ページに子ページの内容を表示させる。
freo備忘録:数字ナビゲーションを追加&編集

プラグイン

プラグインを色々なページに表示する | freo.jp

プラグインを設定された以外のページや新規に導入したプラグイン画面などで表示したい場合。
例)ページイメージ表示プラグイン(page_image)ニュースプラグイン(news)の画面でも表示したい。
libs/freo/plugins/config.page_image.phpの以下の部分にnewsを追加。

//displayファイルの読み込み設定
define('FREO_PLUGIN_PAGE_IMAGE_LOAD_DISPLAY', 'default,entry,category,view,page,news');

※ただし上記のように設定しても動的なページ(info/news?page=2のような?が付く状態)を表示している時はプラグインが表示されない時もある。
その場合は上記の部分を全て削除すれば表示されるが負荷が高くなる。

※だが全て削除しても、プラグインによっては動的なページでは表示されないモノがある:(;゙゚'ω゚'):

例えばニュースプラグイン内でタグで検索した時とかの動的ページでは、同人イベントプラグインが表示されない。
ウーン…('A`)

ページ用

ページパス調整プラグイン | freo.jp
ページのURLから page/ を抜いて表示が可能。

※導入後
プラグインを含む、すべてのテンプレートにある /page// に書き換えます。

兄妹ページ表示プラグイン | freo.jp
同人誌個別ページ下部に同人誌一覧を表示。
アイコンは添付ファイルの"{$page.memo}ファイルの説明"にアイコンのURLを入力して表示。
ページを降順表示する freoカスタマイズメモ | Sapphire Forest
こちらを参考に子ページを降順にする。
降順=新しい作品を上に表示する。

libs/freo/plugins/display.page_child.php の26行目の最後の
ORDER BY sort, id');

ORDER BY sort DESC, id');
とする。これでページがすべて降順表示になります。

ページイメージ表示プラグイン | freo.jp
作品ページのみ添付ファイルをつけることで作品一覧表示に利用。
表示用イメージは添付ファイルの”{$page.image}ファイルのイメージ”にうp。

ページイメージ表示プラグインのテンプレへの記述方法
本体での表示 page_image/default.html
{$page.title}などのようにtemplates/page/default.htmlと同じ指定でおk。

サイドバー(utility.html)などへページイメージプラグインを新着表示する場合
上記の$page$plugin_page_imageになる。
{$page.title}→{$plugin_page_image.title}

※もちろん各テンプレートでそれぞれの{foreach~}で囲んだ状態でのこと。

ページタグ管理プラグイン | freo.jp
ページタグクラウド表示プラグイン | freo.jp
エントリータグランキングプラグイン|虹色ミツバチを改造してページ用に。
 freo備忘録:ページタグ関連プラグイン導入/エントリータグランキングプラグインをページタグ用に改造
 ↑タグ関連まとめ。
 ページタグクラウドにタグが反映されるためには[ページを初期画面に表示する]にすること!

ページ一括表示プラグイン | freo.jp
【メニュー編(06)】ページ一括表示プラグインを利用してメニューを作る|虹色ミツバチ
 サイトマップ用に導入。

パンくずリスト表示プラグイン | freo.jp
ページの階層を表示&リンクするナビゲーション。

エントリー用

関連エントリー表示プラグイン | freo.jp
記事個別表示の際、同じカテゴリーやタグの記事を指定数表示する。

サイト全体用

ブログパーツ管理プラグイン | freo.jp
ブログパーツ管理プラグインで登録した特定のブログパーツを表示する方法|虹色ミツバチ
ブログパーツIDがBP_testの場合

<!--{if $plugin_parts.BP_test.status == 'publish'}-->
{$plugin_parts.BP_test.name}<!-- ブログパーツタイトル -->
{$plugin_parts.BP_test.text|smarty:nodefaults}<!-- ブログパーツ本文 -->
<!--{/if}-->

同人イベントプラグイン|虹色ミツバチ
同人イベントを登録して、テンプレートの記述の仕方によりfreo内にかなり自由度高く表示できる。

ニュースプラグイン|虹色ミツバチ
 お知らせ(更新履歴)に使用。
ニュースタグクラウド表示プラグイン|虹色ミツバチ
数が多い順に並べたいと思ったが、display.news_tagcloud.phpに"sort"がないのでそのまま使うw
新着ニュースプラグイン|虹色ミツバチ
ニュースプラグインだけでもエントリーやページに件数を指定して新着表示はできるが、freo内の動的ページ(urlにentry?xxx=2など?がついている状態)を開いている時新着ニュースプラグインでないと表示されないので。

タイトル設定プラグイン | freo.jp
freo内でタイトルが付かない一部の階層や、プラグインなどに出来るだけタイトルを設定するため。

検索プラグイン | freo.jp
エントリーとページの両方を検索できる。

JavaScripts

PhotoSwipe: Responsive JavaScript Image Galler

 freo備忘録:LightBox系JS"PhotoSwipe"導入

slick

 freo備忘録:カルーセルスライダーJS"slick"導入

highlight.js

ソースコード表示用。
注意点あり。

<pre><code>~中身~
</code></pre>
↑のように最後の</code></pre>を改行させないと表示がおかしくなる。
最初の<pre><code>を改行させると一行入ってしまう。
clipboard.js — Copy to clipboard without Flash

記事のタイトルとURLをコピーするJS。
なぜかダウンロードしたdist/clipboard.min.jsだと動作しないので
CDNのclipboard.min.jsからダウンロードしたclipboard.min.jsをうpしたら動作した。
【参考】
[jQuery] "URLとタイトルをコピー" ボタンを実装する | metrograph.jp
【拡散率アップ!?】ブログに「記事タイトルとURLコピーする」だけのボタンを実装したら色々便利でした! - ウェブ企画ラボ

その他

Font Awesome

アイコンフォント。
freo備忘録:FontAwesome導入

【MailForm01】PHPメールフォーム多機能版(著作権リンク無し)フリー(無料)|PHP工房

設置も簡単で、デフォルトでレスポンシブのcssまで記述してあって、さらに簡易的なスパムキーも設定できるというまさに私の求めていた理想のメールフォーム。

メールフォームにおける迷惑メール、スパムメール対策|PHP工房
スパムキーの設定については上記の"決まった日本語を入力させる"を参考にしました。

<input name="認証文字" type="text" size="40" />
これでmail.php側に以下記述を追記すればOKです。
場所は適当な上の方であればOKです。「必須設定」の上あたりで良いです。
if(!isset($_POST["認証文字"]) || $_POST["認証文字"] != "日本人") exit("認証文字が一致しません");

もちろん上記のような記述で問題ないのですが、if(~と記入するとそこでPHPが終了されて"認証文字が一致しません"という文字列がhtmlもcssも何も設定されていない素のままの文で出ます。
私はそれが気になるので、phpの設定の必須入力項目に"認証文字"を追加して、他の項目と同じように"入力してね"というエラーが出るようにしています。

アクセス解析

[act] PHPスクリプト
アクセス解析はこちらの"Lunalys"を使用しています。
設置も簡単で特に問題なく稼動しています。
ただ、「オーバーレイ機能」が一箇所にしか表示されません(;^ω^)freo内で取得してるから一箇所なのかな?わからないwでも特に問題ないかなって感じですw

解析タグ設置については私の場合は一点だけ注意として
<?php include('/home/ykbt/www/kinoko/web_tips/lunalys/analyzer/tracker.php'); ?>
ではなく
<?php include('/home/ykbt/www/kinoko/web_tips/lunalys/analyzer/write.php'); ?>
にすると503エラーが出てサイトがしばらく(数分)開かなくなった。
(クッソ焦った(;´Д`)

-y( ´Д`)。oO(けど懲りずに念のため何回か試した。そして全てで503エラーが出てしばらくサイトが開かなくなったw)

レンサバのせいですかね?(;^ω^)
まあ、tracker.phpで問題なく情報取得が出来ていますので特にwrite.phpにしなくてよいのでいいかなと。

導入できなかったプラグイン

拍手送信プラグイン | freo.jp
フォーム管理プラグイン | freo.jp
投稿キープラグイン | freo.jp
メッセージメール通知プラグイン | freo.jp
以下は使用を断念したプラグインのメモです(´Д⊂ヽ

拍手送信プラグイン | freo.jp

今までずっと拍手プラグイン使っていたのですが、今回は拍手画面は表示されて動作もするのに管理画面で拍手を開こうとすると、なぜか下記のエラーが出て何度か設置し直しても同じエラーが出るので諦めました…(´Д⊂ヽ
今までのサイトとサーバー変えてないのにぃ…!
データベース系のエラーが出るともうまったくわからんので…おおん……

Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'データベース名.freo_plugin_claps.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

【追記】MySQLのバージョンのせいでした…!!!(多分
ググったらMySQL 5.7から仕様?が変わったようでそのせいでエラーが出るようになったくさい。

今までのfreoはMySQL 5.5を使ってた!←バージョンを気にしたことがなかったw
今回何も考えず新しいバージョンでいいや!って5.7にしてしまった自分がアホでしたw
色々すると直せるようですがデータベース系はマジわかんないので放置で(^ω^;)
いや~…他の主要プラグインでエラーでなくてホントよかった…((((;゚Д゚))))

次からfreoを設置する時はMySQL 5.6までにすること!!ヽ(`Д´)ノウワァァァン!!
でも、私の使っているレンタルサーバーだと新しくデータベース作る場合はベージョン選べずにMySQL 5.7しか使えないんだYO!!

だからMySQL 5.5で新しくfreoを設置しようと思って、以前作ったMySQL 5.5にプレフィックス(データベースの"freo_"の部分)を既存のfreoと被らないように_以降に文字列を追加する形で、それでfreoを新規設置→設定しようとしたら、設定後「データベースが見つからない」的なエラーが出て、もう…あきらめた。・゚・(ノД`)・゚・。

フォーム管理プラグイン | freo.jp

フォームがお手軽に増殖できるのでとっても便利です…が!送信完了画面の表示が安定しないというか重いというか…。
うまくいかない時は以下のような動作になりました。

 ■送信ボタンを押した後ローディング状態のまま固まる…。
 ■送信完了後なぜかform/defalut.htmlのフォーム一覧のページに飛ぶ。
 ■送信完了後なぜかリンクされた送信完了という文言だけ書かれたページが開いて、そのリンクをクリックすると、設定した送信完了ページに飛ぶ、もしくはform/defalut.htmlのフォーム一覧のページに飛ぶ。

………というよくわからない挙動が…!(^ω^;)
上記のようになっても送信はちゃんとされています。
ただ利用者側からすると送信されてたのかどうか不安になりそうなので導入断念。

投稿キープラグイン | freo.jp

フォーム管理プラグインに投稿キーを利用しようと思ったらうまくいかなくてググって
freoのフォーム管理プラグインで投稿キープラグインを利用する方法|創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)【I'll be NET】
このやり方を試してもフォーム管理プラグインで投稿キーを表示できませんでした。
(´・ω:;.:...

メッセージメール通知プラグイン | freo.jp

メッセージ登録プラグイン | freo.jp.は問題なく設定・動作したのですが、メッセージメール通知プラグインをセットアップしたところ以下のエラーが…(^ω^;)
これもデータベースのバージョンの影響でしょうか…(´;ω;`)ウッ…

エラーが発生しました
Column 'id' cannot be null

メール送信プラグイン | freo.jp
こちらと、メッセージ登録プラグインに投稿キープラグインでスパム対策をして使おうを思っていたのですが、メッセージメール通知プラグインがエラー出たので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 がるまに」