以前私も同じような事で悩んで調べた事が有ります。
どこからどこまでわからないかが不明確で、
情報が足りていない気がしますが、わからなそうな所を順を追って説明します。
間違っていたらすみません。
まず、Undefined offset: 1 についてですが、
function.form_name.php内の31行目には
if ($smarty->_tag_stack[$i][0] === 'form') {
こう書いてあるかなと思います。
違ったらすみません。
ここに関して、「1」がundefined、定義されていないというエラーメッセージなので、恐らく「$i」に1が入って来ているのではと思っています。その場合$smarty->_tag_stack[1][0] が定義されていない。値が無いということになります。
ではなぜこういう事が起きるのかという話をしますと
このファイル自体は、ethnaのform action定義に従って、smartyでtemplateに出力する動作を行うものです。
で、恐らくtemplate内で、この記述を使って、項目名を取得する事をしていませんか?
{form_name name="hogehoge"}
この表記は、ethnaの公式にもあるように
入力{form_name name="text" action="foo"}
とするのが正式です。
name: フォーム名(連想配列$formのキー)を指定します。(必須)
action: フォーム定義を取得するアクションを指定します。
省略時の動作についてはフォームヘルパを参照してください。
ちなみに省略したときは、ethnaのformで指定したactionが使われるのですが、
エラーの原因はここのactionが定義されていないことによるものだと私は考えています。
省略時の動作も保証しているのにエラーが出る点に関しては、
ethnaのバグと言えばバグかなあと思っていますが、
私もこれ以上は更にcoreな部分になりそうな気がしましたし、
改修が容易では無さそうでしたので、この記述を使う事を一旦見送りまして、
直接記述する事にしました。。。
これでエラーは出る事は無くなりました。
独自調査ですので、間違ってる部分もあるかもしれません。
参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。