<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
      <!ENTITY lt "&#38;#60;">
      <!ENTITY gt "&#62;">
      <!ENTITY amp "&#38;#38;">
      <!ENTITY apos "&#39;">
      <!ENTITY quot "&#34;">
      <!ENTITY nbsp "&#160;">
      <!ENTITY copy "&#169;">
]>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">ブログ</title>
    <subtitle type="text">XCL Labo-XCL の利用とカスタマイズに関する備忘録</subtitle>
    <updated>2026-04-19T05:50:05+09:00</updated>
    <id>https://xcl.masa-lab.net/modules/d3blog/index.php</id>
    <link rel="alternate" type="text/xhtml" hreflang="ja" href="https://xcl.masa-lab.net/" />
    <link rel="self" type="application/atom+xml" href="https://xcl.masa-lab.net/modules/d3blog/index.php?page=atom" />
    <rights>Copyright &copy; 2008-2018 by MASA Lab.</rights>
    <generator uri="https://xcl.masa-lab.net/">D3BLOG - XOOPS BLOG MODULE</generator>
    <entry>
        <title>d3pipes で facebook の json形式の更新情報を取得</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=227" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=227</id>
        <published>2016-01-08T22:20:00+09:00</published>
        <updated>2016-01-22T15:56:35+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">d3pipes で facebook の rss を取得していたのだが、去年の夏くらいから facebook から rss を取得することができなくなっていた。graph API から json で取得することができるようなので、d3pipes でや...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><a href="http://xcl.masa-lab.net/modules/d3blog/details.php?bid=207" >d3pipes で facebook の rss を取得</a>していたのだが、<br />去年の夏くらいから facebook から rss を取得することができなくなっていた。<br />graph API から json で取得することができるようなので、d3pipes でやってみようと...<br /><br />まずは facebook から json で取得しなければならないが、以下のような手順が必要な模様。<br /><br />(1)developer登録する<br />(2)新規アプリ作成して App Token を取得する<br />(AppToken は Tools&amp;Support の AccessTokenTool で得られる)<br /><br />その上で<br /><pre class="blogCode"><code>
https://graph.facebook.com/{facebook_page_id}/feed?access_token={access_token}
</code></pre><br />から json 形式でデータが取得できる<br /><br />(facebook_page_id はGraphAPIExplorer などから取得できる)<br /><pre class="blogCode"><code>
search?q=XXXXXXXX&amp;type=user
</code></pre><br /><br /><br />さて、ここからが本題<br />上記 URL で JSON は取得できるので d3pipes の一段目は 「URL fopenによる取得」で上記URLを指定すればよい。<br />ちなみに 「Snoopyによる取得(推奨)」では動作しなかった。<br /><br />問題はパース部分で、これはないので作るしかなさそう。<br />見よう見まねでちゃちゃっと作ってみる<br /><pre class="blogCode"><code>
&lt;?php

require_once dirname(dirname(__FILE__)).&#039;/D3pipesParseAbstract.class.php&#039; ;

class D3pipesParseFacebookjson extends D3pipesParseAbstract {

    function execute( $json_source , $max_entries = &#039;&#039; )
    {
        $items = array() ;

        $result = json_decode($json_source, true);
        if( ! $result ) {
            $this-&gt;errors[] = &#039;Invalid JSON data for this Parser&#039;.&quot;\n($this-&gt;pipe_id)&quot; ;
        }

        foreach( $result[&quot;data&quot;] as $entry ) {
            $message = $entry[&#039;message&#039;];
            $link = $this-&gt;resolveLink($entry[&#039;id&#039;]);
            $created = new DateTime($entry[&#039;created_time&#039;]);
            $items[] = array(
                &#039;headline&#039; =&gt; $message ,
                &#039;pubtime&#039; =&gt; $created-&gt;getTimestamp(),
                &#039;link&#039; =&gt; $link ,
                &#039;description&#039; =&gt; $message,
                &#039;fingerprint&#039; =&gt; md5( $message ) ,
            ) ;
        }

        return $items ;
    }

    function resolveLink( $id )
    {
        $r = explode(&#039;_&#039;, $id);
        
        return &#039;https://www.facebook.com/permalink.php?story_fbid=&#039; . $r[1] . &#039;&amp;id=&#039; . $r[0];
    }

    function renderOptions( $index , $current_value = null )
    {
        return &#039;&#039; ;
    }
}

?&gt;
</code></pre><br /><br />これを D3pipesParseFacebookjson.class.php という名前で joints/parse/ の下に作成する。<br /><br />これで パイプ編集画面の XML解析の部分に facebookjson というジョイント(?)が出てくるので、2段目として選択。<br /><br />あとは<a href="http://xcl.masa-lab.net/modules/d3blog/details.php?bid=207" >前回の記事</a>に使ったジョイントを組み合わせれば完成！！<br /><br />めでたく facebook の 更新情報を表示することができた。<br />d3pipes 最強である。</div>]]>
       </content>
    </entry>
    <entry>
        <title>xpressme の「最近の投稿一覧」に画像を...</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=206" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=206</id>
        <published>2014-05-11T22:00:00+09:00</published>
        <updated>2014-05-27T12:49:31+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">
xpressme の「最近の投稿一覧」にアイキャッチ画像を表示させてみる。
</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><p>
xpressme の「最近の投稿一覧」にアイキャッチ画像を表示させてみる。
</p>
<p>
XOOPS の慣例通り、「最近の投稿一覧」ブロックはテンプレートとコードによって構成されていて、<br />
テンプレートは xpressme_recent_posts_list_block.html <br />
コードは blocks/recent_posts_list_block.php <br />
となっている。<br />
</p>
<p>
テンプレートには使用できる変数名がコメントとして書かれているが、残念ながらアイキャッチ画像は存在しない。<br />
通常であれば、コードである blocks/recent_posts_list_block.php にコードを追加するところであるが、xpressme の場合実際のコードは wordpress の ものがそのまま使われるため、ここにはブロックを中継するためのコードしか存在しない。<br />
</p>

<p>
wordpress 側の投稿一覧のテンプレートファイルは recent_posts_list_block_theme.php である。<br />
ここに PHP のコードが書かれているので、好きなように編集すればよい。<br />
(ファイルシステムから編集する場合、wordpress のテンプレートは wp-content/themes/テーマ/blocks/ の下にある。)<br />
</p>

<p>
PHP が分かればなんとなくわかるはずだが、コンテンツごとの変数は以下のようなループ中で設定されている。
</p>
<pre class="blogCode"><code>
while($r-&gt;have_posts()){
...
}
</code></pre>

<p>
まず、このループ中に以下のようなコードを追加する。
</p>
<pre class="blogCode"><code>
ob_start();
the_post_thumbnail(&#039;thumbnail&#039;);
$thumbnail = ob_get_contents();
ob_end_clean();
</code></pre>

<p>
次に、以下のデータを設定している部分を探し出し
</p>
<pre class="blogCode"><code>
$row_data = array(
...
)
</code></pre>
<p>
以下のように、先ほど取得した変数を追加すれば、wordpress 側でのテンプレートの編集は完了だ。
</p>
<pre class="blogCode"><code>
&#039;post_tumbnail&#039; =&gt; $thumbnail,
</code></pre>

<p>
あとは xpressme のテンプレート「xpressme_recent_posts_list_block.html」の適当な場所に、以下のようなコードを追加してやれば良い。
</p>
<pre class="blogCode"><code>
{$content.post_thumbnail}&gt;
</code></pre>

<p>
意外に簡単で良かった！
</p>

<h4>[参考サイト]</h4>
<p>
<a href="http://presentnote.com/showed-eye-catch/" target="_blank">WordPressの記事一覧にアイキャッチを表示させてみた</a><br />

</p></div>]]>
       </content>
    </entry>
    <entry>
        <title>d3pipes で facebook の rss を</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=207" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=207</id>
        <published>2014-05-06T21:50:00+09:00</published>
        <updated>2016-01-08T17:00:20+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">
facebook の RSS を取得して d3pipes で表示したかった。
RSS の取得については検索して見つけることができたが、若干問題が...
</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><p>
facebook の RSS を取得して d3pipes で表示したかった。<br />
RSS の取得については検索して見つけることができたが、若干問題が...<br />
</p>
<p>
問題は主にタイトルについて...<br />
facebook にはタイトルという概念がないので、タイトル部分には本文の先頭部分が設定されている。<br />
しかし、これが長い...<br />
さらには文字化けしてしまう。
</p>

<pre class="blogCode"><code>
&lt;title&gt;&lt;![CDATA[ ... ]]&gt;&lt;/title&gt;
&lt;link&gt;&lt;/link&gt;
&lt;description&gt;&lt;![CDATA[...]]&gt;&lt;/description&gt;
</code></pre>
<p>
title 部分はHTMLエンティティとして ＆＃x でエンコードされている。<br />
このため HTML表示許可にしないと、そのまま表示されてしまう。<br />
</p>

<h3>d3pipes による解決</h3>
<p>
d3pipes には 「誤ったHTMLエンティティのデコード」というジョイントがある。<br />
これは html_entity_decode をしてくれるらしい。<br />
これを使えばうまくいくのでは？と思ったのだが、うまくいかない。<br />
</p>

<h3>カスタムジョイントによる解決</h3>
<p>
「誤ったHTMLエンティティのデコード」は joints/reassign/D3pipesReassignHtmlentitydecode.class.php である。<br />
これを開いてみると以下のように書かれている。
</p>
<pre class="blogCode"><code>
$entry[&#039;headline&#039;] = html_entity_decode( @$entry[&#039;headline&#039;], EN_QUOTES);
</code></pre>
<p>
PHP5.3.3未満ではデフォルトのエンコーディングがISO-8859-1 であるためと考え、エンコーディング指定をしてみるとばっちり動作してくれた！<br />
これに気分を良くして、ついでに facebook 用のジョイントにしてみることに...
</p>
<p>
D3pipesReassignHtmlentitydecode.class.php を元にして、下記のような修正を加え、D3pipesReassignFacebookrss.class.php として保存。<br />
(クラス名も D3pipesReassignFacebookrss に変更！)
</p>
<pre class="blogCode"><code>
$headlines = explode(&quot;\n&quot;, html_entity_decode( @$entry[&#039;headline&#039;], EN_QUOTES, &quot;UTF-8&quot;), 2);
$entry[&#039;headline&#039;] = $headlines[0];
</code></pre>

<p>
これで本文の1行目だけを headline に設定することができた！<br />
満足
</p>

<br />
<h4>[追記]</h4>
<p>
その後、facebook の仕様が変わり rss を取得できなくなってしまった。<br />
graph API を使った json データからの取得については<br />
<a href="http://xcl.masa-lab.net/modules/d3blog/details.php?bid=227" >d3pipes で facebook の json形式の更新情報を取得</a><br />
を参照
</p></div>]]>
       </content>
    </entry>
    <entry>
        <title>xpressme でパンくずの表示を変える</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=200" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=200</id>
        <published>2014-03-19T22:20:00+09:00</published>
        <updated>2014-04-18T20:58:20+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">
xpressme は wordpress を xoops に統合できる便利なモジュールだが、パンくずリストの表示がちょっと気になる。
これをなんとかしたい！！！
</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><p>
xpressme は wordpress を xoops に統合できる便利なモジュールだが、パンくずリストの表示がちょっと気になる。<br />
これをなんとかしたい！！！
</p>
<p>
標準のテーマを使うとパンくずリストには以下のように表示される。
</p>
<pre class="blogCode"><code>
「xoopsモジュール名」≫「wpサイトタイトル」
</code></pre>
<p>
また、記事ひとつを表示させると、以下のようになる。
</p>
<pre class="blogCode"><code>
「xoopsモジュール名」≫「wpサイトタイトル」≫ブログアーカイブ≫「記事タイトル」
</code></pre>

<p>
個人的には xoopsモジュール名とwpサイトタイトルとが表示されるのは、冗長に感じた。<br />
また xpressme で固定ページを使わない場合には、「ブログアーカイブ」という表示も邪魔な感じ...<br />
これらを変更するには header.php のテンプレートを修正。
</p>

<pre class="blogCode"><code>
&lt;title&gt;&lt;?php /*bloginfo(&#039;name&#039;);*/
/*if ( is_single() ) {
        _e(&#039;&amp;amp;raquo; Blog Archive&#039;, &#039;xpress&#039;);
}*/
wp_title(&#039; &#039;); ?&gt;&lt;/title&gt;
</code></pre>
<p>
wordpress に慣れていないので、こんな事でもえらく苦労してしまった...<br />
</p></div>]]>
       </content>
    </entry>
    <entry>
        <title>CoreServer で ls も使えない</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=197" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=197</id>
        <published>2014-03-02T23:30:00+09:00</published>
        <updated>2014-04-18T20:47:58+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">久々に CoreServer に新しいホストを借りて、SSHでつないで設定しようとしたら
-rbash: /bin/ls: restricted: cannot specify `/&#039; in command names
と来たもんだ！</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>久々に CoreServer に新しいホストを借りて、SSHでつないで設定しようとしたら<br /><pre class="blogCode"><code>
-rbash: /bin/ls: restricted: cannot specify `/&#039; in command names
</code></pre><br />と来たもんだ！<br />えー、と思って調べてみると chsh でシェルを変えなければいけないらしい。<br /><br /><pre class="blogCode"><code>
% chsh
Changing login shell for ******.
Password: 
Enter the new value, or press return for the default.
	Login Shell [/bin/rbash]: /bin/bash
Shell changed.
</code></pre><br /><br />前からこうだったっけ？</div>]]>
       </content>
    </entry>
    <entry>
        <title>XCL 2.2.0 -&gt; 2.2.1 バージョンアップ手順</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=181" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=181</id>
        <published>2012-10-14T19:50:00+09:00</published>
        <updated>2014-05-13T19:07:01+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">XCL 2.2.0 から 2.2.1 にバージョンアップしたので、手順を記録しておく。■ファイルの展開・XCL 2.2.1 を適当な場所で解凍する。% unzip Package_Legacy_2_2_1.zip・上書きしたくない不要なファイルを...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>XCL 2.2.0 から 2.2.1 にバージョンアップしたので、手順を記録しておく。<br /><br />■ファイルの展開<br /><br />・XCL 2.2.1 を適当な場所で解凍する。<br /><br />% unzip Package_Legacy_2_2_1.zip<br /><br />・上書きしたくない不要なファイルを削除する<br /><br />% cd xoopscube-legacy-99a75d3<br />% cd html<br />% rm mainfile.php favicon.php<br />% rm -r install uploads<br />% cd ../xoops_trust_path<br />% rm -r templates_c cache<br />% cd ..<br />xoops_trust_path/settings/site_default.ini をいじっている場合は、それも削除した方が良いかもしれない。<br /><br />・言語ファイルをコピーする<br /><br />% (cd extras/extra_languages/ja_utf8/; tar -cf - language modules) | (cd html; tar -xf -)<br /><br />・適宜 extra_modules をコピーする (以下は altsys の例)<br /><br />% (cd extras/extra_modules/html/; tar -cf - modules/altsys) | (cd html/; tar -xf -)<br />% (cd extras/extra_modules/xoops_trust_path/; tar -cf - libs/altsys) | (cd xoops_trust_path/; tar -xf -)<br /><br /><br />・ファイルを上書きコピーする<br /><br />% (cd html; tar -cf - .) | (cd ターゲットhtmlディレクトリ; tar -xf -)<br />% (cd xoops_trust_path; tar -cf - .) | (cd ターゲットtrustディレクトリ; tar -xf -)<br /><br />■管理画面からモジュールをアップデートする<br />互換モジュール<br />ユーザー管理<br />互換レンダーシステム<br />標準キャッシュモジュール<br />プロフィールモジュール<br /><br /><br />管理モジュールのコメントの管理の削除フラグが正しく動作しない件は、相変わらず直っていないかもしれない？<br /><br /><span style="font-size: large;">関連記事</span><br /><a href="http://xcl.masa-lab.net/modules/d3blog/details.php?bid=180" target="_blank">xcl 2.2.0 コメントの管理のjavascript</a></div>]]>
       </content>
    </entry>
    <entry>
        <title>xrea 無料から移行したときの注意点</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=173" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=173</id>
        <published>2011-10-06T16:56:02+09:00</published>
        <updated>2011-10-06T16:56:02+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">毎回はまってしまうので、ここに書いておく。http://xcl.masa-lab.net/modules/pico/index.php?content_id=19に書いてあるように、無料xrea を使っているときには.htaccessに
LayoutIgnoreURI *
を記述しているの...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>毎回はまってしまうので、ここに書いておく。<br /><br /><a href="http://xcl.masa-lab.net/modules/pico/index.php?content_id=19" rel="external">http://xcl.masa-lab.net/modules/pico/index.php?content_id=19</a><br />に書いてあるように、無料xrea を使っているときには<br />.htaccessに<br /><pre class="blogCode"><code>
LayoutIgnoreURI *
</code></pre><br />を記述しているのだが、<br />これを書いたままだと coreserver などに移行した場合に<br /><pre class="blogCode"><code>
500 Internal Error
</code></pre><br />になってしまう。<br />何も変更せずにサーバを移行したときに、500 エラーが出る場合<br />.htaccess<br />の中身を確認してみるといい。</div>]]>
       </content>
    </entry>
    <entry>
        <title>UTF-8変換時の問題 (d3forum)</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=171" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=171</id>
        <published>2011-05-21T23:00:00+09:00</published>
        <updated>2011-08-10T18:57:54+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">EUCからUTF-8へ変換したサイトの pico で以下のワーニングが発生した。
Warning: array_reverse() [function.array-reverse]: The argument should be an array
 in /.../modules/d3forum/include/process_this_category.inc.php on line 51...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>EUCからUTF-8へ変換したサイトの pico で以下のワーニングが発生した。<br /><br /><pre class="blogCode"><code>
Warning: array_reverse() [function.array-reverse]: The argument should be an array
 in /.../modules/d3forum/include/process_this_category.inc.php on line 51
 
Warning: Invalid argument supplied for foreach()
 in /.../modules/d3forum/include/process_this_category.inc.php on line 51
</code></pre><br />d3forum のコメントを表示している部分のようだ。<br />ソースで確認すると<br />xxx_d3forum_categories テーブルの cat_path_in_tree<br />をシリアライズした結果が正しく配列になっていないということのようだ...<br /><br />シリアライズされた文字列は<br /><pre class="blogCode"><code>
a:1:{i:1;s:16:&quot;ゲスト用カテゴリ&quot;;}
</code></pre><br />のようになっており、文字列のバイト長がEUCとUTF-8では異なるからだと思われる。<br /><br />管理画面からd3forumのカテゴリー権限を開き、カテゴリの「編集」で開かれたカテゴリ管理画面から、そのまま「送信」で更新することで直った。<br /><br />シリアライズされた文字列は<br /><pre class="blogCode"><code>
a:1:{i:1;s:24:&quot;ゲスト用カテゴリ&quot;;}
</code></pre><br />のようになった。<br /><br /><br />シリアライズに起因する同様の問題では d3download の一般設定にもあるかも...<br />これも一般設定を開いて保存し直す。<br />この場合、以前の設定値が失われている(表示されない)かもしれない。<br />今回の場合「サイトへのダイレクトリンク」の内容が空になっていた。<br />日本語ではなかったのだが...<br /><br /><br />それにしてもPHPデバッグOFFなのにワーニングが表示されるのはなぜだろう？<br />あー、何かこの問題は前にもあったような気がする...</div>]]>
       </content>
    </entry>
    <entry>
        <title>euc から utf-8 への変更(cont)</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=162" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=162</id>
        <published>2011-03-06T00:50:00+09:00</published>
        <updated>2011-04-20T11:43:52+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">■eucからutf-8 へ移行したときに必要なこと言語定数を変更していた場合、そのままでは言語定数が表示されない。altsys で言語定数を見てみると「消えている！」と叫ぶのは焦りすぎ...同...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>■eucからutf-8 へ移行したときに必要なこと<br /><br />言語定数を変更していた場合、そのままでは言語定数が表示されない。<br /><br />altsys で言語定数を見てみると「消えている！」と叫ぶのは焦りすぎ...<br />同じ日本語といっても、altsys からすれば japanese と ja_utf8 ではまったく違う言語なのだから当然だ。<br />言語を japanese に切換えてみれば、以前に設定した値が表示されるだろう。<br /><br />ここで一生懸命手でコピーするのは耐えられないので、DB上から作業することにしよう。<br />SQLで<br /><pre class="blogCode"><code>
update `XXXX_altsys_language_constants` set language=&#039;ja_utf8&#039; WHERE language=&#039;japanese&#039;
</code></pre><br />のようにすれば、一発で設定を移動することができる。<br /><br />あとは、言語キャッシュを作成してもらうために「更新」ボタンを押しまくればOK</div>]]>
       </content>
    </entry>
    <entry>
        <title>pico wrapsモード と apache の alias に注意!</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=152" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=152</id>
        <published>2010-07-28T18:24:34+09:00</published>
        <updated>2010-07-28T18:24:34+09:00</updated>
        <category term="お決まりのパターン" label="お決まりのパターン" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">mod_rewrite でいつもつまずいて忘れてしまうのでメモメモ...開発環境などで apache の alias を使ってサイトを構築している場合pico で wraps モードを使おうとして設定しても正しく表示されない...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>mod_rewrite でいつもつまずいて忘れてしまうのでメモメモ...<br /><br />開発環境などで apache の alias を使ってサイトを構築している場合<br />pico で wraps モードを使おうとして設定しても正しく表示されない。<br /><br />これの原因は mod_rewrite にある。<br /><br />pico の wraps モードをONにしてmod_rewrite を有効にする。<br />このとき pico の .htaccess を .htaccess_rewrite_wraps の内容に設定するのだが、これだけだと base が違うので、ファイルが見つかりませんとなってしまうのだ。<br /><br />仕方がないので .htaccess に RewriteBase を追加する。<br /><br />たとえば<br />DocumentRoot が /var/www<br />Alias に /vvlab /home/user/www/vvlab<br />となっている場合、<br />RewriteBase がないと<br />/var/www/home/user/www/vvlab/.... へ INTERNAL REDIRECT されてしまうため、ファイルが見つかりませんとなる。<br />このときエラーログには /var/www/home がない！と書かれている。<br />(もちろんそんなパスはない)<br /><br />そこで RewriteBase を設定する<br />RewriteBase /home/user/www/vvlab/modules/pico<br /><br />これでめでたくうまく行く<br />でもこれはこれでポーティングするときに困るんだけどね...</div>]]>
       </content>
    </entry>
</feed>