| 最初に来た人に おすすめの記事 | ||||||||||||
おすすめの記事
|
||||||||||||
Q&A:管理画面:Blogアイテムの編集:「記事を表示する」を 追加する方法 nucleus
執筆:2011.12.8
特別なプラグインを入れないで
一般のブログサイトのように、管理画面の記事一覧で、
「この記事を表示する」のリンクを表示できるようにする方法です。
そのままでは、とても不便なので追加するとほんの少し幸せになれます。
| 画面のスナップショット |
![]() |
方法
| (1) |
言語ファイル:nucleus/language
/japanese-utf8.phpなどに define( '_LISTS_VIEW_ITEM' , '表示' ); を追加します。 |
| (2) |
編集場所 showlist.php function listplug_table_itemlist($template, $type) 挿入箇所は、好みでお好きな位置でいいと思います。 目安として、_LISTS_DELETEの次の行あたりに挿入すると便利です。 |
| printf("<a href='%s'
target=\"_blank\">%s</a><br />" , createItemLink( $current->inumber ) , _LISTS_VIEW_ITEM ); |
|
| 挿入は、基本的に赤の部分だけです。 ただし、コアにバグがあるため(3)の緑の部分の追加が必要です。 理由は、$CONF['Self'] などの3つの値が正しく設定されていないからです。 |
|
| (3) |
ADMIN.phpのfunction action_itemlist $old_CONF = $CONF; // bug fix if ($CONF['URLMode'] != 'pathinfo') $CONF['Self'] = $CONF['ItemURL'] = $blog->getURL(); else $CONF['Self'] = $CONF['ItemURL'] = preg_replace('#/+$#', '', $blog->getURL()); if (!isset($CONF['ItemKey'])) $CONF['ItemKey'] = 'item'; $navList->showBatchList('item',$query,'table',$template); $CONF = $old_CONF; |
最終確認のバージョン
version 3.64
念のため、$CONFをバックアップ後 該当関数が終わると元に戻るようにしています。
trunc
| Nucleus CMS v4.00 SVN: rev
1574 |
|
| (1) |
言語ファイル:nucleus/language
/japanese-utf8.phpなどに define( '_LISTS_VIEW_ITEM' , '表示' ); を追加します。 |
| (2) | showlist.php function listplug_table_itemlist($template, $type) |
| printf("<br
/><a href='%s' target=\"_blank\">%s</a>" , createItemLink($current->inumber), _LISTS_VIEW_ITEM); |
|
| (3) |
ADMIN.phpのfunction action_itemlist |
| // bug fix if ($CONF['URLMode'] != 'pathinfo') $CONF['Self'] = $CONF['ItemURL'] = $blog->getURL(); else $CONF['Self'] = $CONF['ItemURL'] = preg_replace('#/+$#', '', $blog->getURL()); $navList->showBatchList('item',$query,'table',$template); |
|
![]() |
|
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
執筆:2011.11.30
編集:2011.11.30
(1)コンテンツ移動するのが面倒.
(2)URLをカスタマイズしている
(3)プラグインを駆使しているので、
標準のツールではデータコンバートできない。
(4)Wordpressのコードが汚い。エレガントでない。
(5)Wordpressプラグインの書き方がわからない。
(6)Wordpressテンプレートを作るのが面倒。
(7)Wordpressのセキュリティホールが怖い。
Nucleus CMS って もうユーザーが数十人しかいない?ので
大集団Wordpressに
そろそろ移行したいのですけど
最大のネックは、コードがエレガントでないことですね。
子供の落書きみたいで、ついていきたくない。
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
が 2011年3月 リリースされました。
おかめりん工房
http://okamerin.com/koubou/
ブログエクスポートファイル分割くん
http://okamerin.com/koubou/item_blogfl_bunkatukun.html
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
Q:Nucleus version 3.41にアップグレードしてSQL Illegal mix of collationsエラーが発生しました
A:「MySQL側へ文字コードをこれ使います」という意思伝達がされていない。
対象:version 3.41
原因1:開発チームがMySQLのcharsetをよく理解していない。
(MySQL、4.1からは、基本的にutf8で保存されている。出し入れ時に、指示された文字変換がされる。)
原因2?:アップグレードスクリプトを実行していなかった。
修正後に気が付いたので、詳細は不明。
Mysql サーバーは version5.1
管理画面:グローバル設定:使用する言語:japanese-euc
version 3.41にアップグレードして
自作プラグインで
Illegal mix of collations (ujis_japanese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='
というエラーがでた
Call Stack
# Time Memory Function Location
10 0.4411 4056176 mysql_fetch_object ( ) ..\globalfunctions.php:769
エラー時に表示されるsql文自体は、MyAdminで正常実行できるので
Nucleus側のmysqlとのやりとりの文字コードに問題がるようです。
また、別サーバーからlibMySQL(client)の違うバージョンを使って同じデータに接続すると完全に文字化けをした。
以下の設定をすると文字化けが解消した。
【解1】EUCの場合
globalfunctions.phpの141行目に
sql_connect();
$SQLCount = 0;
+if ($MYSQL_CONN) mysql_set_charset('ujis');
//MySQLのバージョンによってはsql_query("SET NAMES ujis");
で、とりあえず直ります。
(※utf8の場合は、ujisの部分をutf8に変える)
【別解】globalfunctions.php:sql_connect関数の変更
(sql_connect()のコメント部分を消してversion_compareに変更していじっても直ります)
client_info() '5.0.67' ,server 5.1.31で、mysql_set_charsetが失敗するので、とりあえず5.0.68にしています。
client, server 5.1.31ではmysql_set_charsetは動作しました。
+ $charset='ujis';
+ if ($MYSQL_CONN)
+ {
+ if (version_compare(PHP_VERSION, '5.2.3', '>=')
+ && version_compare(mysql_get_client_info(), '5.0.68', '>=')
+ && version_compare(mysql_get_server_info($MYSQL_CONN), '5.0.7', '>='))
+ {
+ mysql_set_charset($charset);
+ } else {
+ sql_query("SET NAMES " . $charset);
+ }
}
根本的に直すには、
phpで使う文字コードとMySQLの文字コードの対応表的なものが必要だと思います。
php mysql
eucjp - ujis
等
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
が起こっていたのですが、
修正するのが面倒だったので放置中でしたが
オリジナルソースをみてもよくわからないので
xml_parserを新規に作って
ちょこちょこっと修正コード というか
コード差し替えて 動くようにしました。
メモ
ついでに、
検索がないときには
おすすめアイテムでも加えたい気分です
php4,php5で xml_parser関数が違うので
ちょっぴり困りましたが・・・xml_ set_ object
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
Q&A:nucleus3.23:テンプレート・スキンを取り込むと文字化けします
【問題の起こるnucleus veesion】 〜3.3 EUC-JP
※Version 3.41で、標準実装済み
fix:nucleus/libs/skinie.php:
【現象】
書き出したスキン、テンプレートを
「URLを指定して読み込み」でいれると空になってしまいます。
skinbackup.xml[EUC-JP]
みかけは成功したとでますが全部からになります。
skinbackup.xml[UTF-8]
みかけは成功したとでますが、日本語が文字化けします。
【原因】
エラー表示してみましょう
START: description
ERROR: Invalid character
ということで
phpのヘルプを読みます。「CVIXML パーサ関数」
サポートされるソースエンコーディングは、 ISO-8859-1, US-ASCII , UTF-8 です
phpがサポートしていないので修正するしか方法がありません。
【修正方法】
※すでに書き出した元ファイルは(skinbackup.xml)、
とくにいじる必要はありません。
nucleus/libs/skinie.phpの
SKINIMPORTクラスの2個関数を書き換えます
function readFile
のなかの
fwrite($temp, $tempbuffer);
というのを
fwrite($temp, mb_convert_encoding($tempbuffer,'UTF-8','auto'));
というふうに 一時ファイルをutf-8で保存するように書き換えましょう
次に
function getCharacterData() {
return mb_convert_encoding($this->cdata, _CHARSET ,'UTF-8');
}
をこのように書き換えます。
これで、skinbackup.xmlの文字コードが
utf-8でもEUC-JPでも読み込めるようになりました。(たぶん)
動作しない場合は、 _CHARSET を'EUC-JP'にしたり、 自分のサイトにあったものに変えてください。
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
NP_JpCalendar
| 名称 | NP_JpCalendar | ||||||||||||||||||||||||||||||||||||||||||
| ファイル名 | NP_JpCalendar.php | ||||||||||||||||||||||||||||||||||||||||||
| version | 1.00 a1 ダウンロード: 現在ダウンロードできません。 |
||||||||||||||||||||||||||||||||||||||||||
| 機能 | 当月のアーカイブカレンダーを表示します。 | ||||||||||||||||||||||||||||||||||||||||||
| 特徴 |
|
||||||||||||||||||||||||||||||||||||||||||
| 動作イメージ |
2006年12月
|
||||||||||||||||||||||||||||||||||||||||||
| 動作環境 | 【必須】 ・NC 3.24以上 |
| memo: | |||||||
| 既知の問題 |
|
||||||
| ※ | |
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
NP_JpItemhits
| 名称 | NP_JpItemhits | ||||||
| ファイル名 | NP_JpItemhits.php | ||||||
| version | 1.00 ダウンロード:現在ダウンロードできません。 |
||||||
| 機能 | 人気記事を表示します。 | ||||||
| 特徴 |
|
||||||
| 動作環境 | 【必須】 ・NC 3.24以上 |
| memo: | |||||||
| 既知の問題 |
|
||||||
| ※ | |
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
Q&A:最新の記事をサイドバーにのせる方法 nucleus
執筆:2006.12.14
特別なプラグインを入れないで
一般のブログサイトのように最新の数件を表示できるようにする方法です。
まず、専用のテンプレートが一つ必要になります。
名前は何でもいいのですが、ここでは
とりあえず、recentという名前にしてみましょう。
それでは、管理画面でテンプレート編集をクリックします。
新規のテンプレートを一個作ります。
アイテムの本体
というところに
<dd><a href="<%itemlink%>"><%title%></a></dd>
を書き込み
テンプレートの更新をクリックして保存します。
管理画面 左のメニューのスキンファイルをクリックします。
最新の記事を
追加したいフォルダに移動し、
デフォルトでは、sidebar.inc
の編集をクリックします。
サイドバーの好きな位置に
<div class="sidebar">
<dl class="sidebardl">
<dt>最新の記事</dt>
<%blog(recent,5(0))%>
</dl>
</div>
を挿入し保存します。
(0)は 最初からの位置です。
スタート位置を変えるプラグインがあると
違うものを表示する可能性があるため
(0)をいれています。
この例では、最新の5件を表示します。
サイトを開くと最新の記事が追加されているとおもいます。
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |
NP_JpContents
| 名称 | NP_JpContents | ||||||
| ファイル名 | NP_JpContents.php | ||||||
| version | 1.0.2 需要がないようなので配布は2011年7月に終了しました。 |
||||||
| 機能 | コンテンツを表示します。 ページナビゲーションも表示可能です。 スキン変数<%blog%>と引数が違いますので、注意してください。 |
||||||
| 特徴 |
|
||||||
| 動作環境 | 【必須】 ・NC 3.51以上 |
| memo: | |||||||
| 既知の問題 |
|
||||||
| ※ | ページ切り替えがコアでサポートされるまでの暫定版です。 |
| アイテムのリンクの仕様がはっきり決まっていません。 気に入らないリンク(URI)になってしまうかもしれません。 |
|
| NP_MultipleCategoriesと完全に連携しているわけではありません。 |
» 続きを読む
|
●アクセストレード お持ちのホームページ・メルマガで広告収入を得ることが出来ます。 |


