解析続き

少しずつバラして実行してみてるんだけど

<a href='?m=({$module_name})&amp;
a=page_({$hash_tbl->hash('update_c_free_page','page')})
&amp;c_free_page_id=({$item.c_free_page_id})'>編集</a></td><br>

このあたりが、どうもあやしいねぇ。
ここでエラーを吐き出して以降がひょうじされない模様。

()部分を個別に表示させてみっかーってことで、
・まず({$module_name})だけ表示。よし正常表示(値は表示されないけど)
・つぎに({$hash_tbl->hash('update_c_free_page','page')})・・・おっとエラー表示
・最後の({$item.c_free_page_id})・・・は確認するまでもないな、他の行で正常表示されてるし。


ってことで、({$hash_tbl->hash('update_c_free_page','page')})が原因だってことが分かりました。
問題はこれをどうやって正常表示させるかなんだけど・・・

hash()関数の異常なのか、update_c_free_pageがあやしいのか・・・

list_c_free_page解析その1

今回からようやく解析をはじめてみる。

まず最初に出てくる

({if $msg})
<p class="actionMsg">({$msg})</p>
({/if})

これは再読込の際に表示されるメッセージ読み込みっぽので無視しておk

あと中身は大きく分けて2箇所、

  1. フリーページがある時と無いときで違う処理をする場所、ある時にリスト表示し、ないときには表示しない
  2. 新規・追加フリーページ窓

んで、当然ちゃ当然だけど1.を消した場合、どちらも上下にヘッダフッダが表示されて、逆に2.を消すとフリーページの有無で表示が変わる。

さらに1.を細分化すると変数でのループ箇所が

({if $pager && $pager.total_num > 0})
({capture name="pager"})
({$pager.total_num}) 件中 ({$pager.start_num}) - ({$pager.end_num})件目を表示しています
({foreach from=$c_free_page_list item=item})
({if $pager && $pager.total_num > 0})

の3つぐらいに分かれる模様

とりあえずページ総数は読み込んでるっぽいがリストが表示されないのは配列が不具合を起こしていると予想。
となると({foreach from=$pager.disp_pages item=i})のあたりがあたしいねぇ。

ってことで上記の一番上だけを貼りつけて、上下のTemplateがくっついてくることを確認。
個々の部分は<前へ><次へ>って文字があるから、フリーページ総数が増えすぎた場合のページ単位でリスト表示する場所っぽい

さて会社行く支度すっか。・・・OLさんが出社前にやるこっちゃないなぁw

あれ?日記追記したはずが

・・・まぁいい(某ゲーム、ルシフェル風)

思いついたことがあって、ようするに表示が変化するのは({if})がらみでsmartry内の値が変化するからである。
ってことは、その部分をつけたりはずしたりして動作を確認してみればいいのだな。

ついでに変数周りいじるか、整理の意味もj兼ねて日記で分析してみっかなぁ。