ページ 11

getChildIdsの使い方

Posted: 2013年6月12日(水) 20:23
by EdogawaYamama
フォルダ扱いにしているリソース(ID:5)以下のリソース数を表示させてみようと
echo count($modx->getChildIds(5));
としてみたのですが、イベントログに

PHP error debug
Error : Illegal offset type in isset or empty
ErrorType[num] : WARNING[2]
File : /var/www/html/manager/includes/document.parser.class.inc.php
Line : 2144
Source : if (isset($childrenList[$id]))

と記録され、画面には何も表示されない状態なのですが何か使用方法が間違っているのでしょうか?

-----
ご利用のサーバ:さくらVPS
MODXのバージョン:1.0.10J
PHPのバージョン:5.3.3
MySQLのバージョン:5.1.69
ブラウザ:Aurora(Firefox Alpha版)
-----

Re: getChildIdsの使い方

Posted: 2013年6月12日(水) 20:31
by yama
http://130612202403-25129.evo.demo.modx ... -help.html
http://130612202403-25129.evo.demo.modx.jp/manager/
上記で試してみましたが、デモ構成では正常に機能しているようです。リソース構成など詳しいことを教えていただいてよいでしょうか?

Re: getChildIdsの使い方

Posted: 2013年6月13日(木) 10:57
by EdogawaYamama
確かに問題なく動作していますね。
デモサイトの方と何が違うのか・・・と比較していて気がついたのですが、通常コンテナ化したリソースの詳細情報を表示すると「リソース一覧」「情報」「ソース」タブが表示されると思いますが、手元環境でgetChildIdsできなかったコンテナはそもそも詳細表示ができない(真っ白)という状態でした。
新しく作成したコンテナでは詳細表示が正しく表示されました。
違いがどこにあるのか、という根本原因までは追えてないのですが、詳細表示できないコンテナではPHPのエラーが出力されていましたので、以下に記しておきます。

PHP Fatal error: Call to undefined function mb_strlen() in /var/www/html/manager/actions/document_data.static.php on line 164, referer: http://localhost/manager/index.php?a=1&f=tree

Re: getChildIdsの使い方

Posted: 2013年6月13日(木) 11:12
by EdogawaYamama
連投失礼ます。
普通にmbstringが入っていませんでした。
が、MODxの動作環境にmbstringは入っていないのですね。
mbstringを入れること自体は問題ないのですが、動作環境の間違いなのか本来はmbstringなしでも動くものなのかは、ちょっと気になりました。