Nucleus(JP)フォーラム

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

ログインしていません。

#76 2007-08-31 09:47:41

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

遅くなりました

オフセットに関しては<%blog%>と互換になってます
http://japan.nucleuscms.org/documentati … invar-blog

でも多分、希望されてる形にはならないと思います、ごめんなさい

オフライン

#77 2007-09-01 03:21:51

nakahara21
メンバー
From: 尼崎
登録日: 2003-11-14
投稿: 1,298
ウェブサイト

Re: NP_ShowBlogs

もっと他にもスマートな方法はあるんでしょうが、私なりに考えてみました。

Nucleus本体はv3.3で、
http://nakahara21.com/index.php?itemid=680
に書いた、テンプレートでifを使えるように軽く修正してやる事が前提なのですが... :oops:

◆NP_ShowBlogs v2.7(を下記手順でバグフィックスしたもの)
◆NP_STIF v0.2
の2つを使って実現してみました。

スキンには

<%if(ShowBlogs,page,1)%>
   <%ShowBlogs(default/indexTOPPAGE,5,,2)%>
<%else%>
   <%ShowBlogs(default/index,5,,2)%>
<%endif%>

と書きます。
※これだったら常にどのページも5件になります。ページスイッチを上部に出したい時でも、テンプレを変化させる最新記事よりも上にページスイッチを入れる事が可能です。

次に、テンプレート。
スキン記述に例示した『default/indexTOPPAGE』というテンプレ名の方は、
アイテムの本文は、

<%STIF%>
<%if(STIF,row,1)%>
 最新記事に使用する定義
<%else%>
 それ以外の記事に使用する定義(2ページ以降で使用するテンプレと揃える事になるかと)
<%endif%>

という構造で定義します。

パフォーマンス的には自信はありませんが、試してみる価値はあるかなぁ?


では、NP_ShowBlogs v2.7のバグフィックス手順を書いておきます。
一番最後の

			if ($value) {
				if ($this->currPage == intval($value)) {
					return TRUE;
				} else {
					return FALSE;
				}
			} elseif ($this->currPage > 1) {
				return TRUE;
			} else {
				return FALSE;
			}

の部分を

			if ($val) {
				if(!$this->currPage) $this->currPage=1;
				if(strstr($val,'|')){
					$vals = explode("|", $val);
					return in_array($this->currPage, $vals);
				}
				return ($this->currPage == intval($val));
			} elseif ($this->currPage > 1) {
				return TRUE;
			} else {
				return FALSE;
			}

に置き換えてください。
反映よろしく>shizukiさまっ

んで、NP_STIF v0.2はこちらからどうぞ。
http://nakahara21.com/index.php?itemid=687


nakahara21
http://nakahara21.com/
(ただいま調整中です)

オフライン

#78 2007-09-17 10:24:05

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

反映しましたっ!!
バグフィックスのついでに機能追加…
さすがですわっっ!!


えーっと、「<%if(ShowBlogs, page, 3|5|7)%>」と書くと、「3ページ目、5ページ目、7ページ目」と、「それ以外のページ」での分岐が指定できます
ファイル上書きのみでOKです

オフライン

#79 2007-12-04 23:22:01

maco
メンバー
登録日: 2004-07-05
投稿: 20

Re: NP_ShowBlogs

■カテゴリページに表示されるページスィッチを押すと、トップページへ飛んでしまう。

★FancyURL環境で、 複数のブログが存在する状態です。Nucleusは3.3で、 NP_Show Blogsは2.7fixを使っています(DLしたままの状態で手は加えていません)。

ブログA (blog ID 1) には、[カテゴリ1],[カテゴリ2]があり、それぞれにアイテムがあります。
ブログB (blog ID 2) には、[カテゴリ3],[カテゴリ4]があり、それぞれにアイテムがあります。

ブログBのメインの目次ページに
<%if(category)%>
<%ShowBlogs(テンプレート,5,2,2.9,,,,,,)%>
<%else%>
<%ShowBlogs(テンプレート,5,2,2.9,, , , カテゴリ3を指定,,)%>
<%endif%>
と書いています。

ブログAの時は何の問題もないんですが、ブログBでカテゴリページを表示すると、カテゴリページ自体のURLは
http://mydomain/category/3/blogid/2なのに、
ページスィッチのURLが
http://mydomain/category/3/page/任意の数字
とブログIDが含まれなくなり、ページリンクをクリックすると何故かブログAのトップページと同じものが表示されます :shock:

ブログAはhttp://mydomain/、ブログBはフォルダを作りその中にindex.phpを配置し、http://mydomain/ブログBの短縮名 として表示させています。

ブログIDをページスィッチに反映させるには、どのようにしたら良いのでしょうか?
(なんだかとんでもない初歩的ミスをしてるような気もするのですが…)

どんな曖昧な情報でも構いませんので「ここらへんおかしくない?」という箇所がありましたら、ご指摘をお願い致します。

オフライン

#80 2007-12-05 02:08:15

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

ブログBのindex.phpの内容を教えてもらえますか?

オフライン

#81 2007-12-05 02:17:36

maco
メンバー
登録日: 2004-07-05
投稿: 20

Re: NP_ShowBlogs

<?php
$CONF['Self'] = 'http://mydomain';
include('../config.php');
selectBlog('ブログの短縮名');
selector();
?>
となってます。

オフライン

#82 2007-12-05 09:27:51

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

<?php 
$CONF['Self'] = 'http://mydomain/ブログBの短縮名'; 
include('../config.php'); 
selectBlog('ブログBの短縮名'); 
selector(); 

に修正してください
ついでに .htaccess もコピーして同じディレクトリに設置してください

オフライン

#83 2007-12-05 10:02:37

maco
メンバー
登録日: 2004-07-05
投稿: 20

Re: NP_ShowBlogs

修正してみたのですが、
カテゴリページのページスィッチのURLはhttp://mydomain/category/3/page/任意の数字 のまま変わらず、
修正する前にはhttp:/mydomain/blog/2/page/2となっていたブログBのインデックスページのページスィッチが
http:/mydomain/ブログ短縮名/blog/2/page/2となり、リンク先に飛ぶとNot Foundになるようになりました。

オフライン

#84 2007-12-05 15:31:57

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

ブログBは、『ブログBの短縮名』という名前のディレクトリを作って、『http://example.com/ブログBの短縮名/index.php』でアクセスしてるんですよね?
で、『ブログBの短縮名』ディレクトリに  [color=red].htaccess は置いてありますか?[/color]
置いてあるなら『ブログBの短縮名』ディレクトリにあるファイルの一覧と .htaccess の内容を教えてください
置いてないなら .htaccess を設置して試してみてください

オフライン

#85 2007-12-05 16:13:17

maco
メンバー
登録日: 2004-07-05
投稿: 20

Re: NP_ShowBlogs

ブログBは、『ブログBの短縮名』という名前のディレクトリを作って、『http://example.com/ブログBの短縮名/index.php』でアクセスしてるんですよね?

そうです。
ご教示いただいた修正+.htaccessを設置してみましたが、状況は以下の通りです。

カテゴリページのページスィッチのURLはhttp://mydomain/category/3/page/任意の数字 のまま変わらず、
修正する前にはhttp:/mydomain/blog/2/page/2となっていたブログBのインデックスページのページスィッチが
http:/mydomain/ブログ短縮名/blog/2/page/2となり、リンク先に飛ぶとNot Foundになるようになりました。

設置した.htaccessの内容は以下の通りです。
<FilesMatch "^item$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^archive$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^member$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^archives$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^category$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^blog$">
    ForceType x-httpd-php
</FilesMatch>
<FilesMatch "^subcatid$">
    ForceType x-httpd-php
</FilesMatch>

フォルダ内に置いてあるファイルは、index.phpと.htaccessのみです。

オフライン

#86 2007-12-05 19:57:53

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

サブディレクトリでFancyURLを使用する場合はそれぞれのディレクトリに
[list=]
[*]FancyURL用の.htaccessを設置[/*]
[*]FancyURL関連の拡張子なしのファイルをコピー[/*]
[*]全てのファイルの

selector();

の前に

selectBlog('ブログBの短縮名');

を追加[/*]
[*]その他各プラグインに対応させるために、対応させたいプラグインに応じた拡張子なしのファイルを設置(NP_ShowBlogsなら『page』等)[/*][/list]
で準備完了です
modRewriteが使えるサーバなら、FancyURL-2を使った方が楽に出来るのでそちらがオススメです

オフライン

#87 2007-12-05 22:54:35

maco
メンバー
登録日: 2004-07-05
投稿: 20

Re: NP_ShowBlogs

重ねてのアドバイス有り難うございます smile
現在、ご指示いただいた1,2,3まで終わったところです。
そこで、1点お伺いしたいのですが、

4.その他各プラグインに対応させるために、対応させたいプラグインに応じた拡張子なしのファイルを設置(NP_ShowBlogsなら『page』等)

のNP_Showblogsのpageファイルですが、これの作成はextraフォルダ内のitemファイルなどをコピーして、
selectBlog('ブログBの短縮名');を付け加えてファイル名変更しただけでは作れない…んですよね?
プラグインの説明ページを見てみたのですが、書き方などが見あたらなくて行き詰まってしまいました :oops:

大変申し訳ないのですが、具体的にどうpageファイルに記載すれば良いのか、教えていただけますでしょうか?

FancyURL-2という方法もあったんですね…。教えていただくまで、そのフォルダの存在自体見落としてました :oops:

オフライン

#88 2007-12-15 23:55:41

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: NP_ShowBlogs

新規環境でテスト中に気づいたのですが、page/2とかURL直打ちしたときに
amountより記事が少ないときにstartposがマイナス値になってエラーになることがあるみたいです。
以下のコードでエラーを回避できました。
ShowBlogs v2.7です。

670行付近

		if ($startpos > $totalamount) {
			$currentpage = $totalpages;
			$startpos    = $totalamount - $pageamount;
			if ($startpos < 0) $startpos = 0;//ここを追加
		}

Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#89 2007-12-20 21:06:04

satsuki
メンバー
登録日: 2007-08-10
投稿: 40

Re: NP_ShowBlogs

いつもお世話になっております。

さくらのレンタルサーバーで、Nucleusを運用しております。

NP_Showblogsをインストールし、スキン『メインの目次ページ』に
<%ShowBlogs(テンプレート名,5,,1,DESC,,,,0,)%>
と書いたのですが、ページ送りのスイッチが表示されません。

PCは、WindowsXPです。ブラウザは、IEでも、FireFoxでも表示されません。
以前、別のサーバーでは、うまくいったのですが・・・。

企業のオフィシャルサイトのため、URLは、お教えできません。
情報が少なくて申し訳ないのですが、
どなたか対処法をご存知でしたら、御返事ください。

よろしくお願いいたします。

*:*:*:*:*:*:*:
satsuki
*:*:*:*:*:*:*:


*satsuki*

オフライン

#90 2007-12-21 14:10:54

satsuki
メンバー
登録日: 2007-08-10
投稿: 40

Re: NP_ShowBlogs

昨日、質問させていただいた件なのですが、別のサーバーのNucleusでページをつくり、
それを、さくらのサーバーの下にPHPで表示させれば、何とかなりそうです。

失礼いたしました。

*:*:*:*:*:*:*:
satsuki
*:*:*:*:*:*:*:


*satsuki*

オフライン

#91 2007-12-21 19:38:23

satsuki
メンバー
登録日: 2007-08-10
投稿: 40

Re: NP_ShowBlogs

いつもお世話になっております。
たびたびすみません、satsukiです。

先ほど投稿いたしましたやり方を試したら、表示されないままでした。
原因はわかりませんが、サーバーの問題ではなかったのだろうと思いました。

そこで、NP_Showblogsを削除して、NP_PageSwitchでページ送りの表示を試みたところ、
うまくいきました◎

NP_PageSwitchの詳細はこちらです。
http://japan.nucleuscms.org/wiki/plugins:pageswitch

もし同じような現象が起こった方は、お試しください。

*:*:*:*:*:*:*:
satsuki
*:*:*:*:*:*:*:


*satsuki*

オフライン

#92 2008-01-11 10:23:59

yoshinori
メンバー
From: 東京
登録日: 2006-08-19
投稿: 12
ウェブサイト

Re: NP_ShowBlogs

TagEXと連動させ、ShowBlogsを個別アイテムスキンで使用する際、下記のようなエラー文が出現します。

出現するのは、例えば、<%ShowBlogs%>の「表示する記事数」のパラメーターを3にし、そのアイテムと同じタグがついているアイテムが2件以下の場合です。3件以上の場合は正常に表示されます。

Show Blogsは2.7、TagEXは0.65、ほかにはMultiple Categories 0.38.1j、Customized URL 0.3.7あたりも使っています。
対処法を教えていただけると幸いです。

mySQL error with query SELECT i.inumber as itemid, i.ititle as title, i.ibody as body, m.mname as author, m.mrealname as authorname, UNIX_TIMESTAMP(i.itime) as timestamp, i.itime, i.imore as more, m.mnumber as authorid, concat("【",c.cname,"】") as category, i.icat as catid, i.iclosed as closed FROM nucleus_member as m, nucleus_category as c, nucleus_item as i, nucleus_blog as b WHERE i.iauthor = m.mnumber AND i.icat = c.catid AND b.bnumber = c.cblog AND i.idraft = 0 and i.inumber IN (38,39,) and i.inumber != 38 ORDER BY FIND_IN_SET(i.inumber,'38,39,') LIMIT 0, 2: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') and i.inumber != 38 ORDER BY FIND_IN_SET(i.inumber,'38,39,')

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/〜中略〜/nucleus/libs/BLOG.php on line 173

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/〜中略〜/nucleus/libs/BLOG.php on line 213

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/〜中略〜/nucleus/libs/BLOG.php on line 222

オフライン

#93 2008-04-09 15:22:38

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: NP_ShowBlogs

お世話になります。
別のトピックをたててしまったのですが、<%author(url)%>を記述したテンプレートをShowBlogsから呼び出した際、
インデックススキンからパースできません。
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=3938">viewtopic.php?t=3938</a><!-- l -->

お手すきの時にでも確認いただければうれしいです。

環境:
Nucleus:3.31SP1_UTF-8
Apache: 1.3.37
PHP: 5.2.5
MySQL: 5.1.22-rc
NP_ShowBlogs:2.7

オフライン

#94 2008-04-09 16:52:57

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

Re: NP_ShowBlogs

>きゃしゃさん

前の記事からの続きですが、<%blog%>で起きなくて<%ShowBlogs%>で起きるということで、
NP_ShowBlogsのコードを「author」で検索してみましたが、DBからauthorurl(murl)を読み込んでないですね。
おそらく設計上、余計なクエリ(使用頻度の低いクエリ)を呼び出さないようにしているのだと思いますが、
単純に加えるだけです。

行数と動作検証は省略しますが、まず、

			$sh_query .= ' i.icat    as catid,'
					   . ' i.iclosed as closed'
					   . ' FROM '
					   . sql_table('member') .   ' as m, '
					   . sql_table('category') . ' as c, '
					   . sql_table('item') .     ' as i'
					   . $mtable;

ここが、DBの中からなんというテーブルを呼び出すかの指定、

			$sh_query = 'SELECT '
					  . 'i.inumber               as itemid, '
					  . 'i.ititle                as title, '
					  . 'i.ibody                 as body, '
					  . 'm.mname                 as author, '
					  . 'm.mrealname             as authorname, '
					  . 'UNIX_TIMESTAMP(i.itime) as timestamp, '
					  . 'i.itime, '
					  . 'i.imore                 as more, '
					  . 'm.mnumber               as authorid,';

ここが、テーブルの中のなんという項目データを呼び出すかの指定なので、
<del>それぞれnucleus_memberのmurlを読み込んでやらないといけません。</del>
nucleus_memberは読み込まれてましたね。失礼。←. sql_table('member') .   ' as m, 'の部分
murlを読み込めば(下のCodeにmurlをつければ)OKなはずです。. 'm.murl as authorurl,'とか。
最後の行に付ける場合はauthorid,'の後についてる「;」も最後に移動してください。

オフライン

#95 2008-04-09 17:50:59

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: NP_ShowBlogs

>cha_cyaさん
ありがとうございます!できました!

需要ないカモですがファイルあげときます。


Attachments:
zip NP_ShowBlogs2_7fix2.zip, Size: 8.46 KiB, Downloads: 482

オフライン

#96 2008-06-09 02:37:11

yumi saiki
メンバー
From: 大阪府高槻市
登録日: 2007-07-27
投稿: 118
ウェブサイト

Re: NP_ShowBlogs

http://japan.nucleuscms.org/bb/viewtopic.php?t=3923

を見て、そんなことができるのかと感動して

http://www.thetruth.jp/

を作っております。 :oops:

で、書いてあるとおりに、構築用のブログを作りました。

  ExtraSkinJPバージョン: 0.4.7 を使って、パーツを作り、

トップページの パチンコ・パチスロの真実のTruth と現在表示されている部分を namae というグローバル設定の部品を作りました。 そのパーツにShow Blog のタグを書くわけです。

Show Blogs のバージョンは2.7です。

ところが、
編集で、<%ShowBlogs(parts,1,2,0,DESC,35,parts,2,0,2)%> と書いても思ったような表示ができません。

これだと 2個 なぜか古い日付の順番で表示してしまいます。

使っているテンプレートの parts というのは、
アイテムの本体 のところに <%body%><%edit%>
  アイテムを編集するためのリンク に
<small><a href="<%editlink%>" onclick="<%editpopcode%>">edit</a></small>

と書いただけのシンプルなものです。

私としては、上記のshow blog で
parts を使って, 1個 ,  ID2のブログ , ページスイッチなし, 日付順番に, ID35の記事, parts 使い, カテゴリー2,
広告なし, 2カテゴリのの所属アイテムのみ

と書いたつもりです。

<%ShowBlogs(parts,1,2,,,35,,2,0,2)%>  と書いても2個表示されます。
<%ShowBlogs(parts,1,2, , ,35, ,2,0,2)%> 
<%ShowBlogs(parts,1,2,,,35,,all,0,1)%>

など いろいろ書いてみましたが、どうしても2個表示されてしまいます。


ちなみに、<%ShowBlogs(parts,1,2, ,ASC,35, ,2,0,2)%> と書くと ちゃんと逆向きに表示されます。

指定アイテム1件『のみ』を表示させる機能は無いです
ごめんなさい

とちょっと前のログにあったんですが、今もそうなんでしょうか?
http://japan.nucleuscms.org/bb/viewtopic.php?t=3923
のやり方はこれじゃないのでしょうか?超いいアイデアなんで飛びついたのですが‥。

:?: あと一息なのに‥


yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。

オフライン

#97 2008-06-09 08:04:02

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_ShowBlogs

とちょっと前のログにあったんですが、今もそうなんでしょうか?

今もそうです
1個だけ表示する時は、NP_ShowItemなどのプラグインを使ってください

<%ShowBlogs(parts,1,2,0,DESC,35,parts,2,0,2)%>

この書き方だと、
・ブログID2のブログから「parts」テンプレートを使って記事を一つ表示
・ページスイッチは無し
・記事の羅列表示の前にアイテムID35の記事を「parts」テンプレートを使って固定表示
・表示する記事はカテゴリID2のカテゴリに含まれる記事のみ
・広告コードの表示はしない
・カテゴリID2を表示中のみ固定記事を表示
になると思います
カテゴリ内の記事などとの関係で、日付の順序が前後してるんじゃないでしょうか?

オフライン

#98 2008-06-09 12:01:56

yumi saiki
メンバー
From: 大阪府高槻市
登録日: 2007-07-27
投稿: 118
ウェブサイト

Re: NP_ShowBlogs

shizuki さんの発言:

今もそうです
1個だけ表示する時は、NP_ShowItemなどのプラグインを使ってください

わからなかったら、もう今回諦めないといかんと思っていました。
ありがとうございます。
ShowItem であっさりできました。

あの苦労は‥きっと後から役立つというか、ついできに聞きたいのですが、

ページスイッチ というのが何なのか実はわかりません。

また、

カテゴリID2を表示中のみ固定記事を表示

の意味がまたわかりません。

使いこなすとshow blog はそれはそれで便利なんだろうなと思います。


yumi saiki
今日も勉強しました!
************************
教えてください。よろしくお願いします。

オフライン

#99 2008-10-06 17:52:22

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

Re: NP_ShowBlogs

NP_ShowBlogsをスペシャルスキンパーツ内で使用するためには2点の問題があります。
1.NP_ShowBlogsはスキンタイプが「index」、「item」、「archive」の場合にのみ動作するようになってる
2.ページスイッチがスペシャルスキンを考慮していない
よって、上記2つについての改造が必要です。
しづきさんに改造方法について教えてもらいましたので、誰かの参考になればとまとめておきます。

1.スキンタイプをスペシャルスキンパーツで動くようにする
292行目あたりにある、

if ($skinType == 'item' || $skinType == 'index' || $skinType == 'archive') {

if ($skinType == 'item' || $skinType == 'index' || $skinType == 'archive'|| $skinType == $special) {

に変更します。
2.ページスイッチにスペシャルスキンのURLを渡す
583行あたり、

if (!empty($archive)) {
	$pagelink = createArchiveLink($this->nowbid, $archive);
} else {
	$pagelink = createBlogidLink($this->nowbid);
}

if (!empty($archive)) {
	$pagelink = createArchiveLink($this->nowbid, $archive);
} else {
	if(!empty($special)) {
		$linkparam = array('special' => $special);
		$pagelink = createBlogidLink($this->nowbid, $linkparam);
	} else {
		$pagelink = createBlogidLink($this->nowbid);
	}
}

に変更することで、スペシャルスキンにてNP_ShowBlogsが使えるようになります。
ちなみにスペシャルスキン内でページスイッチを使うことがない場合は、2番目の改造は不要です。


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

オフライン

#100 2008-10-21 14:11:29

morten
メンバー
登録日: 2006-09-03
投稿: 24

Re: NP_ShowBlogs

こんにちは。

NP_ShowBlogsを使わせていただいてます。
複数のブログを使っているのですがトップ頁にて、そのうち一部のブログを表示させています。
そこで、allモードにある cagegory on Blog という表示を使いたいのですが、
ブログモードが <>a,b や c/d/e といった場合に使う方法はないでしょうか

教えていただけると助かります

オフライン

Board footer