• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン
虹色ミツバチ

> Entry

ページ本文文字数カウントプラグイン

freoのページの本文(HTML・PHPタグ除去済)の文字数をカウント(半角・全角を1文字としてカウント)するプラグインです。

特徴

  • ページ本文(HTML・PHPタグ除去済)の文字数をカウント(半角・全角を1文字としてカウント)する。
  • 任意のページの本文カウントや、子ページ表示プラグイン・親ページ表示プラグインとの併用によって応用可能。

ダウンロード

導入方法

  1. 上記ファイルをDLして解凍する。
  2. [libs]フォルダをアップロード
  3. [freo/internals/page/default.html]のページ本文文字数を表示したい箇所に下記のように記載する。
    {$plugin_page_textcount[$page.id]}
  4. default.html[freo/templates/internals/page]フォルダにアップロード。

応用方法

このプラグインでは、ページ本文の文字数をカウントしたいページIDを変数内の指定箇所に記載すれば、いろんなページの本文文字数をカウントできます。

任意のページの場合

任意のページの本文文字数をカウントして表示するには、テンプレートに下記のように記載してください。

{$plugin_page_textcount.ページID}
親ページの場合

表示しているページの親ページの本文文字数をカウントして表示するには、テンプレートに下記のように記載してください。

{$plugin_page_textcount[$page.pid]}
子ページの場合

表示しているページの子ページの本文文字数をカウントして表示するには、テンプレートに下記のように記載してください。

        <!--{if $plugin_page_childs|smarty:nodefaults}-->
            <h4>目次</h4>
            <ul>
                <!--{foreach from=$plugin_page_childs|smarty:nodefaults item='plugin_page_child'}-->
                <li><a href="{$freo.core.http_file}/page/{$plugin_page_child.id}">{$plugin_page_child.title}</a>(文字数:{$plugin_page_textcount[$plugin_page_child.id]})</li>
                <!--{/foreach}-->
            </ul>
        <!--{/if}-->

更新履歴

2017/07/12
プラグイン公開・配布開始
2017/09/01
制限されたページの本文文字数を取得できるようにプラグインを改善。
config.page_textcount.php
display.page_textcount.php
上記ファイルをアップロードしてください。

続きを読む

限定抽出されたエントリーの情報を一覧で表示する方法

エントリー限定抽出プラグインは、特定のカテゴリーのエントリーを指定件数分表示するプラグインです。
デフォルト画面・エントリー画面・カテゴリー画面・エントリー個別(VIEW)表示画面で利用できます。

上記画面で限定抽出されたエントリーを一覧で表示する方法及び変数は以下のとおりです。

限定抽出されたエントリーを一覧表示する

デフォルト画面(freo/index.php画面)のテンプレートは、[freo/templates/internals/default/default.html]です。
エントリー画面・カテゴリー画面には、独自のテンプレートがない場合(freoをダウンロードして解凍しただけのデフォルトの状態の場合)、[freo/templates/internals/default/default.html]が利用されます。

エントリー画面・カテゴリー画面用に独自のテンプレートを用意した場合、
エントリー画面(freo/index.php/entry画面)のテンプレートは、[freo/templates/internals/entry/default.html]です。
カテゴリー画面(freo/index.php/category/カテゴリーID画面)のテンプレートは、[freo/templates/internals/category/default.html]です。

限定抽出されたエントリーを一覧表示するには、プラグイン解説ページにあるように、

<div class="utility">
    <h3>特定カテゴリーエントリー一覧</h3>
    <div class="content">
        <ul>
        <!--{foreach from=$plugin_entry_pickups|smarty:nodefaults item='plugin_entry_pickup'}-->
            <li><a href="{$freo.core.http_file}/view/{if $plugin_entry_pickup.code}{$plugin_entry_pickup.code}{else}{$plugin_entry_pickup.id}{/if}">{$plugin_entry_pickup.title}</a></li>
        <!--{foreachelse}-->
            <li>まだ記事はありません。</li>
        <!--{/foreach}-->
        </ul>
    </div>
</div>

のようにしてください。
これは、

<div class="utility">
    <h3>特定カテゴリーエントリー一覧</h3>
    <div class="content">
        <ul>
        <!--{$plugin_entry_pickups配列を'plugin_entry_pickup'として繰り返して表示するここから}-->
            <li><a href="{$freo設置URL}/view/{もしエントリーコードがあればここから}{$エントリーコード}{そうじゃなければ}{$エントリーID}{もしエントリーコードがあればここまで}">{$エントリータイトル}</a></li>
        <!--{$plugin_entry_pickups配列が空であれば}-->
            <li>まだ記事はありません。</li>
        <!--{$plugin_entry_pickups配列を'plugin_entry_pickup'として繰り返して表示するここまで}-->
        </ul>
    </div>
</div>

という意味です。
上記のように、限定抽出されたエントリー一覧として、エントリーのタイトルに各エントリーへのリンクを貼って表示しています。

限定抽出されたエントリーの情報を取得する方法

$plugin_entry_pickupsテーブルの情報をforeachする。

限定抽出されたエントリーの情報は、「$plugin_entry_pickups」という配列に格納されています。
「$plugin_entry_pickups」配列の情報を表示したいときは、foreachしなければなりません。

とにかく、限定抽出されたエントリーの情報を一覧表示したいなら、下記の通りにしなければならないってことです。

<!--{foreach from=$plugin_entry_pickups|smarty:nodefaults item='plugin_entry_pickup'}-->

限定抽出されたエントリーの情報を表示したい部分

<!--{/foreach}-->

上記のように、限定抽出されたエントリーの情報の内一覧表示したい内容は、<!--{foreach from=$plugin_entry_pickups|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、エントリーの情報は表示されませんので注意して下さい。

エントリーの基本的な情報を表示するための変数
変数
{$plugin_entry_pickup.id} エントリーID
{$plugin_entry_pickup.user_id} エントリーの投稿者ユーザーID
{$plugin_entry_pickup.created} エントリーの投稿日時
{$plugin_entry_pickup.modified} エントリーの更新日時
{$plugin_entry_pickup.approved} エントリーの承認状況(yesまたはno)
{$plugin_entry_pickup.restriction} エントリーの閲覧制限(userまたはgroupまたはpasswordまたは無し)
{$plugin_entry_pickup.password} エントリーのパスワード
{$plugin_entry_pickup.title} エントリーのタイトル
{$plugin_entry_pickup.status} エントリーの状態(publishまたはprivateまたはfuture)
{$plugin_entry_pickup.display} エントリーの表示(pub;ishまたはprivate)
{$plugin_entry_pickup.comment} エントリーのコメントの受付(openまたはclosedまたはviewまたはuser)
{$plugin_entry_pickup.trackback} エントリーのトラックバックの受付(openまたはclosedまたはview)
{$plugin_entry_pickup.title} エントリーのタイトル
{$plugin_entry_pickup.tag} エントリーのタグ
{$plugin_entry_pickup.datetime} エントリーの日付
{$plugin_entry_pickup.close} エントリーの公開終了日時
{$plugin_entry_pickup.file} エントリーファイルのファイル名
{$plugin_entry_pickup.image} エントリーイメージのファイル名
{$plugin_entry_pickup.memo} エントリーファイルの説明
{$plugin_entry_pickup.text} エントリー本文
限定抽出されたエントリーの添付ファイルの情報を表示する
エントリーファイルの情報を表示する

エントリーファイルの情報は$plugin_entry_pickup_files[$plugin_entry_pickup.id]配列に格納されています。

変数
{$plugin_entry_pickup.file} エントリーファイルのファイル名
{$plugin_entry_pickup_files[$plugin_entry_pickup.id].height} エントリーファイルの高さ
{$plugin_entry_pickupfiles[$plugin_entry_pickup.id].width} エントリーファイルの横幅
{$plugin_entry_pickup_files[$plugin_entry_pickup.id].size} エントリーファイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}entry_files/{$plugin_entry_pickup.id}/{$plugin_entry_pickup.file} エントリーファイルのURL
エントリーファイルのサムネイルの情報を表示する

エントリーファイルのサムネイルの情報は$plugin_entry_pickup_thumbnails[$plugin_entry_pickup.id]配列に格納されています。

変数
{$plugin_entry_pickup.file} エントリーファイルのサムネイルのファイル名
{$plugin_entry_pickup_thumbnails[$plugin_entry_pickup.id].height} エントリーファイルの高さ
{$plugin_entry_pickup_thumbnails[$plugin_entry_pickup.id].width} エントリーファイルの横幅
{$plugin_entry_pickup_thumbnails[$plugin_entry_pickup.id].size} エントリーファイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}entry_thumbnails/{$plugin_entry_pickup.id}/{$plugin_entry_pickup.file} エントリーファイルのURL
エントリーイメージの情報を表示する

エントリーイメージの情報は$plugin_entry_pickup_images[$plugin_entry_pickup.id]配列に格納されています。

変数
{$plugin_entry_pickup.image} エントリーイメージのファイル名
{$plugin_entry_pickup_images[$entry.id].height} エントリーイメージの高さ
{$plugin_entry_pickup_images[$entry.id].width} エントリーイメージの横幅
{$plugin_entry_pickup_images[$entry.id].size} エントリーイメージのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}entry_images/{$plugin_entry_pickup.id}/{$plugin_entry_pickup.image} エントリーイメージのURL

限定抽出されたエントリーのタグの情報を表示する

限定抽出されたエントリーのタグは、「$plugin_entry_pickup_tags[$plugin_entry_pickup.id]」という配列に格納されています。
$plugin_entry_pickup_tags[$plugin_entry_pickup.id]に格納されているタグを表示するには、foreachしなければなりません。

<!--{foreach from=$plugin_entry_pickup_tags[$plugin_entry_pickup.id]|smarty:nodefaults item='plugin_entry_pickup_tag' name='loop'}--><a href="{$freo.core.http_file}/entry?tag={$plugin_entry_pickup_tag|smarty:nodefaults|escape:'url'}">{$plugin_entry_pickup_tag}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}-->

限定抽出されたエントリーのカテゴリーの情報を表示する

限定抽出されたエントリーのカテゴリーについての情報は、$plugin_entry_pickup_associates[$plugin_entry_pickup.id].category」という配列に格納されています。
$plugin_entry_pickup_associates[$plugin_entry_pickup.id].categoryに格納されているカテゴリーを表示するには、foreachしなければなりません。

<!--{foreach from=$plugin_entry_pickup_associates[$plugin_entry_pickup.id].category|smarty:nodefaults key='plugin_entry_pickup_category' item='plugin_entry_pickup_category' name='loop'}--><a href="{$freo.core.http_file}/category/{$plugin_entry_pickup_category}">{$freo.refer.categories[$plugin_entry_pickup_category].name}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}-->

上記~

変数
{$plugin_entry_pickup_category} 限定抽出されたエントリーに紐付けられているカテゴリーID
{$freo.refer.categories[$plugin_entry_pickup_category].name} 限定抽出されたエントリーに紐付けられているカテゴリーIDのカテゴリー名

限定抽出されたエントリーのオプションを表示する

オプションの表示方法には、二種類あります。
一括で表示するか、個別に表示するかです。

上記をふまえて、ページのオプションを取得するときに使用する変数は以下のとおりです。

変数
オプションを一括で表示する場合
{$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.[$option.id]} エントリーのオプションIDが[$option.id]のオプションに登録されている内容
オプションを個別に表示する場合
{$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.取得したいオプションID}
※「取得したいオプションID」部分にはオプションIDを代入してください。
例)取得したいオプションIDが「test1」の場合は{$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.test1}
エントリーのオプションIDが「取得したいオプションID」のオプションに登録されている内容

説明すると、

{$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.[$option.id]}

こんな感じです。
つまり、

{$エントリーIDのエントリーのオプションのテーブルを指定して.オプションが.[$どのIDのオプションなのかを指定する]}

こういうことです。

オプションを個別に表示する場合は、[$option.id]部分に、[取得したいオプションID]を書き込みます

たとえば、オプションID「test1」のオプションを取得したいなら、

{$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.test1}

のようになります。

オプションを一括で表示する場合は、[$option.id]部分を取得するために、オプション格納テーブルの情報を取得する必要があります。

オプション格納テーブルには、そのfreoに登録されているオプションのID、名前などが格納されています。
詳細は、freo公式サイトの機能解説→本体のテーブル構成→オプション格納テーブルのページをご覧下さい。

オプション格納テーブルの情報を取得するには、foreachを使います。
つまり、

<!--{foreach from=$freo.refer.options|smarty:nodefaults item='option'}-->

オプションの情報を表示する部分

<!--{/foreach}-->

このようにします。

よって、ページのオプションを取得する場合は、

   <!--{foreach from=$freo.refer.options|smarty:nodefaults item='option'}-->

       {$plugin_entry_pickup_associates[$plugin_entry_pickup.id].option.[$option.id]}
   <!--{/foreach}-->

 このようになります。

オプションを個別で表示するときのテンプレート編集例はfreo公式サイトの各機能の解説から「オプションを個別に表示する」を参考にしてください。

続きを読む

スライドショーをバナー付きリンクプラグインで管理する方法

サイトに表示するスライドショーなどをバナー付きリンクプラグインで利用する場合の利用例です。

単純に画像を表示したいだけなら、メディア一括表示プラグインを利用してスライドショーを作成しても良いのですが、スライドショーに

  • 画像にリンクを貼りたい
  • 画像にタイトル(ファイル名以外の文字列)をつけたい
  • 画像のキャプションとしてテキスト文章を表示したい

などの場合には、画像の登録・引用・タイトルや本文の登録のできるバナー付きリンクプラグインを活用した方が良いと思います。

スライドショーを設置する

スライドショーの設置は下記を参考にしてください。
32877:【html】画像をスライドショーで表示するjQuery

今回は、上記記事内FlexSliderを利用するものとします。
解説はonze:【jQuery】超万能スライダー FlexSlider の使い方をマスターする。を参考にしてください。

バナー付きリンクプラグインを実装する

当サイトからバナー付きリンクプラグインをDLして実装してください。

バナー付きリンクプラグインに登録した情報は、バナー付きリンク画面・デフォルト画面・エントリー画面・カテゴリー画面・エントリー個別表示(view)画面・ページ画面で表示することができます。
その他の画面にスライドショーを設置したい場合は、[freo/libs/plugins/config.link.php]のdisplay設定を変更してください。

参考リンク:freo「プラグインを色々なページに表示する

スライドショー用のテンプレートを作成する

エディタで新しいページを開き、「imageslide.html」として保存します。文字コードは「UTF-8」、改行コードは「CR+LF」で作成してください。保存場所は[freo/templates/plugins/link]フォルダがいいでしょう。

このテンプレート内にスライドショー用のコードを書き込み、スライドショーを設置したい部分のテンプレート(例えばデフォルト画面に設置したいなら[freo/templates/internals/default/default.html])でincludeするといいでしょう。
smartyのinclude機能についての説明はコチラを御覧ください。

imageslide.htmlの内容は、スライドショーのHTML部分の記述を参考に作成します。
FlexSliderでは、下記のようなHTMLソースが必要です。

<div class="flexslider">
<ul class="slides">
<li><a href="http://"><img src="slider1.jpg" /></a><p class="flex-caption">ここはキャプションです</p></li>
<li><a href="http://"><img src="slider2.jpg" /></a><p class="flex-caption">ここはキャプションです</p></li>
</ul>
</div>

バナー付きリンクプラグインに登録した情報で、上記ソースを作成してみます。

<div class="flexslider">
    <ul class="slides">
        <!--{foreach from=$plugin_links|smarty:nodefaults item='plugin_link'}-->
            <li><!--{if $plugin_link.url}--><a href="{$plugin_link.url}"><!--{/if}--><!--{if $plugin_link_files[$plugin_link.id].file}--><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/link_files/{$plugin_link.id}/{$plugin_link_files[$plugin_link.id].file}" alt="{$plugin_link.title}" /><!--{elseif $plugin_link.imageurl}--><img src="{$plugin_link.imageurl}" alt="{$plugin_link.title}" /><!--{else}-->{$plugin_link.title}<!--{/if}--><!--{if $plugin_link.url}--></a><!--{/if}--><!--{if $plugin_link.text}--><p class="flex-caption">{$plugin_link.text}</p><!--{/if}--></li>
        <!--{/foreach}-->
    </ul>
</div>

以上のようにすればOKです。
内容は、下記の通りです。

<div class="flexslider">
    <ul class="slides">
        <!--{$plugin_links配列を'plugin_link'として繰り返し表示するここから}-->
            <li><!--{もしリンクURLがあればここから}--><a href="{$リンクURL}"><!--{もしリンクURLがあればここまで}--><!--{もしリンクファイル(バナー)が登録されていればここから}--><img src="{$freo設置URL}{$ファイル・ディレクトリ名}plugins/link_files/{$リンク記事ID}/{$リンクファイル(バナー)のファイル名}" alt="{$リンク記事タイトル}" /><!--{もしバナーURLが登録されていたら}--><img src="{$バナーURL}" alt="{$リンク記事タイトル}" /><!--{そうじゃなければ}-->{$リンク記事タイトル}<!--{もしリンクファイル(バナー)が登録されていればここまで}--><!--{もしリンクURLがあればここから}--></a><!--{もしリンクURLがあればここまで}--><!--{もしリンク記事本文があればここから}--><p class="flex-caption">{$リンク記事本文}</p><!--{もしリンク記事本文があればここまで}--></li>
        <!--{$plugin_links配列を'plugin_link'として繰り返し表示するここまで}-->
    </ul>
</div>

スライドショーに利用するリンクをカテゴリーで限定する

テンプレートを編集してスライドショーに利用するリンクをカテゴリーで限定する

上記解説した方法だと、バナー付きリンクプラグインに登録した全てのリンク記事がスライドショーになってしまいますが、例えば、カテゴリーID「slideshow」のカテゴリーが選択されているリンク記事のみをスライドショーにしたい場合は、下記のようにすればOKです。

<div class="flexslider">
    <ul class="slides">
        <!--{foreach from=$plugin_links|smarty:nodefaults item='plugin_link'}-->
            <!--{if $plugin_link.category_id == 'slideshow'}-->
                <li><!--{if $plugin_link.url}--><a href="{$plugin_link.url}"><!--{/if}--><!--{if $plugin_link_files[$plugin_link.id].file}--><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/link_files/{$plugin_link.id}/{$plugin_link_files[$plugin_link.id].file}" alt="{$plugin_link.title}" /><!--{elseif $plugin_link.imageurl}--><img src="{$plugin_link.imageurl}" alt="{$plugin_link.title}" /><!--{else}-->{$plugin_link.title}<!--{/if}--><!--{if $plugin_link.url}--></a><!--{/if}--><!--{if $plugin_link.text}--><p class="flex-caption">{$plugin_link.text}</p><!--{/if}--></li>
            <!--{/if}-->
        <!--{/foreach}-->
    </ul>
</div>

 内容は下記の通りです。

<div class="flexslider">
    <ul class="slides">
        <!--{$plugin_links配列を'plugin_link'として繰り返し表示するここから}-->
            <!--{もしリンク記事のカテゴリーIDが'slideshow'であればここから}-->
                <li>~中略~</li>
            <!--{もしリンク記事のカテゴリーIDが'slideshow'であればここまで}-->
        <!--{$plugin_links配列を'plugin_link'として繰り返し表示するここまで}-->
    </ul>
</div>

以上のように、 カテゴリーIDを限定するための条件式を追加しています。

ただし、この場合、[管理画面→設定管理→プラグインの設定→バナー付きリンク→エントリー・ページ・TOP画面等その他画面での1ページの表示件数]で設定された件数よりも多いリンク記事が登録されていた時、2ページ目以降に登録されたリンク記事は表示されません
[管理画面→設定管理→プラグインの設定→バナー付きリンク→エントリー・ページ・TOP画面等その他画面での1ページの表示件数]を総リンク登録件数よりも多く設定すれば、全てのバナー付きリンク記事から限定したカテゴリーのリンク記事のみを表示することができますが、

  • バナー付きリンクプラグインに多くのリンク記事を登録している場合
  • [管理画面→設定管理→プラグインの設定→バナー付きリンク→エントリー・ページ・TOP画面等その他画面での1ページの表示件数]を総リンク登録件数よりも多くすることが出来ない場合

は、総リンク数に関係なく限定したカテゴリーの新着リンクを表示してくれる新着リンクプラグインを利用するとよいでしょう。

新着リンクプラグインを利用してスライドショーに利用するリンクをカテゴリーで限定する

新着リンクプラグインは、直近に登録したリンク記事から、新着リンクとして表示すると設定した件数分のリンクを表示するプラグインです。
総リンク記事からカテゴリーを限定して抽出することもできます。

新着リンクプラグインをスライドショーとは別の用途で既に利用している場合は、同じプラグインを複数設置する方法を参考にプラグインを複製して利用してください。

新着リンクプラグインに登録した情報は、バナー付きリンク画面・デフォルト画面・エントリー画面・カテゴリー画面・エントリー個別表示(view)画面・ページ画面で表示することができます。
その他の画面にスライドショーを設置したい場合は、[freo/libs/plugins/config.link_recently.php]のdisplay設定を変更してください。

新着リンクをプラグインを実装後、[管理画面→設定管理→プラグインの設定→新着リンクプラグイン]で限定するカテゴリーIDを設定してください。
その後、imageslide.htmlを下記のように編集してください。

<div class="flexslider">
    <ul class="slides">
        <!--{foreach from=$plugin_link_recentries|smarty:nodefaults item='plugin_link_recently'}-->
            <li><!--{if $plugin_link_recently.url}--><a href="{$plugin_link_recently.url}"><!--{/if}--><!--{if $plugin_link_recently_files[$plugin_link_recently.id].file}--><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/link_files/{$plugin_link_recently.id}/{$plugin_link_recently_files[$plugin_link_recently.id].file}" alt="{$plugin_link_recently.title}" /><!--{elseif $plugin_link.imageurl}--><img src="{$plugin_link.imageurl}" alt="{$plugin_link.title}" /><!--{else}-->{$plugin_link_recently.title}<!--{/if}--><!--{if $plugin_link_recently.url}--></a><!--{/if}--><!--{if $plugin_link_recently.text}--><p class="flex-caption">{$plugin_link_recently.text}</p><!--{/if}--></li>
        <!--{/foreach}-->
    </ul>
</div>

上記は、「スライドショー用のテンプレートを作成する」で解説したソースを新着リンクプラグイン用に変更したものです。
以上のようにすると、新着リンクプラグインを利用してスライドショーに利用するリンクをカテゴリーで限定することができます。

続きを読む

アルバムプラグインでフィルタリング利用時にフィルター認証確認プラグインをアルバムでも使用する方法

フィルター認証確認プラグインは、freo公式サイトで配布されている、フィルターを認証するか確認するためのメッセージを表示するプラグインです。
アルバムプラグインでフィルタリング利用時に、フィルターを認証するか確認するメッセージを表示するには、下記のとおりにして下さい。

  1. アルバムプラグイン(ver.3_0_5以上)を実装する。
  2. フィルター認証確認プラグインを実装する。
  3. [freo/libs/freo/plugins/page.filter_comfirm.php]の21~24行目を下記のように変更する
        //入力データ確認
        if (empty($_GET['filter_id']) or (empty($_GET['entry_id']) and empty($_GET['page_id']) and empty($_GET['media_path']) and empty($_GET['album_id']))) {
            freo_redirect('filter/default?error=1', true);
        }
    
  4. [freo/libs/freo/plugins/page.filter_comfirm.php]の39~46行目を下記のように変更する
        //元の記事へ移動
        if (!empty($_GET['entry_id'])) {
            freo_redirect('view/' . $_GET['entry_id']);
        } elseif (!empty($_GET['page_id'])) {
            freo_redirect('page/' . $_GET['page_id']);
        } elseif (!empty($_GET['media_path'])) {
            freo_redirect('file/media/' . $_GET['media_path']);
        } elseif (!empty($_GET['album_id'])) {
            freo_redirect('album/view/' . $_GET['album_id']);
        }
    
  5. [freo/templates/plugins/filter_confirm/filter_confirm.html]を下記のように変更する
    <!--{if ($entry_filters[$entry.id] and $entry_associates[$entry.id].filter.r18) or ($page_filters[$page.id] and $page_associates[$page.id].filter.r18) or ($entry_filter and $entry_associate.filter.r18) or ($page_filter and $page_associate.filter.r18) or $media_associate.filter.r18 or $plugin_album_filters[$plugin_album.id] or $plugin_album_filter}-->
    <div class="filter_confirm">
        <h4>年齢確認</h4>
        <p>この記事には年齢制限が設けられています。あなたは18歳以上ですか?</p>
        <ul>
            <li><a href="{$freo.core.http_file}/filter_confirm?freo%5Btoken%5D={$token}&amp;media_path={$smarty.get.path}&amp;entry_id={$entry.id}&amp;page_id={$page.id}&amp;album_id={$plugin_album.id}&amp;filter_id=r18">はい</a></li>
            <li><a href="{$freo.core.http_file}">いいえ</a></li>
        </ul>
    </div>
    <!--{/if}-->
    
  6. [freo/templates/plugins/album/default.html]と[freo/templates/plugins/album/view.html]のフィルター認証確認を表示したい箇所に下記の通り加筆する
    {include file='plugins/filter_confirm/filter_confirm.html'}
    

続きを読む

アルバムプラグインの情報を個別に表示する方法

このサイトで配布しているfreo機能拡張プラグインアルバムプラグインの情報を個別に表示する方法は以下のとおりです。

アルバムを個別に表示する

アルバム個別表示画面(freo/index.php/album/view画面)のテンプレートは、[freo/templates/plugins/album/view.html]です。
アルバム個別表示画面(freo/index.php/album/view画面)では表示したいアルバムIDを指定している(freo/index.php/album/view/1←このように)ので、下記変数をテンプレート上に記載しただけで、該当アルバムIDの情報を表示させることができます。

アルバムの情報を取得する方法

アルバムの基本的な情報を表示するための変数
変数
{$plugin_album.id} アルバムID
{$plugin_album.created} アルバムの投稿日時
{$plugin_album.modified} アルバムの更新日時
{$plugin_album.datetime} アルバムの日時
{$plugin_album.title} アルバムのタイトル
{$plugin_album.tag} アルバムにタグがあるかどうか
{$plugin_album.text} アルバム本文
{$plugin_album.category_id} アルバムのカテゴリーID
{$plugin_album.option01} アルバムのオプションの入力値
(「option01」部分を「option10」まで変更するとオプション10までの情報を表示できます。)
{$plugin_album.restriction} アルバムの閲覧制限
{$plugin_album.password} アルバムの閲覧制限を解除するためのパスワード
アルバムの添付ファイルの情報を表示する

アルバムの添付ファイルについての情報は、「$plugin_album_files」テーブルに格納されています。
「$plugin_album_files」テーブルの情報を表示したいときは、foreachしなければなりません。

とにかく、アルバムのの情報を一覧表示したいなら、下記の通りにしなければならないってことです。

<!--{foreach from=$plugin_album_files|smarty:nodefaults item='plugin_album_file'}-->

アルバムの情報を表示したい部分

<!--{/foreach}-->

 

上記のように、アルバムの情報の内一覧表示したい内容は、<!--{foreach from=$plugin_album_files|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、アルバムの情報は表示されませんので注意して下さい。

変数
{$plugin_album_files|smarty:nodefaults} アルバムファイルがあるかどうか
{$plugin_album_files.name} アルバムファイルのファイル名
{$plugin_album_files.height} アルバムファイルの高さ
{$plugin_album_files.width} アルバムファイルの幅
{$plugin_album_files.size} アルバムファイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/album_files/{$plugin_album.id}/{$plugin_album_files.name} アルバムファイルのURL
{$plugin_album_files.thumbnail|smarty:nodefaults} アルバムファイルのサムネイルがあるかどうか
{$plugin_album_files.thumbnail.name} アルバムファイルのサムネイルのファイル名
{$plugin_album_files.thumbnail.height} アルバムファイルのサムネイルの高さ
{$plugin_album_files.thumbnail.width} アルバムファイルのサムネイルの幅
{$plugin_album_files.thumbnail.size} アルバムファイルのサムネイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/album_thumbnails/{$plugin_album.id}/{$plugin_album_files.thumbnail.name} アルバムファイルのサムネイルのURL

{$plugin_album_files}や{$plugin_album_file.thumbnail}などの配列には「smarty:nodefaults」の修飾子をつけるようにしてください。

アルバムのオプションの情報を表示する

アルバムのオプションについての情報は、「$freo.config.plugin.albumテーブルに格納されています。

変数
{$freo.config.plugin.album.option01_name} アルバムのオプション01のオプション名
{$freo.config.plugin.album.option01_type} アルバムのオプション01のタイプ
{$plugin_album.option01} アルバムのオプション01の入力値

option01」部分を「option10」まで変更すると、それぞれのオプションの情報を表示させることができます。

アルバムのカテゴリーの情報を表示する

アルバムのカテゴリーについての情報は、「$plugin_album_categoriesテーブルに格納されています。
どのカテゴリーの情報を引き出すのかを指定するため、[$plugin_album.category_id]で、そのアルバムのカテゴリーIDをいれてあげます。

変数等
{$plugin_album_categories[$plugin_album.category_id].name} {$plugin_album.id}のアルバムのカテゴリーの名前
アルバムのタグを表示する

アルバムのタグは「$plugin_album_tags」という配列に格納されています。
アルバムのタグの情報を表示したいときは、foreachしなければなりません。

<!--{foreach from=$plugin_album_tags|smarty:nodefaults item='plugin_album_tag' name='loop'}--><a href="{$freo.core.http_file}/album?tag={$plugin_album_tag|smarty:nodefaults|escape:'url'}">{$plugin_album_tag}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}-->
アルバムにフィルターがかかっているか判断する方法

アルバムにフィルターがかかっているかどうかを判断するには、[$plugin_album_filter]変数を利用します。
[$plugin_album_filter]は、アルバムにフィルターがかかっているかどうかを格納している変数です。
フィルターがかかっている場合は値が「1」、かかっていない場合は値は「null」となっています。

    アルバムの情報を表示したい部分ここから

    <!--{if $plugin_album_filter}-->
        このアルバムにはフィルターがかかっています
    <!--{else}-->
        このアルバムにはフィルターがかかっていません
    <!--{/if}-->

    アルバムの情報を表示したい部分ここまで

上記のようにすると、アルバムにフィルターがかかっているかどうか調べて表示することができます。

続きを読む

アルバムプラグインの情報を一覧で表示する方法

このサイトで配布しているfreo機能拡張プラグインアルバムプラグインの情報を一覧で表示する方法は以下のとおりです。

アルバムを一覧表示する

アルバム一覧表示画面(freo/index.php/album画面)のテンプレートは、[freo/templates/plugins/album/default.html]です。
アルバムを一覧表示しているのは、[freo/templates/plugins/album/default.html]の27~55行目

            <!--{foreach from=$plugin_albums|smarty:nodefaults item='plugin_album'}-->
                <div class="album">
                    <h3><a href="{$freo.core.http_file}/album/view/{$plugin_album.id}">{$plugin_album.datetime|date_format:'%Y/%m/%d'}<!--{if $plugin_album.title}-->{$plugin_album.title}<!--{/if}--></a><!--{if $freo.user.authority == 'root' or $freo.user.authority == 'author'}--><a href="{$freo.core.http_file}/album/admin_form?id={$plugin_album.id}"><img src="{$freo.core.http_url}images/icons/edit.png" alt="編集" title="編集" width="16" height="16" /></a><!--{/if}--></h3>
                    <ul>
                        <!--{if $plugin_album.category_id}--><li><a href="{$freo.core.http_file}/album?category_id={$plugin_album.category_id}">{$plugin_album_categories[$plugin_album.category_id].name}</a></li><!--{/if}-->
                        <!--{if $plugin_album_tags|smarty:nodefaults}--><li><!--{foreach from=$plugin_album_tags[$plugin_album.id]|smarty:nodefaults item='plugin_album_tag' name='loop'}--><a href="{$freo.core.http_file}/album?tag={$plugin_album_tag|smarty:nodefaults|escape:'url'}">{$plugin_album_tag|smarty:nodefaults}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}--></li><!--{/if}-->
                        <!--{if $plugin_album.text}--><li>{$plugin_album.text|smarty:nodefaults|strip_tags|mb_truncate:30:'...'|escape}</li><!--{/if}-->
                    </ul>
                    <!--{if $plugin_album.restriction == 'password' and !$smarty.session.security.plugin_album[$plugin_album.id] and $freo.user.authority != 'root' and $freo.user.authority != 'author'}-->
                    <form action="{$freo.core.http_file}/album/view/{$plugin_album.id}" method="post">
                        <fieldset>
                            <legend>認証フォーム</legend>
                            <dl>
                                <dt>パスワード</dt>
                                    <dd><input type="text" name="plugin_album[password]" size="30" value="" /></dd>
                            </dl>
                            <p><input type="submit" value="認証する" /></p>
                        </fieldset>
                    </form>
                    <!--{/if}-->
                    <ul class="album_image">
                        <!--{if $plugin_album_files[$plugin_album.id]|smarty:nodefaults}-->
                        <!--{foreach from=$plugin_album_files[$plugin_album.id]|smarty:nodefaults item='plugin_album_file'}-->
                        <li><a rel="album{$plugin_album.id}" title="{$plugin_album.title}" href="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/album_files/{$plugin_album.id}/{$plugin_album_file.name}"><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/{if $plugin_album_file.thumbnail|smarty:nodefaults}album_thumbnails{else}album_files{/if}/{$plugin_album.id}/{$plugin_album_file.name}" alt="{$plugin_album_file.name}" title="{$plugin_album_file.name}" /></a></li>
                        <!--{/foreach}-->
                        <!--{/if}-->
                    </ul>
                </div>
            <!--{/foreach}-->

の部分です。

上記を解説すると

            <!--{アルバムプラグインの情報を'plugin_album'として繰り返して表示するここから}-->
                <div class="album">
                    <h3><a href="{$freo設置URL}/album/view/{$アルバムID}">{$アルバムの日付|日付を整形する:'年/月/日'}<!--{もしアルバムにタイトルがあったらここから}-->{$アルバムタイトル}<!--{もしアルバムにタイトルがあったらここまで}--></a><!--{もしログインしているユーザーの権限が管理者または投稿者だったらここから}--><a href="{$freo設置URL}/album/admin_form?id={$アルバムID}"><img src="{$freo設置URL}images/icons/edit.png" alt="編集" title="編集" width="16" height="16" /></a><!--{もしログインしているユーザーの権限が管理者または投稿者だったらここまで}--></h3>
                    <ul>
                        <!--{もし$アルバムカテゴリーIDがあったらここから}--><li><a href="{$freo設置URL}/album?category_id={$アルバムカテゴリーID}">{$アルバムカテゴリーIDのアルバムカテゴリーのアルバムカテゴリー名}</a></li><!--{もし$アルバムカテゴリーIDがあったらここまで}-->
                        <!--{もし$アルバムタグがあったらここから}--><li><!--{アルバムタグを'plugin_album_tag'として繰り返し表示するここから}--><a href="{$freo設置URL}/album?tag={$アルバムタグ}">{$アルバムタグ}</a><!--{もしアルバムタグの繰り返しの最後じゃなかったらここから}-->,&nbsp;<!--{もしアルバムタグの繰り返しの最後じゃなかったらここまで}--><!--{アルバムタグを'plugin_album_tag'として繰り返し表示するここまで}--></li><!--{もし$アルバムタグがあったらここまで}-->
                        <!--{もしアルバム本文があったらここから}--><li>{$アルバム本文|タグをタグとして表示する|タグを全て除く|30文字で区切って最後を'...'にする|エスケープする}</li><!--{もしアルバム本文があったらここまで}-->
                    </ul>
                    <!--{もしアルバムの公開範囲が'password'でかつ閲覧制限を解決していなくてかつログインユーザーの種類が管理者でも投稿者でもなければここから}-->
                    <form action="{$freo設置URL}/album/view/{$アルバムID}" method="post">
                        <fieldset>
                            <legend>認証フォーム</legend>
                            <dl>
                                <dt>パスワード</dt>
                                    <dd><input type="text" name="plugin_album[password]" size="30" value="" /></dd>
                            </dl>
                            <p><input type="submit" value="認証する" /></p>
                        </fieldset>
                    </form>
                    <!--{もしアルバムの公開範囲が'password'でかつ閲覧制限を解決していなくてかつログインユーザーの種類が管理者でも投稿者でもなければここまで}-->
                    <ul class="album_image">
                        <!--{もしアルバムにファイルが登録されていたらここから}-->
                        <!--{$アルバムIDのアルバムに登録されているファイルを'plugin_album_file'として繰り返して表示するここから}-->
                        <li><a rel="album{$アルバムID}" title="{$アルバムタイトル}" href="{$freo設置URL}{$FILEディレクトリ}plugins/album_files/{$アルバムID}/{$アルバムファイル名}"><img src="{$freo設置URL}{$FILEディレクトリ}plugins/{もしアルバムファイルにサムネイルがあればここから}album_thumbnails{そうじゃなければ}album_files{もしアルバムファイルにサムネイルがあればここまで}/{$アルバムID}/{$アルバムファイル名}" alt="{$アルバムファイル名}" title="{$アルバムファイル名}" /></a></li>
                        <!--{$アルバムIDのアルバムに登録されているファイルを'plugin_album_file'として繰り返して表示するここまで}-->
                        <!--{もしアルバムにファイルが登録されていたらここまで}-->
                    </ul>
                </div>
            <!--{アルバムプラグインの情報を'plugin_album'として繰り返して表示するここまで}-->

以上のように、アルバム一覧にアルバムの情報をある程度掲載して一件ずつ繰り返して表示しています。

アルバムの情報を取得する方法

$plugin_albumsテーブルの情報をforeachする。

アルバムの情報は、「$plugin_albums」というテーブルに格納されています。
「$plugin_albums」テーブルの情報を表示したいときは、foreachしなければなりません。

とにかく、アルバムのの情報を一覧表示したいなら、下記の通りにしなければならないってことです。

<!--{foreach from=$plugin_albums|smarty:nodefaults item='plugin_album'}-->

アルバムの情報を表示したい部分

<!--{/foreach}-->

上記のように、アルバムの情報の内一覧表示したい内容は、<!--{foreach from=$plugin_albums|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、アルバムの情報は表示されませんので注意して下さい。

アルバムの基本的な情報を表示するための変数
変数
{$plugin_album.id} アルバムID
{$plugin_album.created} アルバムの投稿日時
{$plugin_album.modified} アルバムの更新日時
{$plugin_album.title} アルバムのタイトル
{$plugin_album.tag} アルバムにタグがあるかどうか
{$plugin_album.text} アルバム本文
{$plugin_album.category_id} アルバムのカテゴリーID
{$plugin_album.option01} アルバムのオプションの入力値
(「option01」部分を「option10」まで変更するとオプション10までの情報を表示できます。)
{$plugin_album.restriction} アルバムの閲覧制限
{$plugin_album.password} アルバムの閲覧制限を解除するためのパスワード
アルバムの添付ファイルの情報を表示する

アルバムの添付ファイルについての情報は、「$plugin_album_files[$plugin_album.id]」テーブルに格納されています。
「$plugin_album_files」テーブルの情報を表示したいときは、foreachしなければなりません。

とにかく、アルバムのの情報を一覧表示したいなら、下記の通りにしなければならないってことです。

<!--{foreach from=$plugin_album_files[$plugin_album.id]|smarty:nodefaults item='plugin_album_file'}-->

アルバムの情報を表示したい部分

<!--{/foreach}-->

 

上記のように、アルバムの情報の内一覧表示したい内容は、<!--{foreach from=$plugin_album_files[$plugin_album.id]|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、アルバムの情報は表示されませんので注意して下さい。

変数
{$plugin_album_files[$plugin_album.id]|smarty:nodefaults} アルバムファイルがあるかどうか
{$plugin_album_file.name} アルバムファイルのファイル名
{$plugin_album_file.height} アルバムファイルの高さ
{$plugin_album_file.width} アルバムファイルの幅
{$plugin_album_file.size} アルバムファイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/album_files/{$plugin_album.id}/{$plugin_album_file.name} アルバムファイルのURL
{$plugin_album_file.thumbnail|smarty:nodefaults} アルバムファイルのサムネイルがあるかどうか
{$plugin_album_file.thumbnail.name} アルバムファイルのサムネイルのファイル名
{$plugin_album_file.thumbnail.height} アルバムファイルのサムネイルの高さ
{$plugin_album_file.thumbnail.width} アルバムファイルのサムネイルの幅
{$plugin_album_file.thumbnail.size} アルバムファイルのサムネイルのサイズ
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/album_thumbnails/{$plugin_album.id}/{$plugin_album_files[$plugin_album.id].file.thumbnail.name} アルバムファイルのサムネイルのURL

{$plugin_album_files}や{$plugin_album_file.thumbnail}などの配列には「smarty:nodefaults」の修飾子をつけるようにしてください。

アルバムのオプション設定の情報を表示する

アルバムのオプションについての情報は、「$freo.config.plugin.albumテーブルに格納されています。

変数
{$freo.config.plugin.album.option01_name} アルバムのオプション01のオプション名
{$freo.config.plugin.album.option01_type} アルバムのオプション01のタイプ
{$plugin_album.option01} アルバムのオプション01の入力値

option01」部分を「option10」まで変更すると、それぞれのオプションの情報を表示させることができます。

アルバムのカテゴリーの情報を表示する

アルバムのカテゴリーについての情報は、「$plugin_album_categoriesテーブルに格納されています。
どのカテゴリーの情報を引き出すのかを指定するため、[$plugin_album.category_id]で、そのアルバムのカテゴリーIDを指定してあげます。

変数等
{$plugin_album_categories[$plugin_album.category_id].name} {$plugin_album.id}のアルバムのカテゴリーの名前
アルバムのタグを表示する

アルバムのタグは「$plugin_album_tags[$plugin_album.id]」という配列に格納されています。
アルバムのタグの情報を表示したいときは、foreachしなければなりません。
アルバムの情報を一覧表示する際は、「$plugin_album」のforeachの中に表示しなければならないので、アルバムのタグの情報は、$plugin_albumの中でさらにforeachして表示します。

<!--{foreach from=$plugin_albums|smarty:nodefaults item='plugin_album'}-->
     <!--{foreach from=$plugin_album_tags[$plugin_album.id]|smarty:nodefaults item='plugin_album_tag' name='loop'}--><a href="{$freo.core.http_file}/album?tag={$plugin_album_tag|smarty:nodefaults|escape:'url'}">{$plugin_album_tag}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}-->
<!--{/foreach}-->
アルバムにフィルターがかかっているか判断する方法

アルバムにフィルターがかかっているかどうかを判断するには、[$plugin_album_filters]配列を利用します。
[$plugin_album_filters]配列は、アルバムにフィルターがかかっているかどうかを格納している変数です。
アルバムIDをキーとして、フィルターがかかっている場合は値が「1」、かかっていない場合は値は「null」となっています。

<!--{foreach from=$plugin_albums|smarty:nodefaults item='plugin_album'}-->
    <!--{if $plugin_album_filters[$plugin_album.id]}-->
        このアルバムにはフィルターがかかっています
    <!--{else}-->
        このアルバムにはフィルターがかかっていません
    <!--{/if}-->
<!--{/foreach}-->

上記のようにすると、アルバムにフィルターがかかっているかどうか調べて表示することができます。

続きを読む

modeとwork以下のアクセスしているURLによって表示を変える方法

freoを利用しているサイトで表示している画面のURLには、[mode]と[work]という文字列が必ず含まれています。
例えば、「https://32877.info/index.php/view/1」「https://32877.info/index.php/page/gallery」などです。
この、「view」と「page」のことを『mode』といい、「1」と「gallery」のことを『work』といいます。

詳しくは下記を参照してください。
32877:【freo講座】【初心者の為のfreoテンプレート編集講座】【基本編(12)】freoの画面についての考え方

modeとworkの値によって条件を発生させたい場合は下記を参考にしてください。
32877:【freoTIPS】【テンプレート系TIPS】modeとworkの値によって表示を切り替える方法

この記事では、freoで表示している画面のURLの内、modeとwork以下の値によって表示を変える方法を解説します。

続きを読む

同人誌用値札(9枚綴)テンプレート配布

同人誌の詳しい情報を掲載できる値札テンプレートExcelファイルを作成しました。

デザイン性の低いシンプルな値札ですが、Excelでサクッと作りたい時などにご利用ください。
互換性のある形式で作成していますが、Excel2010以降推奨です。

サンプル

doujinshi_nefuda_32877_1_0_0.png

※画像クリックで拡大表示

 

ダウンロード

doujinshi_nefuda_32877_1_0_0.zip

使い方

ファイルはご自由に編集してください。
A4サイズに打ち出してカッターなどで切ってご利用ください。

値札に掲載できる情報

  • タイトル
  • 年齢制限
  • 値段
  • サイズ
  • ページ数
  • 発行日
  • カップリング
  • あらすじ

更新履歴

2016/07/15 配布開始

 

続きを読む

ブログパーツ管理プラグインで登録した特定のブログパーツを表示する方法

ブログパーツ管理プラグインは、freo公式サイトで配布されているプラグインです。
ブログパーツ管理プラグインを利用すると、管理画面上で任意の内容をブログパーツとして登録することができます。

ブログパーツ管理プラグインを表示する際は、公式サイトで紹介されているとおり、

<h3>ブログパーツ</h3>
<div class="content">
  <dl>
    <!--{foreach from=$plugin_parts|smarty:nodefaults item='plugin_part'}-->
    <!--{if $plugin_part.status == 'publish'}-->
    <dt>{$plugin_part.name}</dt>
      <dd>{$plugin_part.text|smarty:nodefaults}</dd>
    <!--{/if}-->
    <!--{/foreach}-->
  </dl>
</div>

のようにテンプレートに記載すればOKです。
上記のように記載すると、ブログパーツ管理プラグインに登録している全てのブログパーツを一覧表示することができます。

特定のブログパーツを表示する方法

特定のブログパーツを表示する(たとえば、ID[test]のブログパーツ)方法は以下のとおりです。
ブログパーツを表示したい画面のテンプレートに

<!--{if $plugin_parts.test.status == 'publish'}-->
<h3>{$plugin_parts.test.name}</h3>
<div class="content">
      {$plugin_parts.test.text|smarty:nodefaults}
</div>
<!--{/if}-->

上記のように記載すると、ID[test]のブログパーツが「公開」されていたときに表示することができます。

応用方法

例えば、メール送信プラグインのメールフォームに、任意の注意書きを記載し、注意書きの内容を管理画面で管理したいときは、ID[contact]のブログパーツを作成し、メール送信画面で利用すればよいと思います。

  1. メール送信プラグインを実装する
  2. ブログパーツプラグインを実装する
  3. 管理画面→プラグイン→ブログパーツ管理プラグインでIDが[contact]のブログパーツを作成する。
  4. [freo/templates/plugins/contact/default.html]の10~12行目を下記の通り変更する。
    <!--{if $plugin_parts.contact.status == 'publish'}-->
    <h3>{$plugin_parts.contact.name}</h3>
    <div class="content">
          {$plugin_parts.contact.text|smarty:nodefaults}
    </div>
    <!--{/if}-->
    

上記のようにすると、管理画面上でID[contact]のブログパーツに設定した内容をメール送信プラグイン上に表示することができます。

続きを読む

ルビ付きの文章をPDFで保存した時にルビ部分の背景が白くなって文字が潰れてしまうのを回避する方法

Wordでルビ付きの文章をPDF化するときに、ルビ部分の背景が文章を潰してしまうことがあります(下図参照)

2016071300.jpg

 

上記のような状況を回避するには、下記のようにしてください。

Wordでルビ付きの文章をPDFにする方法

下図のようなビ付きの文章があるとします。

2016071301.png

通常、WordでPDF化するときは、名前をつけて保存→ファイルの種類をPDFにします。
同人誌印刷などに利用する場合は、下記のオプション設定を推奨されることが多いと思います。

201607130302.png

保存時に「オプション」をクリックし、

2016071302.png

PDFのオプションとして「ISO19005-1に準拠」を選択すると、PDF内にフォントを埋め込むことができます。

2016071303.png

上記のように。PDF内にフォントを埋め込み、なおかつルビも綺麗に表示されれば問題ありませんが、ルビ部分の背景が文字を潰してしまう場合は、PDF保存時のオプションを下記のとおりにする必要があります。

2016071304.png

  • 「ISO19005-1に準拠」を外す
  • 「フォントの埋め込みが不可能な場合はテキストをビットマップに変換する」にチェックを入れる

上記のようにすれば、PDF内にフォントを埋め込まず、文字を画像として保存してくれるので、ルビが文字をつぶすことはありません。

同人誌印刷に利用する場合

同人誌印刷のPDF入稿の場合、「フォントを埋め込んでPDFを作成」することを推奨されます。
「ISO19005-1に準拠」を外すと、フォントは埋め込まれず文字が画像として処理されます。
文字が画像として処理したPDFと、フォントを埋め込んだPDFとだと、画像として処理したPDFの方が印刷は荒くなります。
微妙な違いではありますが、気にされる方はPDFに埋め込み可能なフォントを使ってPDFを作成し、入稿することをおすすめします。
文字を画像として処理したPDFで印刷所に入稿可能かどうかは、各印刷所に確認してください。

参考URL

金沢印刷:PDF書き出しの注意

続きを読む

エントリーページ移動

ページ上部へ