Приветствую! Проблема в том, что используя данный код Код (Text): class user_form extends page_default { function fform() { ?> <form method="post" action=""> <select> <option>1</option> <option>2</option> <option>3</option> </select> </form> <?php } } $userform = new user_form(); $userform->SetTitle('Регистрация пользователя'); $userform->SetContent($userform->fform()); $userform->Display(); форма выводится поверх всего шаблона, а если вместо Код (Text): $userform->SetContent($userform->fform()); вставить инфу в кавычках Код (Text): $userform->SetContent('<form>.....</form>'); то все выводится как надо. Подскажите в чем ошибка, как правильно вызваться ф-ю в нужное место
Просто вот такой синтаксис, как у тебя: Код (PHP): function fform() { ?> <form method="post" action=""> <select> <option>1</option> <option>2</option> <option>3</option> </select> </form> <?php } Это равносильно echo. То есть когда ты вызываешь функцию, она у тебя получается не возвращает значение, а сразу выводит на экран. Можешь сделать так, например: Код (PHP): <?php function fform() { $html = <<<HTML <form method="post" action=""> <select> <option>1</option> <option>2</option> <option>3</option> </select> </form> HTML; return($html); } ?>
Не пишу () Код (PHP): return$html; return $html; Обе работают. Также как и Код (PHP): echo$html; echo $html;