Smartyによるツリー配列処理

昨日問題に遭遇しました。 私のような配列があります:

1 =>配列(
「タイトル」=>「タイトル1」、
'sub' =>配列(
2 =>配列(
'title' => title 2 '、
'sub' =>配列(
3 =>配列(
「タイトル」=>「タイトル3」




);

スマートなツールで処理しても何も判明しませんでした-関数内の無限ループをサポートしていません。 PHPレベルでは、これは問題ではありません。1つの出力関数を介して配列全体を実行するだけで、サブ要素が見つかったら、サブ要素の配列だけで、さらに類推して同じ関数を再度呼び出します。

たぶん誰かがスマートを使用してそのようなツリー配列の出力を実装しましたか? :)

更新:フォーラムで見つけたオプションを確認します。


別のツリーテンプレートを使用して行われます。

{if $ tree}
{foreach from = $ tree item = "item"}
{$アイテム}
{if $ item.subtree}
{include file = "tree.tpl" tree = $ item.subcategories}
{/ if}
{/ foreach}
{/ if}

メインテンプレートは次のように呼び出されます。
{include file = "tree.tpl" tree = $ tree}

$ tree-これはツリー構造を持つ配列です。

ここから取られた

Source: https://habr.com/ru/post/J9375/


All Articles