2010-02-06 Sat

ブログを引越ししました。新しいブログもよろしくお願いします。
Heartfield - What’s wrong about feeling good?

NP_ImageExtractor|使用方法とダウンロード

NP_OnlyImgの後継プラグイン。アイテム中のイメージタグ「<img />」「<%image%>」を抽出して再表示、または削除するプラグイン。個別アイテムスキンで<%if%>を利用し、画像の有無を判断することも可能。

NP_ImageExtractorの機能

  • アイテム中のイメージタグ「<img />」、またはNucleus変数「<%image%>」を1つだけ、または全てを抽出して画像を表示。画像のsrc属性、alt属性のみを抜き出す事も可能。
  • 画像そのもの、または代替テキストを用いて、その画像へのリンクを生成。*1
  • 画像があるとき、または無い時に特定の文字列(xhtmlタグも可)を表示。
  • 個別アイテムスキンにおいて、<%if(ImageExtractor)%>を利用し、そのアイテムに画像の有無を判断可能。

抽出しない画像

以下の画像はデフォルトで表示しません。

  • 幅が1pxの画像
  • alt属性の値が空の画像(オプションで表示可能)
  • class属性の最初の値が「noicon」の画像
  • アイテム中に「<%image(ファイル名|幅|高さ|代替テキスト)%>」と記述している場合、代替テキストの後に「noicon」と指定された画像。または、imgタグで「class="noicon"」と指定された画像。

アイテム中の○番目(オフセット値)の画像を表示。「noicon」指定の画像が○番目の場合、その次の画像を表示します。

<%if%>で利用する場合、「noicon」の指定をしている画像はカウントされます。幅1pxの画像はカウントしません。altが空の画像はオプションで指定できます。

テンプレートへの記述

<%ImageExtractor(モード,サイズ(幅/高さ),画像を内包するタグ,タグのclass,リンクタグのclass,リンクタグのrel,画像が無い時に表示する画像,altが空の時に表示,オフセット)%>

入力例:

<%ImageExtractor(imglink,80/120,p,extracted,gallery,album,,yes)%>
  • 「サイズ」で指定した幅、高さは、最大のサイズとなります。どちらかが指定サイズを超える場合は越える方の縮小が優先されます。
    詳細 » NP_ImageExtractor|指定のサイズより小さい画像
  • 「サイズ」「タグ」「class名」は「imglink」「allimglink」「thumb」「allthumb」「all」のときに有効です。
  • 「リンクタグのクラス」「リンクタグのrel」は「link」「alllink」「imglink」「allimglink」のときに有効です。

画像表示モード

<%image(sample.jpg,160,120,テスト画像)%>

と入力したときの各モードの表示例。

<%ImageExtractor(src)%>

元の画像のURLを表示

http://www.saple.com/media/sample.jpg
<%ImageExtractor(alt)%>

元の画像の代替テキストを表示

テスト画像
<%ImageExtractor(link,,p,,gallery,album)%>
<%ImageExtractor(alllink,,p,,gallery,album)%>

代替テキストを用いて最初の画像、または全ての画像へのリンクを表示

<p><a href="http://www.saple.com/media/sample.jpg" class="gallery" rel="album" >テスト画像</a></p>
<%ImageExtractor(imglink,,p,,gallery,album)%>
<%ImageExtractor(allimglink,,p,,gallery,album)%>

画像を指定のサイズ以内で表示し、その画像へのリンクを一つだけ、または全て表示

<p><a href="http://www.saple.com/media/sample.jpg" class="gallery"><img src="http://www.saple.com/media/sample.jpg" width="80" alt="テスト画像" /></a></p>
<%ImageExtractor(thumb,80/80,p,imagebox)%>
<%ImageExtractor(allthumb,80/80,p,imagebox)%>

画像を指定のサイズ以内で一つだけ、または全て表示

<p class="imagebox"><img src="http://www.saple.com/media/sample.jpg" width="80" alt="テスト画像" /></p>

画像表示以外のモード

<%ImageExtractor(delbody)%>
<%ImageExtractor(delmore)%>
<%ImageExtractor(delall)%>

それぞれ全ての画像を削除し、「本文」「続き」「全文」を表示。
NP_SimpleParagraphsがインストールされていると、ほぼ同じルールでマークアップし直します。

<%ImageExtractor(ifimage,,文字列)%>
<%ImageExtractor(ifnotimage,,文字列)%>

画像がある時(または無いとき)に「文字列」を表示します。xhtmlタグ付きの文字列を出力する際は、行頭に「[タグ]」を記述してください。

<%ImageExtractor(imagetext,[タグ]文字列,クラス名)%>

閉じタグも自動で付加されますが、無効にする事も出来ます。リスト表示等の際に有効です。

<%ImageExtractor(imagetext,,[ul]文字列[open],クラス名)%>
<%ImageExtractor(thumb,100,[li],クラス名)%>
<%ImageExtractor(imagetext,,[ul]文字列[close],クラス名)%>

最初と最後は開きタグのみ、閉じタグのみの出力になります。

個別アイテムスキンでの使用方法

<%if(ImageExtractor,== or <= or < or >= or >, 画像の数)%>
<%if(ImageExtractor,=,5)%>
画像が5つあります。
<%elseif(ImageExtractor,>,5)%>
画像が6つ以上あります。
<%else%>
画像はありません。
<%endif%>

ダウンロード

このプラグインのライセンスは、本体であるNucleusに準じ、GPLです。詳しくはNucleus CMS Japan、またはライセンスについて - GNUプロジェクト - フリーソフトウェア財団 (FSF)をご覧ください。

また、このプラグインは僕がPHPの勉強がてら作成したのもので、重大な欠陥があるかもしれません。このプラグインを使用されたことで、不具合が生じても当サイトは責任をとれませんので、ご使用は自己責任でお願いします。

ご報告いただいた不具合やご要望には可能な限り対応したいと思っていますので、なにかありましたらこの記事のコメントまでご連絡ください。

Download:NP_ImageExtractor 1.551(zip)

  1. *1 - 代替テキスト(alt)が空の画像を表示させる場合は、画像のURIがリンクテキストになります。

Tag:

2010-02-06 Sat / Category - Nucleus Plugin / Comment - 24 / TrackBack - 0

「NP_ImageExtractor|使用方法とダウンロード」へのトラックバック

TrackBack URL:

「NP_ImageExtractor|使用方法とダウンロード」へのコメント

カエ wrote...

NP_ImageExtractor 1.0ためしに使わせていただきました。
NP_OnlyImgの後継プラグインということで、同じ感じで使用してみました。プラグイン指定のタグでの表示はうまくいって"これはいいぞー!"と思っていたのですが...、プラグイン指定のタグを表示していない<%body%>だけの時は画像が表示されなくなってしまいました...。
更に本プラグインをアンインストールしても画像が表示されないです。
何がいけないのでしょう....。
宜しくお願いします。

2010-02-23 Tue 23:05

pushman wrote...

カエさま

はじめまして。そして、ご利用ありがとうございます。
さらにご迷惑おかけしているようですみません。

更に本プラグインをアンインストールしても画像が表示されないです。

そのテンプレートの「インライン画像のコード」が空っぽではありませんか?

このプラグインは「インライン画像のコード」に関係なく画像を抽出できますが、<%body%>のときは「インライン画像のコード」または「ポップアップ画像へのリンクコード」が必要になります。

お手数ですが、一度ご確認ください。

2010-02-24 Wed 00:14

カエ wrote...

ありがとうございます!ご指摘の通りでした。基本的な単純ミスでした。現在は調子良く使っております。申し訳ありません。
あと、354行目の"$imageelement = $this->_extractElement($result[$n], $emptyalt);"の部分で最後に", 'fromif'"が足らないみたいでエラーになってました。", 'fromif'"でいいのかわかりませんが...。追加したら大丈夫でした。
この度はお騒がせして申し訳ありません..。

2010-02-24 Wed 00:49

pushman wrote...

カエさま

解決おめでとうございます。お役に立てたようで嬉しいです。そして、エラー報告ありがとうございます。

その修正だと意図しない動作になる可能性がありますので、お手数ですがVer.1.01をダウンロードして上書きしてください。

よろしくお願いします。

2010-02-24 Wed 09:04

よっしゅ wrote...

NP_OnlyImgから乗り換えようとテスト中です。
抽出サイズの縦幅指定ができるようになり、とても便利ですね。
ただ、noiconをこのように指定をしても、スキップされず、<img src="" height="150" alt=" " />といった具合に、空の画像タグが出力されてしまいます。
<%image(ファイル名|幅|高さ|代替テキスト|noicon)%>

2010-06-20 Sun 11:41

pushman wrote...

よっしゅさん

ご利用ありがとうございます。そして、ご迷惑おかけしてすみません。

ざくっと確認してみたのですが、現象が確認できませんでした。差し支えなければ、それを表示しているテンプレート内容(このプラグイン部分だけでも結構です)を教えていただけますか?

2010-06-20 Sun 12:38

よっしゅ wrote...

<%ImageExtractor(thumb,/150,div,leftbox,,,,yes,0)%>
これでやっています。

2010-06-22 Tue 14:26

pushman wrote...

よっしゅさん

ご連絡ありがとうございます。
ただ、やはりこちらの環境では再現できませんでした…念のため別の件で修正したv1.02を公開したので、ダウンロードしてみてください。

また、何度も確認していただいてると思いますが、記事中の
<%image(ファイル名|幅|高さ|代替テキスト|noicon)%>
の「noicon」のスペルミスや、区切り線「|」の抜けが無いかご確認ください。

また特定のテンプレートやスキンだけなく、常にその現象が起きるかもチェックしてみてください。

お手数おかけしますが、よろしくお願いします。

2010-06-23 Wed 00:05

よっしゅ wrote...

v1.02に変えてみたところ、うまく表示されるようになりました。
ほかの箇所はそのままでも問題ありませんでした。
素早いご対応、誠にありがとうございました。

2010-06-23 Wed 20:20

pushman wrote...

よっしゅさん

v1.02に変えてみたところ、うまく表示されるようになりました。

あらら、僕の読みが外れてしまったみたいお恥ずかしい限りです。
でもとにかく直ってよかったです。
いろいろご連絡ありがとうございました。また何かあればお気軽にご連絡ください。

2010-06-24 Thu 00:58

つゆ wrote...

こんにちは、便利なプラグインですね!
動画のサムネイルを抽出するのは可能なのでしょうか?
できればとてもありがたいのです!

2010-09-04 Sat 13:42

pushman wrote...

つゆさん

こんにちは。そして、コメントありがとうございます。

多少はお役にたてているようで嬉しいです。

動画のサムネイルを抽出するのは可能なのでしょうか?

僕自身も実現したいな、と思う機能ではあります。が、ご期待に添えず申し訳ございません。僕の能力を遥かに超えた問題なので、今後そのような機能が付加される可能性はありません。

ちなみに僕は、サムネイル画像を別途用意し、スタイルシートで記事中には表示させず、一覧のときのみ抽出し表示させています。

2010-09-04 Sat 21:52

colorzem wrote...

PHP:5.1.6
MySQL:5.0.77
Nucleus CMS v3.41
ImageExtractor:1.55

アイテム中の画像記載
<%image(20101025-nostaffs.jpg|164|219|20101025-nostaffs.jpg)%>
<%ImageExtractor(src)%>と書いた場合
http://****.jp/php/nucleus/media//20101025-nostaffs.jpg

<%ImageExtractor(thumb,80/107,p,,,,,,)%>と書いた場合
<p><img src="http://****.jp/php/nucleus/media//20101025-nostaffs.jpg" height="0" alt="20101025-nostaffs.jpg" /></p>

いずれも~media//~というようにメディアファイル直下のサブディレクトリの記載が抜けてしまいます。

※<%popuplink%><%image%><%media%>はきちんと入っています。
※Custom Thumbnailも併用していますが、サムネール作成され~media/thumbnail/にある画像を対象ファイルとした場合には正常に表示されています。

2010-10-25 Mon 15:33

colorzem wrote...

はじめの文章が抜けてしまいました。

以下の環境で利用しているのですが画像URLが正常に出力されません。
~media//~というようにメディアファイル直下のサブディレクトリの記載が抜けてしまいます。
対象の画像はアイテム作成時に作成ページにてアップしたもので/media/1/にあります。

2010-10-25 Mon 15:34

pushman wrote...

colorzemさん

はじめまして。ご利用ありがとうございます。
そして、ご迷惑おかけしてすみません。

抜けている箇所には、本来記事作成者のIDが挿入されます。
ご確認いただきたいのですが、メンバーIDが「1」のメンバーを削除されたりしていませんでしょうか?

削除していない場合、
<%image(20101025-nostaffs.jpg|164|219|20101025-nostaffs.jpg)%>
この記述を
<%image(1/20101025-nostaffs.jpg|164|219|20101025-nostaffs.jpg)%>
としてみてください。

お手数おかけしますが、よろしくお願いします。

2010-10-25 Mon 19:40

colorzem wrote...

さっそくのご返答ありがとうございます。
「1」のメンバーは削除していません。
ご指示頂いた通り1/の記述を加えたところ、画像URLが正常に書き出しされ画像表示されました。

2010-10-25 Mon 22:41

pushman wrote...

colorzemさん

検証ありがとうございます。
ファイル名に「/」が含まれていない場合、その記事のメンバーIDを取得するようにしているのですが、画像が表示されない記事のメンバーIDが「1」以外ではありませんか?

2010-10-26 Tue 08:08

colorzem wrote...

メンバーIDが「1」の場合も「1」以外の場合も、「1/」の記述を加えないと表示されません。

いずれのメンバーでもアイテム中に画像インサートした場合、画像タグ中のファイル名頭に「/」は入りませんでした。
もちろん各メンバーIDでブラウザも変えてログインしてテストしています。

2010-10-26 Tue 12:29

pushman wrote...

colorzemさん

ご迷惑おかけしました。修正したのでver.1.551をダウンロードして差し替えてください。こちらの環境ではディレクトリ名を取得できています。

僕自身がmediaディレクトリ以下に任意のディレクトリを作成して使用していたので、メンバーIDを取得できていない不具合に、長らく気が付きませんでした。

ご報告ありがとうございました。

2010-10-27 Wed 09:59

colorzem wrote...

ちょっと挙動がおかしいです。
これまでの経緯で「1/」を追加記載していたのを外したところ、今度は画像URLの部分に「-1」(マイナス1)を記載して、~media/-1/~としてしまうようになりました。当然画像表示はされません。

2010-10-27 Wed 16:32

pushman wrote...

colorzemさん

度々すみません。検証不足でした。
ファイルを差し替えましたので再度インストールしてみてください。
今度は大丈夫だと思います。

2010-10-27 Wed 19:53

colorzem wrote...

ありがとうございます。問題ない様です。

2010-11-02 Tue 11:27

よっしゅ wrote...

PHPを5.2から5.3に上げたところ、プラグインが機能しなくなりました。対処方法はわかりますか?

2014-05-10 Sat 00:01

よっしゅ wrote...

<%ImageExtractor(thumb)%> が機能しませんが、<%ImageExtractor(src)%>は機能していますので、ひとまずこれで対応しております。

2014-05-10 Sat 01:13





このページの先頭に戻る

Copyright 2010 - Heartfield