FCafe  CategoricTag Stronger

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

 CategoricTag はスクリプト中の所定箇所  ”*”  に必要なタグ名を書くだけで使用可能というお手軽さが売りでしたが、スクリプト無効環境では何も表示されない、というのが泣き所でした。
そもそもの発想の元であった タグの定常表示 2 の方法を用いればスクリプト無しでもリストを表示可能である事はプラグイン御紹介記事の中でも書きましたが、その原法をもう少しお手軽にできないかと考えてみました。
(表示結果は原法と同じです)

SAMPLE

 

【 設置法 】  下記のようなリストを作成しておきます。 ( この色 の部分には表示するタグ名を書きます )
その際、Aタグ内には『タグ名』のみを置く(半角スペースも含ませない) ようにして下さい。
リスト構造についてはどのようでも結構です ( Aタグと改行タグのみでもOK ) が、リスト(を包含する)ブロックにIDを付け て下さい。 

<ul id="ID名">
 <li><a href="./?tag=タグ1">タグ1</a></li>
 <li><a href="./?tag=タグ2">タグ2</a></li>
 <li><a href="./?tag=タグ3">タグ3</a></li>
          ~
 <li><a href="./?tag=タグN">タグN</a></li>
</ul>

 上記リストの後に以下のスクリプトを設置します。  ( 赤文字の場所にリストのID名を書きます )

<script type="text/javascript"><!--
var A=document.getElementById("ID名").getElementsByTagName("A"); var k=0;
function T(t,c) {
 if(k<A.length){  for(i=0;i<A.length;i++){  if(t==A[i].innerHTML){
  A[i].innerHTML+=(' ('+c+')');  k++;  return;
} } } }
<!--ctag-->T("<%ctag_name>","<%ctag_count>");<!--/ctag-->
//--></script>
 

【 解 説 】  スクリプト無効時にも表示される『元リスト』を予め作製しておき、それにスクリプトで「件数」を書き加える、という点は基本的に以前の方法と変わりありません。   以前の記事では plugin 等のタグリストから必要なソースをコピペ・編集して元リストを作成する、というように書きましたが、  今回は用意した”雛形”の所定の部分に(表示したい)”タグ名”を記入していく(必要なソースを”削り出す”のでなく、書き足す)、という発想であるのが異なります。
 また、今回のスクリプトは全ユーザータグのデータを一度配列に収納する過程が省かれています。  処理速度についてはともかく、 (ソース自体を含め) メモリ消費は少なくなっていると思われます。

「スクリプト無効時」 にもしっかり表示したい、という方には以前の記事より ややお手軽かもしれません

Comment

hassaku hassaku Edit
05/13 09:42

配列を関数の引数にするのは、目から鱗@o@;;でした。
確かにクラウド的に使用している場合、ユーザタグの数が多そうですもんね。

ちなみに「元リストをトを作成する」になってますよ。

daniel daniel Edit
05/13 13:33

はっさくさんこんにちは
どうもありがとうございます 修正させていただきました。

データを関数の形で書くのは ウチのhttp://catablog.blog7.fc2.com/「共有テンプレート検索」 でも使ってる方法ですが
字数も節約できて結構便利です。

のの のの Edit
05/31 13:14

danielさん、はじめまして。
このプラグインを使用したいのですが、(カウント)部分をAタグに含まずに表示するには、どのようにしたらよいでしょうか。

<A>タグ</A>---○○件

daniel daniel Edit
05/31 14:14

ののさんこんにちは。 
未検証ですが リストとスクリプトを以下のように変えてみては如何でしょうか。

<ul id="ID名">
<li><a href="./?tag=タグ1">タグ1</a><span>.</span></li>
<li><a href="./?tag=タグ2">タグ2</a><span>.</span></li>

<li><a href="./?tag=タグN">タグN</a><span>.</span></li>
</ul>


<script type="text/javascript"><!--
var A=document.getElementById("ID名").getElementsByTagName("A"); var k=0;
function T(t,c) {
if(k<A.length){ for(i=0;i<A.length;i++){ if(t==A[i].innerHTML){
A[i].nextSibling.innerHTML=(' ('+c+')'); k++; return;
} } } }
<!--ctag-->T("<%ctag_name>","<%ctag_count>");<!--/ctag-->
//--></script>

のの のの Edit
05/31 17:41

danielさん、ありがとうございます!
A[i].nextSibling.innerHTML=(' - '+c+'件'); k++; return;
と変えて、思い通りの表示にできました^^


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/556-be0b1745

Shown after Admisson
.

≫ CategoricTag プルダウン化 CssTagCloud 続き ≪

2008 / 05 / 09  Fri
Navigation   
Comment 5 / TB 0 / Edit
Designed by Daniel Corporation . all rights renounced
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。