質問箱/4418

カテゴリ
サマリHTMLソースで、メニューを本文の後に表示したい
バージョン1.4.7
投稿者メニューバー?
状態完了
投稿日2009-01-20 (火) 19:52:19

質問

長いメニューの場合、ソースでみると本文の前にずらーっとメニュー内容が表示されますが これ回避したいので本文をメニューの前に設置するようにします
するとどうしてもエラーが起きてしまいます そのような仕様なのでしょうか?
それともどこかミスをしているだけなのでしょうか?

<?php echo $body ?>

だけをメニューより前に移動した場合はエラーにはならないのですが、そこから下のbody内の要素(<?php } else { ?>以降からbodyのattaches終了ぐらいまで)を移動すると白地だけのエラーになってしまいます

回答

  • 動かそうとしたのは、次の部分
    <?php if (arg_check('read') && exist_plugin_convert('menu')) { ?>
    <table border="0" style="width:100%">
     <tr>
      <td class="menubar">
       <div id="menubar"><?php echo do_plugin_convert('menu') ?></div>
      </td>
      <td valign="top">
       <div id="body"><?php echo $body ?></div>
      </td>
     </tr>
    </table>
    <?php } else { ?>
    <div id="body"><?php echo $body ?></div>
    <?php } ?>
    の、<td valign="top"> より後ろ全部だったりしますか?(それどころか、さらに後ろのid="attach" のところまで?)
    一応ココの部分は条件分岐の括りになっていて、閲覧時は<?php if (長いので略) { ?> の次の行から<?php } else { ?> の手前の行まで(menu 込みの内容)を、
    それ以外(編集など)の時は、<?php } else { ?> の次の行から、<?php } ?> の前の行まで(body のみ)を出力しています。
    なので、if の前にelse が来るとPHP からそういう内容のエラーが出ます。*1 -- 2009-01-20 (火) 23:58:44
  • できました!細かい解説ありがとうございました!<?php } else { ?>からid="attach"のところまで一緒に移動してたのがダメだったようです。
    tableの中にtableを設置していたので、tableの外に出してはダメなのかと思って同じtable内に移動してました。
    色々と為になりました、今までなぜ?とおもってたのが理解できてよかったです。 -- メニューバー? 2009-01-21 (水) 14:42:27


*1 ただし、それを表示するかは設定しだいなので、このQ&A のA1を参考に
*2 すでに、そういう改造をしているスキンがあるかも

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-01-21 (水) 14:42:39
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u2. HTML convert time: 0.551 sec.

OSDN