We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21523
    • 5 Posts
    NewsListing で特定のフォルダ下にあるドキュメントの全文表示が出来ないか試していたのですが、summrizeと&truncLen のサイズを大きくしていくと、NewsListing を使っているページの表示がページテンプレートまんまで出力されたり、違うページに飛ばされたりして思うようにできません。

    最初は、NewsListing の制限かと、自分で
    // 子供ページ全文表示(孫ひ孫非対応)
    $docid = isset($docid) ? intval($docid):$modx->documentIdentifier;
    $ret='';
    // START
    $children = $modx->getActiveChildren($docid, 'id', 'ASC', 'longtitle, content');
    if(is_array($children) && !empty($children)){
      foreach($children as $ch){
        if(is_array($ch) && !empty($ch)){
          $ret .= '<h3>'.$ch['longtitle']."</h3>\n";
          
        }
        $ret .= $ch['content'];
        $ret .= "\n<hr />\n";
      }
    }
    return $ret;
    

    というような小さいスニペットを作って実験してみたたのですが、やはり同じような表示になってしまいます。

    スニペットの最後の行を
    return strlen($ret);

    に変更して実行すると返そうとしていたデータが10000文字を超えていることがわかりました。
    (表示するページ数を3ページくらいに抑えると5300文字ほどになり、正常に表示できました)
    もしかしてあまりに大きいサイズのデータをスニペットから返すことは出来ないのでしょうか?

    ただ、単純に10000文字のデータを返すだけのスニペットならばちゃんと結果出力されるので、単なるバイト数だけの問題でもなさそうですが、このあたりの制限についてご存知の方はいらっしゃいますか?
      • 21523
      • 5 Posts
      すみません、どうやら、表示しようとしてた子供の中にあった特定のドキュメントが原因のようです。

      全文表示しようとしたフォルダの下にUSerCommentスニペットが作ったコメントページが含まれていて、
      そのページを非公開にしたらうまくできました。

      投稿する前になんで気が付かなかったんだろう。