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

> Entry

ページ一括表示プラグインで色んなページの情報を取ってみる

ページ一括表示プラグインを利用すると、色んなページの情報を取得することができます。主に使えそうなものを記載しておきますので、参考にしてください。

なお、ページ一括表示プラグインは通常ページ画面でのみ利用可能なプラグインですが、ページ画面以外の画面(たとえばデフォルト画面など)で下記ソースを利用したい場合は、[freo/libs/freo/plugins/config.page_all.php]の17~18行目

//displayファイルの読み込み設定
define('FREO_PLUGIN_PAGE_ALL_LOAD_DISPLAY', 'page');

部分を、

//displayファイルの読み込み設定
define('FREO_PLUGIN_PAGE_ALL_LOAD_DISPLAY', 'default,page');

のように変更しておいてください。

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

親ページの親ページの情報を取得する。

あるページの親ページは、「$plugin_page_parents」配列に格納されています。
あるページの親ページの情報をもとに、ページ一括表示プラグインを利用して親ページの親ページの情報を取得してみます。

親ページの親ページのID {$plugin_page_parent.pid}
親ページの親ページのタイトル {$page_alls[$plugin_page_parent.pid].title}
親ページの親ページの投稿日 {$page_alls[$plugin_page_parent.pid].created}
親ページの親ページの更新日 {$page_alls[$plugin_page_parent.pid].modified}
親ページの親ページの日時 {$page_alls[$plugin_page_parent.pid].datetime}
親ページの親ページの投稿ユーザーID {$page_alls[$plugin_page_parent.pid].user_id}
親ページの親ページの本文 {$page_alls[$plugin_page_parent.pid].text}
親ページの親ページのオプションIDのオプション {$page_all_associates[$plugin_page_parent.pid].option.オプションID}

新着ページの親ページの情報を取得する。

新着ページは、「$plugin_page_recentries」配列に格納されています。
新着ページの情報をもとに、ページ一括表示プラグインを利用して親ページの親ページの情報を取得してみます。

下記変数は、<!--{foreach from=$plugin_page_recentries|smarty:nodefaults item='plugin_page_recently'}-->~<!--{/foreach}-->内で利用してください。

新着ページの親ページのID {$plugin_page_recently.pid}
新着ページの親ページのタイトル {$page_alls[$plugin_page_recently.pid].title}
新着ページの親ページの投稿日 {$page_alls[$plugin_page_recently.pid].created}
新着ページの親ページの更新日 {$page_alls[$plugin_page_recently.pid].modified}
新着ページの親ページの日時 {$page_alls[$plugin_page_recently.pid].datetime}
新着ページの親ページの投稿ユーザーID {$page_alls[$plugin_page_recently.pid].user_id}
新着ページの親ページの本文 {$page_alls[$plugin_page_recently.pid].text}
新着ページの親ページのオプションIDのオプション {$page_all_associates[$plugin_page_recently.pid].option.オプションID}

特定のページの情報を取得する。

ページ一括表示プラグインは、全てのページの情報を表示することができます。
全てのページの情報は、「$page_alls」配列に格納されています。

特定のページの情報を表示するには、「$page_alls」配列に特定のページIDを入れ込んでください。

特定のページの親ページのID {$page_alls.特定のページID.pid}
特定のページのタイトル {$page_alls.特定のページID.title}
特定のページの投稿日 {$page_alls.特定のページID.created}
特定のページの更新日 {$page_alls.特定のページID.modified}
特定のページの日時 {$page_alls.特定のページID.datetime}
特定のページの投稿ユーザーID {$page_alls.特定のページID.user_id}
特定のページの本文 {$page_alls.特定のページID.text}
特定のページのオプションIDのオプション {$page_all_associates.特定のページID.option.オプションID}

 

 

続きを読む

【イラスト編(05)】メディア機能を利用する。

freoの便利な機能、メディアの利用方法をご紹介します。

メディア機能とは

freoには、メディア機能があります。
メディア機能とは、サイトに関連する様々なファイル、たとえばGIF・JPEG・PNGなどの画像ファイルや、PDF・TXTなどのドキュメント、ZIPファイルを登録できる機能です。

メディアに登録したファイルは、「エントリー本文」「ページ本文」に挿入して利用できます。
管理画面のエントリーまたはページ編集画面で、下記画像の赤矢印の部分をクリックすれば、メディア管理・登録画面を開くことができます。

medialink.jpg

ちなみに、上記画像はメディア機能を利用して画像を挿入しています。

メディア機能を利用するには、管理画面→システム→メディア管理から利用できます。
メディアには、閲覧制限・フィルタリングを行うことができます。
メディアが画像の場合、アップロード時に自動的にサムネイルを作成することができます。
メディアには、ファイル名の他に、任意の文字列(メディアのタイトルや説明文など)を1件までつけることができます。

メディアを登録する時は、階層分けをしておくと便利です。
メディアを探しやすくするために、利用しやすくするために、一覧表示しやすくするために、細かく階層分けをしておくことをおすすめします。

メディアの登録方法

メディアを登録する方法は以下のとおりです。

  1. 管理画面→システム→メディア管理をクリックする。
    または、エントリー・ページの登録画面で本文入力ボックス上部にある「メディア管理」をクリックする。
    medialink.jpg
  2. メディアを登録する」をクリックする。
    media_add.jpg
  3. メディアを保存するフォルダを選択し、登録したいメディアを参照して選択したら、登録するボタンをクリックする。
    media_add_02.jpg

  4. 下記のように表示されればOKです。
    media_add_03.jpg

メディアを編集する

メディアを登録しただけでは、メディアの説明などは登録できません。
メディアの説明を登録する、メディアを差し替えるには、メディアを編集してください。

管理画面→システム→メディア管理→編集したいメディアを「編集」をクリックする。

メディア編集でできることは下記の通りです。

ファイル差し替え 登録したファイルを差し替えることができます。
サムネイル画像登録 サムネイル画像のみを登録または差し替えることができます。
ファイルの説明登録 ファイルの説明を登録できます。
改行・タグは利用できません。
ファイル名変更 ファイル名を変更することができます。
使用できるのは半角英数のみです。
拡張子を消さないようにしてください。
ファイル移動 ファイルの保存されているディレクトリを変更することができます。
ファイル削除 ファイルを削除することができます。

メディアの階層化について

メディアは保存するディレクトリによって階層化することができます。
ディレクトリを登録する時は管理画面→システム→メディア管理→「ディレクトリを作成する」で作成できます。
ディレクトリを編集するときは、ディレクトリの右部「編集」から編集できます。

ディレクトリの中にディレクトリを作成することができます。
たとえば、「fluits」ディレクトリの中に「orange」「grape」「apple」などのディレクトリを作成することができます。

ディレクトリの中にディレクトリを作成するには、親ディレクトリの右部「開く」をクリックし、表示された階層で「この階層にディレクトリを作成する」をクリックしてください。
media_directory.jpg

メディアを階層化するときのコツ

メディアを階層化するときは、エントリーに使うエントリーは例えば「entry」ディレクトリに、ページに使うディレクトリは「page」ディレクトリに入れるなどしておくと、挿入する時に探しやすいですし、一覧表示する時にも便利です。

例えばですが、

  1. 「entry」ディレクトリ
    1. カテゴリー「japan」ディレクトリ
      1. エントリーID「1」ディレクトリ
      2. エントリーID「2」ディレクトリ
    2. カテゴリー「france」ディレクトリ
      1. エントリーID「3」ディレクトリ
      2. エントリーID「4」ディレクトリ
  2. 「page」ディレクトリ
    1. ページID「novel」ディレクトリ
    2. ページID「gallery」ディレクトリ
      1. ジャンル「food」ディレクトリ
        1. 種類「photo」ディレクトリ
        2. 種類「illust」ディレクトリ
      2. ジャンル「animal」ディレクトリ
        1. 種類「photo」ディレクトリ
        2. 種類「illust」ディレクトリ

上記のようにすれば分かりやすいかもしれません。

メディアをエントリー本文やページ本文に挿入する

メディアをエントリー本文やページ本文に挿入するには、下記のとおりにします。

  1. エントリーまたはページ編集画面の本文入力エリアの上部の「メディア管理」をクリック
    medialink.jpg
  2. colorboxでメディア管理画面が表示されるので、挿入したいメディアの右部「挿入」をクリックする。
    media_insert.jpg

メディアを利用してギャラリーを作成する

登録されているメディアを使ってギャラリーを作成するには、freo公式で配布されているプラグインを利用します。

それぞれのプラグインの利用方法などはこれ以降の記事でご紹介いたします。

続きを読む

ファイルパスからファイル名・ファイルのフォルダパスを取得する方法

あるファイルのフルパス(フォルダパス+ファイル名)が、特定のセルに入力されているとします。
マクロ(VBA)を使って上記フルパスを ファイル名 と ファイルのフォルダパス に分割して表示する方法は以下のとおりです。

条件設定)
ファイルのフルパスが表示されているセル … Sheet1シートのA1セル
ファイル名を入力するセル … Sheet1シートのA2セル
ファイルのフォルダパスを入力するセル … Sheet1シートのA3セル

Sub Get_FileName_And_FilePath()
'====================================================================================
' ファイルのフルパスからファイル名とファイルのフォルダパスを取得して表示するマクロ
'====================================================================================
ThisWorkbook.Activate
'// ファイルパスからファイル名を取得する。
    Dim filePath As String, fileName As String
    filePath = Worksheets("Sheet1").Range("A1").Value    'A1セルを変数(filePath)に代入
    fileName = Dir(filePath)                             'ファイル名を変数(fileName)に代入
'// ファイルの存在確認
    If fileName = "" Then
        '// ファイルがなければメッセージを表示して終了
            MsgBox "指定されたファイルは存在しません。", vbExclamation
    Else
        '// ファイルがあればB1セルにファイル名を入力
            Worksheets("Sheet1").Range("A2").Value = fileName
        '// フォルダパスを変数(fileFolderPath)に代入
            Dim fileFolderPath As String
            fileFolderPath = Replace(filePath, fileName, "")
        '// フォルダパスをC1セルに入力
            Worksheets("Sheet1").Range("A3").Value = fileFolderPath
        '//メッセージを表示して終了
    End If
End Sub

ワンポイント

Dir関数は、引数に指定したファイルが存在したときにファイル名を返す関数です。
Replace関数は引数に指定した文字列を置換する関数です。置換後の文字列を「""」空白にすれば、置換前の文字列を削除することができます。

 

続きを読む

参照ファイルのパスを取得するユーザーフォーム

こんなユーザーフォームがあるとします。

01.png

ユーザーフォームのオブジェクト名 : UserForm1
テキストボックスのオブジェクト名 : TextBox1
コマンドボタンのオブジェクト名 : CommandButton1

コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをSheet1シートのA1セルの値として入力し、フォームを終了する方法

  1. VBEを起動する。
  2. フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
    02.png
  3. 表示されたモジュールに下記の通りコピペする。
    Private Sub CommandButton1_Click()
    '===================================================================
    '   参照ボタン押下時の動作
    '   →ファイルを参照しパスを指定セルに入力・フォームを終了
    '===================================================================
    '//ダイアログのタイトルを設定
        Dim Dialog_Title As String
        Dialog_Title = "ファイルを選択して下さい"
    '//ファイル参照ダイアログの表示
        Dim filePath As Variant
        filePath = Application.GetOpenFilename(, , Dialog_Title)
    '//ファイル参照ダイアログの表示
        If filePath = False Then
        '//キャンセルされたら処理を終了します
            End
        Else
        '//ファイルが指定されたらファイルパスをセルに入力
            Worksheets("Sheet1").Range("A1").Value = filePath
        End If
    '//メッセージを表示
        MsgBox ("参照ファイルのアドレスを変更しました。")
    '//フォームを終了
        Unload UserForm1
    End Sub
    

コマンドボタンをクリックするとファイル参照ダイアログが表示され、選択したファイルのパスをフォーム内のテキストボックスに表示する方法

  1. VBEを起動する。
  2. フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
    02.png
  3. 表示されたモジュールに下記の通りコピペする。
    Private Sub CommandButton1_Click()
    '===================================================================
    ' 参照ボタン押下時の動作
    ' →ファイルを参照しパスをテキストボックスに表示
    '===================================================================
    '//ダイアログのタイトルを設定
        Dim Dialog_Title As String
        Dialog_Title = "ファイルを選択して下さい"
    '//ファイル参照ダイアログの表示
        Dim filePath As Variant
        filePath = Application.GetOpenFilename(, , Dialog_Title)
    '//ファイル参照ダイアログの表示
        If filePath = False Then
            '//キャンセルされたら処理を終了します
            End
        Else
            '//ファイルが指定されたらファイルパスをセルに入力
            TextBox1.Value = filePath
        End If
    '//メッセージを表示
        MsgBox ("参照ファイルのアドレスを変更しました。")
    End Sub
    
    

GetOpenFilenameメソッドについて

GetOpenFilenameメソッドの特徴

GetOpenFilenameメソッドでは、[ファイルを開く]ダイアログボックスを表示し、ユーザーが選択したファイルのフルパスを返します。

GetOpenFilenameメソッドの書き方

Object.GetOpenFilename FileFilter, FilterIndex, Title, ButtonText, MultiSelect

FileFilter 表示するファイルの種類を指定できます。
「ファイルの種類を表す任意の文字列」「表示するファイルの拡張子(ワイルドカード利用可)」セットで設定する。
FilterIndex 上記「FileFilter」で複数のフィルターを設定した際、デフォルトで表示するフィルターを指定できます。
Title 表示されるダイアログのタイトルを設定できます。
ButtonText Macintoshのみ利用可。
MultiSelect True:複数ファイルを選択できる。
False:単一ファイルのみ指定可。

続きを読む

ユーザーフォームのテキストボックスにセルの値を表示する方法

こんなユーザーフォームがあるとします。

01.png

ユーザーフォームのオブジェクト名 : UserForm1
テキストボックスのオブジェクト名 : TextBox1

テキストボックスに表示したい値の入っているセルは 「Sheet1」シート の 「A1」セル とする。

ユーザーフォーム表示時に、特定のテキストボックスに指定のセルの値を表示する方法は以下のとおり。

  1. VBEを起動する。
  2. フォームの「UserForm1」上で右クリックし、「コードの表示」をクリック。
    02.png
  3. 表示されたモジュールに下記の通りコピペする。
    Private Sub UserForm_Initialize()
    '===========================================================
    'フォーム表示時にテキストボックスにセルの値を表示
    '===========================================================
    '//セルの値を変数に(文字列として)代入
        Dim Value_A1 As String
        Value_A1 = Sheets("Sheet1").Range("A1").Value
    '//セルの値をテキストボックスに表示
        Me.TextBox1.Text = Value_A1
    End Sub
    

注意

プロシージャの UserForm_Initialize の 「UserForm」 部分は、自分の設定したオブジェクト名などに変更しないこと。

 

続きを読む

更新サークル表示プラグイン

freoのサークル管理プラグインで登録されたサークルの内更新されたサークルを設定された数分表示するプラグインです。

特徴

  • デフォルト・サークル画面でプラグイン情報を参照できます。
  • 表示件数を管理画面から設定できます。

ダウンロード

導入方法

  1. 上記ファイルをDLして解凍する。
  2. [freo]フォルダに[configs][libs]フォルダをアップロードする。
  3. 管理画面の[設定管理]―[プラグインの設定]―[新着サークル表示プラグイン]で各種設定を行う。
  4. 新着ニュースを表示させたい箇所に
            <div class="utility">
                <h3>新着サークル</h3>
                <div class="content">
                    <dl>
                        <!--{foreach from=$plugin_circle_recentries|smarty:nodefaults item='plugin_circle_recently'}-->
                        <dt>{$plugin_circle_recently.modified|date_format:'%Y/%m/%d'}</dt>
                            <dd><a href="{$freo.core.http_file}/circle/view/{$plugin_circle_recently.user_id}">{$plugin_circle_recently.name}</a></dd>
                        <!--{/foreach}-->
                    </dl>
                </div>
            </div>
    
    を挿入する。

更新履歴

2015/01/30 配布開始
   
   

続きを読む

エントリーカテゴリー表示プラグインでカテゴリーの階層ごとにスタイルを変更してみる。

エントリーカテゴリー表示プラグインは、当サイトで配布しているカテゴリーごとにエントリーを表示するためのプラグインです。デフォルトの状態では、エントリーがカテゴリーごとに入れ子のリストで表示されますが、カテゴリーの階層ごとにスタイルを変更してみます。

たとえば、

  • 親カテゴリーA
    • 子カテゴリーAa
    • 子カテゴリーAb
  • 親カテゴリーB

のように、カテゴリーに親子関係がある場合に、下記のように、それぞれのカテゴリーを見出しを使って表示してみます。

<h2>親カテゴリーA</h2>
   <h3>子カテゴリーAa</h3>
   <ul>
      <li>記事1</li>
      <li>記事2</li>
      <li>記事3</li>
   </ul>
   <h3>子カテゴリーAb</h3>
   <ul>
      <li>記事4</li>
      <li>記事5</li>
      <li>記事6</li>
   </ul>
<h2>親カテゴリーB</h2>
<ul>
   <li>記事4</li>
   <li>記事5</li>
   <li>記事6</li>
</ul>

上記のように表示する場合、テンプレートの編集が必要です。

エントリーカテゴリー表示プラグインのテンプレートについて

エントリーカテゴリー表示プラグインのテンプレートについて解説します。

エントリーカテゴリー表示プラグインの導入方法の(5)で、[freo/templates/internals/default/default.html]に、エントリーカテゴリー表示プラグインを利用するためのテンプレート編集例が記載されています。
見ていただきたいのは↓の部分です。

 {include file='entry_category.html'}

これは、[freo/templates/entry_category.html]を挿入するという意味で、デフォルト画面のテンプレート内で、プラグイン用のテンプレートを組み込んでいます。

そして、[freo/templates/entry_category.html]を見ていただくと、17~19行目に、

                <!--{assign var="pid" value=$refer_category.id}-->
                {include file='entry_category.html'}
                <!--{assign var="pid" value=$refer_category.pid}-->

と記載されています。
ここでなにをしているかというと、「今表示しているカテゴリーの子階層のカテゴリーのエントリーをentry_category.htmlを使って表示している」ということになります。

この部分を変更して、entry_category.htmlではない別のテンプレートをincludeすれば、階層ごとに表示方法を変えられるということになります。

カテゴリーの階層ごとにスタイルを変更してみる。

親階層のカテゴリーを<h2></h2>で表示してみる。

まずは、親階層のカテゴリーを読み込むときに見出し(h2)を使ってみましょう。

エントリーカテゴリー表示プラグインの導入方法の(5)で設定したとおり、最初に読み込まれるのはentry_category.htmlなので、[freo/templates/entry_category.html]を編集します。
7行目

<a href="{$freo.core.http_file}/category/{$refer_category.id}">{$refer_category.name}</a>({$plugin_category_counts[$refer_category.id]|default:0})

<h2><a href="{$freo.core.http_file}/category/{$refer_category.id}">{$refer_category.name}</a>({$plugin_category_counts[$refer_category.id]|default:0})</h2>

に変更すればOKです。

そして、子階層のカテゴリーを表示するときに、別のテンプレートを使用するように編集しておきます。
18行目

{include file='entry_category.html'}

{include file='entry_category2.html'}

のように変更すればOKです。
今回は、[entry_category.html]ではなく、[entry_category2.html]という別のテンプレートを読み込むように変更しました。

子階層のカテゴリーを<h3></h3>で表示してみる。

続けて、子階層用のテンプレートを作成しましょう。
子階層のカテゴリーを読み込むときに見出し(h3)を使ってみましょう。

もともとあった[freo/templates/entry_category.html]を同じフォルダ内で複製して、[entry_category2.html]という名前にリネームします。
7行目

<h2><a href="{$freo.core.http_file}/category/{$refer_category.id}">{$refer_category.name}</a>({$plugin_category_counts[$refer_category.id]|default:0})</h2>

<h3><a href="{$freo.core.http_file}/category/{$refer_category.id}">{$refer_category.name}</a>({$plugin_category_counts[$refer_category.id]|default:0})</h3>

に変更すればOKです。

そして、孫階層のカテゴリーを表示するときに、別のテンプレートを使用するように編集しておきます。
18行目

{include file='entry_category2.html'}

{include file='entry_category3.html'}

のように変更すればOKです。
今回は、[entry_category2.html]ではなく、[entry_category3.html]という別のテンプレートを読み込むように変更しました。

親階層、子階層の下に、孫階層がある場合

上記を参考に、テンプレートを増やしていけば、階層ごとに別のテンプレートを読み込ませることが可能です。

続きを読む

Wordで作成したPDFをPhotoshopCS6で同人誌用原稿(PSD)にしてみる

Wordで作成したPDFをPhotoshopCS6でPSDに変換して同人誌用原稿にしてみます。

  1. B5三段の小説本の作り方・段組を晒してみる。
    B6サイズの小説本の作り方・段組を晒してみる。などを参考にWord原稿をPDF化する。
  2. PhotoshopCS6で複数ページPDFを単ページPSDに変更する方法を参考に複数ページのPDFをPSDに変換する。
  3. Bridgeで複数のファイルの連番を振り直す方法を参考に生成されたPSDの名称を変更する。
  4. アクションを利用してガイドを振り、画像を統合する方法を参考にガイドを振り、画像を統合する。

以上で、ガイドを振って画像が統合されたPSDファイルを作成できます。
あとは印刷所さんに入稿すればOKです。

続きを読む

アクションを利用してガイドを振り、画像を統合する方法

Photoshopでは、「アクション」を登録することができます。複数の画像に同じ作業を行う時などは、作業の内容をアクションに登録しておくと便利です。

  1. アクションウィンドウを開き、新規アクションを作成ボタンを押す。
    001.jpg
  2. アクション名を入力して「登録する」ボタンをクリック
    002.jpg
  3. 赤い●マーク(登録中)が表示されていることを確認して、アクションに登録する作業を行う。
    003.jpg
    今回の場合は、ガイドを4本登録し、画像を統合して終了します。
    ガイドの振り方は以下のとおりです。
    (1)表示→新規ガイドでガイド登録画面を立ち上げる。
    006.jpg
    (2)ガイド登録画面でガイドの位置・方向を指定してOKする。
    007.jpg
    A5サイズの場合は垂直方向に3mm・151mmの位置、水平方向に3mm、213mmの位置
    B6サイズの場合は垂直方向に3mm・131mmの位置、水平方向に3mm、185mmの位置

    画像を統合するにはレイヤー→「画像を統合」をクリック
    009.jpg
  4. ■マークをクリックして記録を終了する。
    004.jpg

以上でアクションを登録できます。
登録したアクションを使用するには、再生マークをクリックしてください。

005.jpg

複数のファイルに同じアクションを使用するには、「バッチ」機能を利用してください。

続きを読む

Bridgeで複数のファイルの連番を振り直す方法

たとえば、

  • ファイル1(1桁)
  • ファイル2(1桁)
  • 中略
  • ファイル10(2桁)
  • ファイル11(2桁)
  • 中略
  • ファイル99(2桁)
  • ファイル100(3桁)
  • ファイル101(3桁)

のようなファイルを、桁数あわせて連番を振り直す方法を紹介します。
PhotoshopCS6に同梱されている「Bridge」というプログラムを使用します。

  1. PhotoshopCS6」のファイル→「Bridgeで参照する」を選択してを起動する
    006.jpg
  2. 名前を変更したいファイルの入っているフォルダを選択し、名前を変更したいファイルを選択して、「ツール」メニュー→「ファイル名をバッチで変更」を選択する
    007.jpg
  3. 変更するファイル名のルールを設定する。
    001から始まる3桁の連番を振りなおして上書き保存するなら、
    保存先フォルダを「同一フォルダー内で名前を変更」(上書き保存)
    新しいファイル名を「通し番号」「001」「3桁」に設定して「名前変更」をクリックする。
    008.jpg
    ※「2桁」の連番にするなら「2桁」に設定してください。
    ※「000」から始まる連番なら「000」と入力してください。
  4. 設定した内容で連番が振り直されます。
    009.jpg
たとえば、「honbun」などの文字列をファイル名の頭に追加することもできます。
010.jpg

続きを読む

エントリーページ移動

ページ上部へ