Magentoモジュール内でブロックを読み込もうとしたときに、予期しない問題が見つかりました。ブロック名は*Mycompany_CustomerModule_Block_CustomerModuleDashboardDataBlock*でした(はい、名前は非常に長いですが、dashboard.htmlとMagento Coreで使用されるものとの混同を避けるために、モジュールに関連するすべてのブロックにモジュール名を追加しました)。問題は、そのようなブロックをロードしようとすると、次のコマンドを使用することです。
$this->getLayout()->createBlock('customermodule/customermoduledashboarddatablock')
Magentoは「無効なブロックタイプ」という例外を発生させます。完全に機能するブロックからファイル全体をコピーしたため、何が問題なのか理解できませんでした。次に、ブロックの名前を、DashboardDataBlockなどの短い名前に変更してみました。短い名前の場合、ブロックは正しくロードされます。
したがって、私の質問は、クラスの名前の長さに制限はありますか?クラス名はいつでも短縮できますが、今後同様の問題が発生しないように、制限があるかどうかを知りたいと思います。ありがとう。