Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2004-10-27 11:49:22

がんつ
ゲストユーザー

Re: 背景色を交互に

記事ランキングや新着記事などで
xoopsのような、背景色を交互に変えるようなプラグイン、
またはソースのいじり方は可能でしょうか?

分かりづらくてホントすみません...
よろしくお願いします。

#2 2004-10-27 20:55:52

ガンツ
ゲストユーザー

Re: 背景色を交互に

MovableTypeにピッタリのプラグインがありました。

http://nlogn.ath.cx/plugins/stripecomme … index.html

これをNucleusで使えるようにはできないでしょうか?
厚かましい要望ですみません。

#3 2004-10-28 04:18:31

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 背景色を交互に

プラグインなしでやるなら

<div style="background-color:oddcolor">
<%blog(yourtemplate,1)%>
</div>
<div style="background-color:evencolor">
<%blog(yourtemplate,2(1))%>
</div>
...

みたいに続けて行くことで,一応実現できると思います。
参照されたMTのプラグインのようにコメントでやるなら
やっぱりプラグインが必要になると思います。

オフライン

#4 2004-10-28 12:26:01

がんつ
ゲストユーザー

Re: 背景色を交互に

Andy様

これはスキン編集で記述する形でよろしいのでしょうか?

また、この場合ですとBlogidが「1」の中に
投稿されている記事しか表示できなくなってしまいました。
これを全てのブログを表示させる事は可能でしょうか?

#5 2004-10-30 12:58:17

hard
ゲストユーザー

Re: 背景色を交互に

がんつ さんの発言:

背景色を交互に変えるようなプラグイン、
またはソースのいじり方は可能でしょうか?

お遊びで、作ってみました。
概要表示テンプレートに
<div class="blogbody" style="background-color:<%Zebra%>;">
のように書きます。

<?php

class NP_Zebra extends NucleusPlugin {

        function getName(){ return "Zebra"; }
        function getAuthor(){ return "hard"; }
        function getURL(){ return "http://kogamo.main.jp/"; }
        function getVersion(){ return "0.1"; }
        function getDescription(){ return "Zebra plugin."; }

        function doTemplateVar(&$item){
                $even = "#dddddd";
                $odd = "#eeeeee";

                static $nowColor;

                if($nowColor == $odd){
                        $nowColor = $even;
                }else{
                        $nowColor = $odd;
                }

                echo $nowColor;
        }
}
?>

#6 2004-10-30 17:33:20

hard
ゲストユーザー

Re: 背景色を交互に

こちらのほうが実用的?・・・まだ現実逃避してます。仕事忙しいのに :oops:
概要表示テンプレートに
<div class="blogbody" style="background-color:<%Zebra(#eeeeee,#dddddd)%>;">
のように書きます。

class NP_Zebra extends NucleusPlugin {

<?php

class NP_Zebra extends NucleusPlugin {

        function getName(){ return "Zebra"; }
        function getAuthor(){ return "hard"; }
        function getURL(){ return "http://kogamo.main.jp/"; }
        function getVersion(){ return "1.0"; }
        function getDescription(){ return "Zebra plugin."; }

        function doTemplateVar(&$item, $even, $odd){

                static $nowColor;

                if($nowColor == $odd){
                        $nowColor = $even;
                }else{
                        $nowColor = $odd;
                }

                echo $nowColor;
        }
}
?>

#7 2004-10-30 17:51:33

hard
ゲストユーザー

Re: 背景色を交互に

ごめんなさい。先頭行はゴミです。

#8 2005-08-29 17:03:45

cha_cya
メンバー
From: 東京
登録日: 2004-08-25
投稿: 745

Re: 背景色を交互に

ちょっと前の記事ではありますが、質問です。

Nucleus3.21 EUC版を使用しており、同じページの中でNP_Zebraを2回使用しています。
1回目の使用、<%Zebra(#■,#□)%>;">

1行目背景■
2行目背景□
3行目背景■
4行目背景□
・・・

として呼び出すと、
2回目の使用、パラメータを入れ替えても<%Zebra(#□,#■)%>;">

1行目背景■
2行目背景□
3行目背景■
4行目背景□
・・・

となってしまいます。
※1回目と2回目で、どれか1つでも色を変更すると、意図した順番になります。

2色だけを使い、1回目の使用と2回目の使用では並び順を逆に出来ればと思ったのですが、方法がわかりませんでした。
どこを直せばいいでしょうか。

オフライン

#9 2005-08-29 17:18:21

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 背景色を交互に

<?php

class NP_Zebra extends NucleusPlugin {
        static $nowColor;

        function getName(){ return "Zebra"; }
        function getAuthor(){ return "hard"; }
        function getURL(){ return "http://kogamo.main.jp/"; }
        function getVersion(){ return "1.0"; }
        function getDescription(){ return "Zebra plugin."; }

       function doSkinVar($type){
               $this->nowColor = '';
       }

        function doTemplateVar(&$item, $even, $odd){


                if($this->nowColor == $odd){
                        $this->nowColor = $even;
                }else{
                        $this->nowColor = $odd;
                }

                echo $this->nowColor;
        }
}
?> 

と修正して,スキン上の二つのテンプレート呼び出しの間に<%Zebra%>を呼び出すというのでどうでしょう。

オフライン

#10 2005-08-29 17:58:31

cha_cya
メンバー
From: 東京
登録日: 2004-08-25
投稿: 745

Re: 背景色を交互に

ありがとうございます。
試したところ、

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in パス\nucleus\plugins\NP_Zebra.php on line 4

というエラーが出てしまったので、頂いたコードの4行目をコメントアウトしてみたところ、意図した動作に出来ました smile

PHPの文法違反のようですが :?: コメントアウトで動作しているのでこれでいいのかな・・。
PHPのバージョンの違いですかね(よくわかりませんでした)

オフライン

#11 2005-08-29 18:05:27

Andy
メンバー
登録日: 2004-03-18
投稿: 1,495
ウェブサイト

Re: 背景色を交互に

<?php

class NP_Zebra extends NucleusPlugin {
        var $nowColor;

        function getName(){ return "Zebra"; }
        function getAuthor(){ return "hard"; }
        function getURL(){ return "http://kogamo.main.jp/"; }
        function getVersion(){ return "1.0"; }
        function getDescription(){ return "Zebra plugin."; }

       function doSkinVar($type){
               $this->nowColor = '';
       }

        function doTemplateVar(&$item, $even, $odd){


                if($this->nowColor == $odd){
                        $this->nowColor = $even;
                }else{
                        $this->nowColor = $odd;
                }

                echo $this->nowColor;
        }
}
?>

roll すみません。間違いです。4行目修正しました。

オフライン

#12 2005-08-29 18:25:48

cha_cya
メンバー
From: 東京
登録日: 2004-08-25
投稿: 745

Re: 背景色を交互に

無事エラーも出なくなりました big_smile
ありがとうございますー

#これでMTやXOOPSに出来てNucleusに出来ないといわれていたことのひとつが解決!?
#どこかに既にあるのかもしれませんが、私は知らない・・・

オフライン

#13 2005-08-29 22:27:21

藤咲
Administrator
From: 広島
登録日: 2003-11-17
投稿: 1,211
ウェブサイト

Re: 背景色を交互に

cha_cya さんの発言:

#これでMTやXOOPSに出来てNucleusに出来ないといわれていたことのひとつが解決!?
#どこかに既にあるのかもしれませんが、私は知らない・・・

すでに解決されておりますが、タカさんのこちらのプラグインでもできると思います。
http://reverb.jp/vivian/download.php?it ... _Numbering
使ったことはないのでたぶん、ですけど 8)


藤咲
備忘録とかもろもろ
http://fjsk.tk/

オフライン

#14 2005-08-30 10:28:10

cha_cya
メンバー
From: 東京
登録日: 2004-08-25
投稿: 745

Re: 背景色を交互に

なるほど。これを使えばアーカイブページをうまく使って、

http://example.com/news/20050805.html#p01
http://example.com/news/20050805.html#p02
http://example.com/news/20050805.html#p03

みたいな作りも出来ちゃいますね。
PermalinkでアクセスされたらアイテムIDが出ちゃうけど、アイテムIDを出さずに運用できそうなのはちょっとうれしい smile
#ファイル名だけ書き換えてアクセス・・って結構やる人いませんか
#マイナーなアクセス方法かな roll

紹介ありがとう

オフライン

Board footer