1

私はこの PHPWord ライブラリを初めて使用しますが、今のところ気に入っています。

誰かがこれを理解するのを手伝ってくれたり、これが可能かどうかを確認してくれたりしたら、とても感謝しています.

ページに表示する順序でセクションを作成する必要があるようですが、順序を変更する方法、またはさらに良いことに、それらを互いにネストする方法を探しています。

$pSectionPointer = $oPHPWord->addSection();
$pAnotherSectionPointer = $oPHPWord->addSection();
$pFirstSectionPointer = $oPHPWord->addSection();

それらは、作成した順序でドキュメントに表示されます。これは、場合によっては問題ありませんが、コードの後半で、コード内の新しいデータに基づいてセクションの順序を変更したい場合と変更したくない場合があります。$pFirstSectionPointerだから、 to を の前に移動したい$pSectionPointer

これどうやってするの?

APIで提供されているセッターを使用してセクションのelementIdおよびその他のプロパティを設定/変更して順序を変更しようとしましたが、各メソッドの説明がなく、やりたいことを実行していないようです。

4

2 に答える 2

2

PhpWordコードを少し調べた後、これら(ネストまたは並べ替え)のどちらも可能ではないようです.セクションはメインレベルでのみ許可され(別のセクション内では許可されません)、ライブラリはセクションの順序を変更する方法を提供しません(結果のセクションの順序は、新しいセクションが追加される $sections 配列に基づいているように見えます - addSection 関数呼び出し時に - PhpWord.php で、その配列は API 呼び出しを介して変更することはできません)。

セクションの並べ替えの可能性が本当に必要な場合は、必要な関数を使用して PhpWord.php ファイルを自分で少し変更してみてください。単純なコンテンツと単純な関数を使用して、既存のセクションを元に戻すだけですぐにテストしました。配列。これらを使用すると、セクションの順序が逆になった結果ドキュメントを問題なく取得できました...

于 2015-05-20T15:45:33.830 に答える