web関連tips備忘録

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

NP_TitleListプラグインのカスタマイズ


既存のNP_TitleListプラグインは、アイテム個別表示では使用できないので、アイテム個別表示でも使用できるようするには下記のようにします。

NP_TitleList.phpの111行目当たり

function doSkinVar内の
switch ($skinType) {
case 'index':

switch ($skinType) {
case 'index':
case 'item': ←追加
にします。

NuCleus 2005-06-17(金) 19:16:44 - kei - TrackBacks

NP_TitleListプラグインの使用方法


タイトル一覧を表示させたいスキンに下記の要領でパラメータを書きます。
<%TitleList%>
<%TitleList(,で区切ってオプションのパラメーターを記入)%>
例、 <%TitleList(itemlink,15,0,0,,ASC)%>
↑テンプレートitemlinkを使って、1ページ当たり15件を投稿日時が古い順にリストアップする。ページスイッチおよび選択フォームは表示しない。

スキンパラメーターの記述方法
<%TitleList(mode,template,amount,navitype,form,bmode,sort,monthlimit)%>

mode:アーカイブの表示のモードで、'month'で月単位、'day'で日単位になる。デフォルトは月単位。

template:プラグイン付属のテンプレート以外のテンプレートを使用する場合に、そのテンプレート名を書く。

amount:1ページあたりの初期表示数。デフォルトは50。

navitype;ページスイッチ(ページ切り替え用ナビゲーション)の表示形式
0 : ページスイッチを表示しない
1 : Prev/Nextのみ表示
2 : phpBB風。こんな感じ→Per page: | 1 . | 2. | 3. |・・・・次

form:カテゴリーやアーカイブ、並び順などの選択フォームを表示するかどうか。
0 : 表示しない
1 : 表示する(デフォルト)

bmode:複数のblogのアイテムを表示するためのパラメーター。
 省略:現在のblogのアイテムだけを表示する。
 "all":全てのblogのアイテムを表示。
 blogIDをスラッシュ区切りで書く:希望するlogのアイテムを表示したいとき。
 "<>blogID":表示させたくないblogID。複数ある場合はスラッシュ区切りで書く。

カテゴリーのセレクトフォームの選択肢をカテゴリーではなくブログにしたい場合は、このパラメーターの先頭に"bselect:"と付ける。

<%TitleList(grey/short,50,2,1,bselect:2/3,ASC)%>
<%TitleList(50,0,0,bselect:<>2/3,ASC)%>

sort:表示順。
 ASC : 日時昇順
 DESC : 日時降順(デフォルト)

monthlimit:表示対象とする月数。
 1年分を表示対象にしたい場合は12と書く。

参考:
作者(Taka)さんのページ
NuCleus 2005-06-17(金) 19:07:37 - kei - TrackBacks

管理画面から表示していたアイテムにジャンプさせたい


Nucleus管理画面からログアウトやサイトの確認を行ったときにログイン前に表示していたURLにジャンプさせる方法。

各アイテムの表示画面で、戻り先として自身のURLをクッキーに保存しておいて、管理画面のログアウトとサイトの確認のリンク先を保存しておいたURLに設定します。

設定手順

  • 各スキンの「メインの目次ページ」、「個別アイテムページ」の先頭(1行目)に以下を追記します。
    <%phpinclude(/blog/nucleus/modorisaki.php)%>
  • modorisaki.phpの内容を以下のようにします。
    setcookie("modorisaki",$_SERVER['REQUEST_URI'],null,"/");
    *modorisaki.phpの名前や保存するディレクトリーは任意です。
  • ADMIN.phpのカスタマイズ(行数はver3.21の場合)
    4530行目当たり、
    $baseUrl = htmlspecialchars($CONF['AdminURL']);の下に以下を挿入。
    if($_COOKIE['modorisaki'])
      $modorisaki = $_COOKIE['modorisaki'];
    else
      $modorisaki = $CONF['IndexURL'];

    4561行目当たりの
    ." - <a href='index.php?action=logout'>" . _LOGOUT. "</a>"

    ." - <a href='$modorisaki?action=logout'>" . _LOGOUT. "</a>"
    に、
    4566行目当たりの
    echo "<a href='".$CONF['IndexURL']."'>"._YOURSITE."</a>";

    echo "<a href='".$modorisaki."'>"._YOURSITE."</a>";
    に変更します。


NuCleus 2005-05-30(月) 08:40:30 - kei - TrackBacks

nucleusでphplibを利用したアクセス制限ページでのエラー解消方法


現象:
nucleus実験ページでphplibを利用したアクセス制限ページを実現できるか試したところ、認証を通過したページの最後に
「Table 'DB名.active_sessions' doesn't exist」というエラーが出ます。

対処方法:
nucleusとphplibが使用しているデーターべースが違うのが原因のようです。
ログインフォームで認証を通過してセッションを記録しようとactiv_sessionテーブルを呼びますが,認証を通過した時点でnucleusのデータベースに切り替わっているため、上記のエラーがでるものと思われます。

.htaccessで自動的に追加しているclose.incを呼ばないよにします。
例:file_name以外であればclose.incを追加します。
<FilesMatch "[^file_name]">
php_value auto_append_file "close.inc"
</FilesMatch>

上記の場合、phplibで呼び出すファイルが1つのため、close.incを追加しなくても問題ないですが、複数ページでは検証できていません。
phplibで呼び出すnucleusアイテムが複数の場合セッションデータが記録されないことを考えると???ですが、認証後、nucleusのアイテムからインクルードしたphplibのDBを操作しても正常に動作しています。

正しくは、phplibとnucleusのデーターベースを同じDBにする方が最善の策と思います。
NuCleus 2005-03-09(水) 07:40:21 - kei - TrackBacks

Nusleusの記事で→等が文字化けを起こす原因


使用している標準スタイルシートgrey.cssのbody部で
font-family: verdana, arial, sans-serif; と使用するフォントを限定しているのが原因。

//font-family: verdana, arial, sans-serif;
とコメントアウトすることにより、正常に表示できるようになります。
NuCleus 2005-02-18(金) 20:05:49 - kei - TrackBacks
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
LINK