테스트 사이트 - 개발 중인 베타 버전입니다

json으로 메뉴만들기 채택완료

bonobono 7년 전 조회 4,726

json으로 nav를 만들어 보려고 했는데 쉽지가않아 질문합니다..

 

file.json

</p>

<p>{

    "menu":{

        "LG소개":[

            {"비전":"/a1.html"},

            {"계열사":"/a2.html"},

            {"연혁":"/a3.html"}

        ],

        "INNOVATION":[

            {"INNOVATION":"/b1.html"}

        ],

        "홍보센터":[

            {"영상뉴스":"/c1.html"},

            {"인쇄광고":"/c2.html"},

            {"홍보영상":"/c3.html"},

            {"TV광고":"/c4.html"}

        ]

    }

}</p>

<p>

 

위 json 으로 아래 html 구조를 만드려고 합니다.

 

</p>

<p><body>

    <?php

        $jsonFile = file_get_contents('file.json');

        $json = json_decode($jsonFile,true);

    ?>

    <ul>

        

        <li>

            <a href="/a1.html" class="subject">LG소개</a>

            <ul class="sub_mn">

                <li><a href="/a1.html">비전</a></li>

                <li><a href="/a2.html">계열사</a></li>

                <li><a href="/a3.html">연혁</a></li>

            </ul>

        </li>

        

        <li>

            <a href="/b1.html" class="subject">INNOVATION</a>

            <ul class="sub_mn">

                <li><a href="/b1.html">INNOVATION</a></li>

            </ul>

        </li>

        

        <li>

            <a href="/c1.html" class="subject">홍보센터</a>

            <ul class="sub_mn">

                <li><a href="/c1.html">영상뉴스</a></li>

                <li><a href="/c2.html">인쇄광고</a></li>

                <li><a href="/c3.html">홍보영상</a></li>

                <li><a href="/c4.html">TV광고</a></li>

            </ul>

        </li>

        <?php</p>

<p>            //ex

            foreach($json['menu'] as $key => $value ){

                echo '<li>...</li>';

            }

        ?>

    </ul>

</body></p>

<p>

 

.subject 의 href값은 [ .sub_mn li:first-child a ]의 href 값입니다.  << 여기서 잘 안되네요,,

 

foreach문안에 foreach문안에 foreach문(?) 넣다가 뭔가 아니다 싶어 질문합니다

도움부탁드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

</p>

<p>echo "<ul>";

foreach($json['menu'] as $key => $value) {

    echo "<li><a href='".array_values($value[0])[0]."' class='subject'>".$key."</a><ul class='sub_mn'>";

    foreach($value as $k => $v) {

        echo "<li><a href='".array_values($v)[0]."'>".array_keys($v)[0]."</a></li>";

    }

    echo "</ul></li>";

}

echo "</ul>";</p>

<p>

http://jjiniyam.cafe24.com/temp/wrid_267990.php

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

b
bonobono
7년 전
와 대단하시네요 반 포기하고 그누보드 메뉴배열로 짜고있었는데,,

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인