人気記事リスト(***_popular_posts_block.html)の表示について
永らくありがとうございました › フォーラム › 使い方全般 › 人気記事リスト(***_popular_posts_block.html)の表示について
- このトピックには22件の返信、2人の参加者があり、最後に
匿名により13年、 4ヶ月前に更新されました。
-
投稿者投稿
-
2009 年 11 月 24 日 9:02 AM #2973
toemon
キーマスター***/modules/news/wp-content/themes/xpress_default/blocks/my_rank_block.php が見つかりません。
エラー内容のとおりのパスにファイルが無いということですが、前述のブロック更新のバグで更新されていないのかもしれません。
モジュールにアクセスすると、画面が真っ白になってしまいます。
一度PHPの memory_limit値確認ください。当方で
* Counterize II
* QF-GetThumbプラグイン
プラグインをいれてテストした段階では memory_limit 32Mで真っ白(Fatal error: Allowed memory size)が発生しております。
2009 年 11 月 24 日 2:05 PM #2974匿名
ゲストtoemon様
XOOPS側でのRewriteRule適応時のブロック更新が行われないバグがありますので、そのせいでブロック更新していないのだと思います。
#XOOPS側でのRewriteRule適応への対応はまだ未知数なところがありますね。
実はこちらのスレッドで検証しているサイトには、
.htaccessおよびRewriteRuleの設定はありません。
以前、メールでご相談させていただいたサイトになります。
RewriteRuleを設定していない場合でも
バグ修正を行ってしまって大丈夫でしょうか。
同時に2つのスレッドで質問させていただき、
ややこしくなってしまいまして誠に申し訳ございません。
一度拡張ブロックを両方ともはずして再度設定してみましたが、
両方とも
キャッシュが存在しません。
最初にnewsモジュールにアクセスしてください。
となり、モジュールアクセスが出来ない状態です。
プラグインをいれてテストした段階では memory_limit 32Mで真っ白(Fatal error: Allowed memory size)が発生しております。
これはxoopsのmainfile.phpで設定されているmemory_limitのことでしょうか。
ちなみにこちらは
define("XCL_MEMORY_LIMIT", "128M"); // extra param
となっております。
2009 年 11 月 24 日 11:50 PM #2975toemon
キーマスターサイト拝見させていただきました。
以前のアカウントが残っておりましたので、ログインし確認作業させていただきましたが、
まず、
/**/wp-content/themes/xpress_default/blocks/my_thumb_block.php が見つかりません。
のですが
実際にアップロードされているファイルがmy_thumb_blok.phpと名前が異なっています。
次に画面真っ白の方ですが
my_rank_block.phpにて
echo '<a href="' . $url . '" title="'. $title . '">'. $title . '</a>';
としなければならないところ、
echo '<a>url . '" title="'. $title . '">'. $title . '</a>';
となり不正なHTMLを吐いていましたので、修正させていただきました。
すみません、サンプルコードが間違っていたようです。
2009 年 11 月 25 日 9:25 AM #2976匿名
ゲストtoemon様
実際にアップロードされているファイルがmy_thumb_blok.phpと名前が異なっています。
大変申しわけございません。お恥ずかしい限りです。。。
リネームしたところ、正常に表示されるようになりました。
次に画面真っ白の方ですが
my_rank_block.phpにて
echo ‘‘. $title . ‘‘;
としなければならないところ、
echo ‘url . ‘” title=”‘. $title . ‘”>’. $title . ‘‘;
となり不正なHTMLを吐いていましたので、修正させていただきました。
こちらも問題なく表示させることが出来ました。
どうもありがとうございます!
サムネイル+記事タイトルを表示させるためのコード
<code><?php<br /> global $wpdb;<br /> $show_posts =5;<br /> if (!is_null($wpdb)){<br /> $wp_query->in_the_loop = true;<br /> $r = new WP_Query("showposts=$show_posts&what_to_show=posts&nopaging=0&post_status=publish");<br /> while($r->have_posts()){<br /> $r->the_post();<br /> if(function_exists('the_qf_get_thumb_one')){<br /> echo the_qf_get_thumb_one("num=0&width=100");<br /> }<br /> echo '<a href="'. get_permalink() . '">' . the_title('<h2>','</h2>',false) . '</a>';<br /> }<br /> }<br /> ?></code>
こちらの
num=0
は何を表しているのでしょうか。
カテゴリやタグかなと思って試しに入れてみたのですが・・・
関係の無い記事が並んでしまいました。
「最近の記事内容ブロック」のように、
カテゴリやタグで記事を指定できたらと思ったのですが。
また、以前いただいた人気記事ブロックでのランキング表示における
以下のコードですが、
<div class=”xpress_block”>
<{$block.err_message}>
<div class=”xpress_popular_post_block”>
<{php}> $ranking = 1;<{/php}>
<{foreach from=$block.contents item=content}>
<div class=”populor_ranking”>
<{php}>
$ranking_text = $ranking . ‘位’;
$image_url = ‘http://www.exsample.com/uploads/ranking_’ . $ranking . ‘.gif’;
if (@fclose(@fopen($image_url, “r”))){
echo ‘<img src=”‘ . $image_url . ‘” alt=”‘ . $ranking_text . ‘”/>’;
}else{
echo $ranking_text . ” ;
}
<{/php}>
<{$content.post_title}> (<{$content.post_views}>)
</div>
<{php}> $ranking++;<{/php}>
<{/foreach}>
</div>
</div>
今回拡張ブロックとして設置したmy_rank_block.php
<code><?php<br /> if (function_exists('counterize_renderstats_vertical')){<br /> $number = 3;<br /> $onedayago = date("Y-m-d", time()-86400);<br /> $wpdb =& $GLOBALS['wpdb'];<br /> $sql = "SELECT p.count as amount, p.url as url, p.url as label, p.postID as post_id , COUNT(m.id) as day_count"<br /> . " FROM " .counterize_logTable(). " m, " . counterize_pageTable(). " p "<br /> . " WHERE m.pageID = p.pageID and p.postID IS NOT NULL and "<br /> . " m.timestamp >= '$onedayago'"<br /> . " GROUP BY p.url "<br /> . " ORDER BY day_count DESC LIMIT $number";<br /> $rows = $wpdb->get_results($sql);<br /> foreach($rows as $row){<br /> $postid = $row->post_id;<br /> $post_data = get_post($postid);<br /> $title = $post_data->post_title;<br /> echo '<a>url . '" title="'. $title . '">'. $title . '</a>';<br /> echo ' today(' . $row->day_count .')';<br /> echo ' total(' . $row->amount . ')';<br /> }<br /> } else {<br /> echo 'not installd Counterize II plugin';<br /> }<br /> ?></code>
こちらでも同様の表示をさせることは可能でしょうか。
2009 年 11 月 25 日 12:12 PM #2977toemon
キーマスターthe_qf_get_thumb_one(“num=0&width=100”);
のnumのことでしたら、
QF-GetThumbプラグインの作者さんのページに詳しく説明があります。
「最近の記事内容ブロック」のように、
カテゴリやタグで記事を指定できたらと思ったのですが。
サンプルでは
$r = new WP_Query(“showposts=$show_posts&what_to_show=posts&nopaging=0&post_status=publish”);
としておりますが、
WP_Query()へのパラメータでいかようにでもなります。
最近の記事内容ブロックのrecent_posts_content_block_theme.phpがどのようなWP_Query()を作成しているか参考にしてもよいでしょう。
こちらでも同様の表示をさせることは可能でしょうか。
PHPと埋め込みPHPの違いだけですから、foreachの部分を
<code>$ranking = 1;<br /> foreach($rows as $row){<br /> $postid = $row->post_id;<br /> $post_data = get_post($postid);<br /> $title = $post_data->post_title;<br /> $ranking_text = $ranking . '位';<br /> $image_url = 'http://www.exsample.com/uploads/ranking_' . $ranking . '.gif';<br /> if (@fclose(@fopen($image_url, "r"))){<br /> echo '<img src="' . $image_url . '" alt="' . $ranking_text . '"/>';<br /> }else{<br /> echo $ranking_text . '' ;<br /> }<br /> echo '<a href="' . $row->url . '" title="'. $title . '">'. $title . '</a>';<br /> echo ' today(' . $row->day_count .')';<br /> echo ' total(' . $row->amount . ')';<br /> $ranking++;<br /> }</code>
みたいな感じで出来るのではないでしょうか
(時間が無いのでコードの検証は行っていません。 間違っていたらごめんなさい)
2009 年 11 月 27 日 9:47 AM #2978匿名
ゲストtoemon様
お手間おかけしてしまいまして
誠に申しわけございませんでした。
のnumのことでしたら、
QF-GetThumbプラグインの作者さんのページに詳しく説明があります。
すいません。確認不足でした。
以後気をつけます;
WP_Query()へのパラメータでいかようにでもなります。
最近の記事内容ブロックのrecent_posts_content_block_theme.phpがどのようなWP_Query()を作成しているか参考にしてもよいでしょう。
こんな風にして表示させることができました!
<code><?php<br /> global $wpdb;<br /> $show_posts =5;<br /> $cat_id = 383;<br /> if (!is_null($wpdb)){<br /> $wp_query->in_the_loop = true;<br /> $r = new WP_Query("cat=$cat_id&showposts=$show_posts&what_to_show=posts&nopaging=0&post_status=publish");<br /> while($r->have_posts()){<br /> $r->the_post();<br /> if(function_exists('the_qf_get_thumb_one')){<br /> echo the_qf_get_thumb_one("num=0&width=50");<br /> }<br /> echo '<a href="'. get_permalink() . '">' . the_title('<p>','</p>',false) . '</a><hr />';<br /> }<br /> }<br /> ?></code>
複数カテゴリーの指定が出来るとなおいいのですが、
もう少し調べてみます。
PHPと埋め込みPHPの違いだけですから、foreachの部分を
$ranking = 1;
foreach($rows as $row){
$postid = $row->post_id;
$post_data = get_post($postid);
$title = $post_data->post_title;
$ranking_text = $ranking . ‘位’;
$image_url = ‘http://www.exsample.com/uploads/ranking_’ . $ranking . ‘.gif’;
if (@fclose(@fopen($image_url, “r”))){
echo ‘<img src=”‘ . $image_url . ‘” alt=”‘ . $ranking_text . ‘”/>’;
}else{
echo $ranking_text . ” ;
}
echo ‘url . ‘” title=”‘. $title . ‘”>’. $title . ‘‘;
echo ‘ today(‘ . $row->day_count .’)’;
echo ‘ total(‘ . $row->amount . ‘)’;
$ranking++;
}
みたいな感じで出来るのではないでしょうか
(時間が無いのでコードの検証は行っていません。 間違っていたらごめんなさい)
こちらは無理かなと思ったのですが、
なぜか表示されるようになりました;
ん~、まだまだ勉強不足です。
でもひとまず全て理想の状態を再現することが出来ました。
本当に感謝申し上げます。
ありがとうございました!
2009 年 11 月 27 日 11:14 AM #2979toemon
キーマスター複数カテゴリーの指定が出来るとなおいいのですが、
$cat_id = ‘383,386’;
みたいにカンマ区切りで指定すれば出来ます。
ひとまず、このトピックは「解決済み」ということで、
がんばってください。
2009 年 11 月 29 日 11:23 AM #2980匿名
ゲストtoemon様
$cat_id = ‘383,386’;
みたいにカンマ区切りで指定すれば出来ます。
ありがとうございます!
うぁ、なぜ一見単純な書き方が浮かばないのか…。
勉強していきます。
最後の最後までサポートいただきありがとうございました。
-
投稿者投稿
- フォーラム「使い方全般」には新規投稿および返信を追加できません。