ページURLを静的URLにする

picoではディフォルトではページURLが、index.php?content_id=xxになっている。これを静的URLにしたい場合は、「一般設定」の「mod_rewriteモードを有効にする」を「はい」にする。またその後、XOOPS_ROOT_PATH/modules/(dirname)/ 下にある.htaccess.rewrite_normalを.htaccessにリネーム(オリジナルファイル残しておいた方がいいのでコピーがいいかも)する。

cp .htaccess.rewrite_normal .htaccess

mod_rewriteモードが有効の時、印刷画面へのリンクが「404 Not Found」になる

これは印刷画面のリンクのURLが「&page=print」になっているため起こる。これを「?page=print」に直してやればよい。修正するテンプレートは「pico_main_viewcontent.html」。

修正前

<!-- print icon -->
<{if $mod_config.show_printicon}>
 	<div class="pico_print_icon"><a href="<{$mod_url}>/<{$content.link}><{if $mod_config.use_wraps_mode}>?<{else}>&amp;<{/if}>page=print"><img src="<{$mod_imageurl}>/icon_print.gif" border="0" alt="<{$smarty.const._MD_PICO_LINK_PRINTERFRIENDLY}>" /></a></div>
<{/if}>

修正後

<!-- print icon -->
<{if $mod_config.show_printicon}>
 	<div class="pico_print_icon"><a href="<{$mod_url}>/<{$content.link}><{if $mod_config.use_wraps_mode || $mod_config.use_rewrite}>?<{else}>&amp;<{/if}>page=print"><img src="<{$mod_imageurl}>/icon_print.gif" border="0" alt="<{$smarty.const._MD_PICO_LINK_PRINTERFRIENDLY}>" /></a></div>
<{/if}>

なお、これはpico-1.62以降では修正されている。

picoにxpWikiレンダラー機能を適応する

picoのエディタでxpWiki書式が使えるようにするには、「XOOPS_TRUST_PATH」/modules/pico/filtesに、次のフィルターを保存する。

  • pico_xpWiki.php
<?php
 
define('_MD_PICO_FILTERS_XPWIKIINITWEIGHT',15);

function pico_xpwiki( $mydirname , $text , $content_row )
{
   @ include_once XOOPS_TRUST_PATH."/modules/xpwiki/include.php";

   if( ! class_exists( 'XpWiki' ) ) die( 'xpWiki is not installed correctly' ) ;

    // Get instance. option is xpWiki module's directory name.
   // 引数は、xpWikiをインストールしたディレクトリ名です。
    $wiki =& XpWiki::getSingleton( 'xpwiki' );
   
   // xpWiki の動作を決定する設定値を変更できます。
   // $wiki->setIniConst( '[KEY]' , '[VALUE]' ); // $wiki->root->[KEY] = [VALUE];
   // $wiki->setIniRoot( '[KEY]' , '[VALUE]' );  // $wiki->cont->[KEY] = [VALUE];
   
   // ex, 改行を有効にする
   $wiki->setIniRoot( 'line_break' , 1 );
   // ex. レンダリングキャッシュをする
   $wiki->setIniRoot( 'render_use_cache' , 1 );
   // ex. レンダリングキャッシュの有効期限は新たにページが作成されるまで
   $wiki->setIniRoot( 'render_cache_min' , 0 ); // キャッシュ有効時間(分)
   // ex. 外部リンクの target 属性 '_blank'
   $wiki->setIniRoot( 'link_target' , '_blank' );

   
   // 第二引数は、xpWikiのCSSを適用するためのDIVクラス名
   // 通常インストールしたディレクトリ名です。
   // CSS を適用しない場合は空白 '' でOK。
   return $wiki->transform( $text , 'xpwiki' );
}

?>

フィルターがうまく設定できていれば、picoの編集画面の本文フィルターに「xpWiki」が追加されているハズ。なおこのフィルターは他のフィルターとは共存できないので他のフィルターのチェックは外しておく(picoの「一般設定」の「デフォルトフィルターセット」でxpWikiのみ設定しておいた方が使いやすい)。
なおxpWikiレンダラーを使うときは、「本文編集エディタ」の設定を「xoopsdhtml」にしておく。FCKEditorでは使えない。