第8弾/カテゴリVIEW コンポーネント version 2.1.0

 金魚屋開発支援シリーズ第8弾。

 便利機能を追加。

はじめに

  • 以下あらゆる著作物の利用に関して著作者は一切の責任を負いません。
  • 以下あらゆる著作物の著作権は金魚屋ですが、とりたてて利用に制限はありません。
  • 利用にはHTML とPHP について多少の知識が必要です。
  • ツッコミ大歓迎。
  • 細かいところは解説しません。
  • 設定とか間違えるとエラー吐きます。
  • これは CMS Joomla! の component です。

NAME

com_kingyoya_category_view - コンテンツカテゴリVIEW コンポーネント

目的

  • コンテンツカテゴリの説明文やタイトルだけを表示するコンポーネント
  • 従来の機能ではできない複雑な表示を、モジュールと組み合わせることによって実現するために作成。
注意
  • 引数間違えたり値とり損ねたりするとE_USER_WARNING にエラー吐きます。
  • XML のデフォルト値までは取ってません。

動作確認

  • PHP 5.2.2,4.4.9
  • Joomla 1.0.15

HISTORY

2008-09-03 2.1.0
  • 表示可能なセクションを制限できる機能を追加。
  • 表示可能セクションを制限しているときに、パラメータ id にカテゴリ名を指定することで、該当のカテゴリを表示できるように修正。
2008-08-27 2.0.0
  • テンプレート指定の方法を、コンテンツ登録とファイル指定の2パターンに変更。
  • Joomla! 1.0.13 以降、メニュー登録でHTML タグを記述できないよう修正されていたことを受けて。
2008-06-22 Version 1.2.0

 開発者向け機能として、表示しているカテゴリID を取得する手段を追加。

2008-06-22 Version 1.1.0

 間抜けなことにアクセス権限をチェックしてなかったので、チェックするよう修正。

2008-06-20 Version 1.0.0

 公開

使い方

  1. コンポーネントをインストールする。
  2. 使用するテンプレートをコンテンツとして登録する。または用意したテンプレートファイルをサーバにアップロードする。動的コンテンツに登録する場合は概要文に。
  3. メニューにコンポーネントを登録する。
  4. メニュー登録で各種パラメータを設定する。
同じItemid で色々なカテゴリを表示するには
  1. URL パラメータやPOST パラメータで id の値にカテゴリのID を指定する。
  2. URL パラメータやPOST パラメータで id の値にカテゴリ名を指定する。ただし制限セクション指定時のみ。
id にカテゴリ名を指定する

/index.php?option=com_kingyoya_category_view&Itemid=1&id=特集

 のようなURL で、「特集」という名前のカテゴリをItemid 1 で表示可能。

 mod_rewrite と組み合わせて

RewriteEngine on
RewriteRule ^section/(.*)$ /index.php?option=com_kingyoya_category_view&Itemid=1&id=$1 [L]

 とすることで、

/section/特集/

というURL を利用することができる。

※URL エンコードUTF-8*1 で行う必要あり。

メニューパラメータ

表示カテゴリ

 必須

 表示するカテゴリの既定値。URL パラメータやPOST パラメータで id の値が指定されていない場合に使用される。

制限セクション

 表示可能なセクションを1つ指定する。

 これが設定されているとき、表示しようとするカテゴリがこのセクション以外の場合は表示されない。

 id にカテゴリ名を指定して表示するには、この設定が必要。

非公開アイテム

 必須

 非公開になっているカテゴリ・セクションでも表示するかどうか

表示ID定数

 表示しているカテゴリのID を定義する定数名。

 module やmambots で利用可能。

テンプレートリソース

 必須

 テンプレートをコンテンツとして登録するか、サーバにアップロードされたファイルを利用するか選択する。

テンプレート

 必須

 「テンプレートリソース」で「コンテンツ」を選択した場合は、表示に利用するテンプレートを登録したコンテンツのID を指定する。

 「テンプレートリソース」で「ファイル」を選択した場合は、そのファイルのパスをJoomla! インストールディレクトリからの相対パスで指定する。

 テンプレートでは{ID} や{TITLE} などで指定カテゴリの情報を表示できる。リンクなどの属性値にも使える。

 またコンテンツ登録する場合は、mosimage を利用可能。

表示ID定数

 表示しているカテゴリのID を定義する定数名。

 module やmambots で利用可能。

テンプレートパラメータ

※テンプレートには patTemplate を利用

{ID}

 カテゴリのID。

{NAME}

 カテゴリの名前。

{TITLE}

 カテゴリのタイトル。

{DESCRIPTION}

 カテゴリの説明。HTML も展開される。

{IMAGE}

 カテゴリの画像のURL。<img src="{IMAGE}" /> で画像表示できる。

{SECTION_ID}

 カテゴリが所属するセクションのID。

{SECTION_NAME}

 カテゴリが所属するセクションの名前。

{SECTION_TITLE}

 カテゴリが所属するセクションのタイトル。

{SECTION_DESCRIPTION}

 カテゴリが所属するセクションの説明。HTML も展開される。

{SECTION_IMAGE}

 カテゴリが所属するセクションの画像のURL。<img src="{SECTION_IMAGE}" /> で画像表示できる。

URL エンコードする。

 パラメータを記述するときに、{NAME|urlencode} のように、パラメータ名の後に「|urlencode」と書くことで、URL エンコードした値を表示できる。

FILES

kingyoya_category_view.xml

 コンポーネントインストールXML

kingyoya_category_view.php

 Frontend 処理スクリプト

kingyoya_category_view.html.php

 Frontend 出力処理スクリプト

*1:Joomla! の設定による