Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формы в Zend Framework, Приведите пример пожплуйста 
:(
    Опции темы
Darksquall
  Дата 1.7.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



в контроллере
Код

<?php
class UserController extends Zend_Controller_Action
{
    public function getForm()
    {
        return $form;
    }

    public function indexAction()
    {
        // рендеринг user/form.phtml
        $this->view->form = $this->getForm();
        $this->render('form');
    }

    public function loginAction()
    {
        if (!$this->getRequest()->isGet()) {
            return $this->_forward('index');
        }
        $form = $this->getForm();
        if (!$form->isValid($_GET)) {
            $this->form = $form;
            return $this->render('form');
        }
        $values = $form->getValues();
    }
}
?>


в файле phtml
Код

<?
$form = new Zend_Form();
$form->setAction('/search/')
     ->setMethod('get');
$username = $form->createElement('text', 'text');
$form->addElement($username)
->addElement('submit', 'search', array('label' => 'Искать'));
?>


кнопка есть и он делает все как положено, но я не знаю как передать значение 
не в виде /search/?text=сам текст

а /search/сам текст

роутер есть в Index.php, т.е. файл принимает значения полученные из GET хорошо в таком виде /search/сам текст

но вот как их отправить в таком виде /search/сам текст я не нашел.


И еще не могли бы подсказать как использовать CSS в формах зенда, т.е. мне нужно например изменить вид кнопки и само поле ввода.


--------------------
PM WWW ICQ   Вверх
Feldmarschall
Дата 1.7.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



А при чем здесь зенд?
Как будто без зенда так можно сделать.
В одном смешном тексте написана очень правильная фраза - прежде, чем требовать что-то от пхп, сделайте это на HTML. Не получилось? Надо было учить HTML лучше. 
такую строку можно сделать только яваскриптом, но сначала надо задаться вопросом, а нужна ли она вообще. особенно - для русского языка, когда в адресе будет %ab%cd%ef
PM   Вверх
Darksquall
Дата 1.7.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Пробовал обычным HTML есть форма и кнопка, но не отдает ничего ни по POST ни по GET, может это связано с наличием роутера как то?

ява скриптом можно получить значение поля и отправить по href но это не подойдет, т.к. хотелось бы заодно понять как работает это в ZEND и пользоваться POST в будущем

Это сообщение отредактировал(а) Darksquall - 1.7.2008, 20:23


--------------------
PM WWW ICQ   Вверх
Feldmarschall
Дата 1.7.2008, 21:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



Еще раз. Из букваря по веб-программированию. Форму у тебя отправляет браузер. Никакого РНР, никакого зенда, и никаких фреймворков у тебя в браузере нету. Формы работают не в зенд, а браузере. Форма может сформировать из введенных данных только квери стринг, а не путь к скрипту. Ни в будущем, ни в последующем, у тебя средствами зенд сделать такой адрес не получится. потому что адрес формирует браузер. 
Я понятно объясняю?
PM   Вверх
Darksquall
Дата 2.7.2008, 09:35 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Пример покажи работающий, я тебе говорю что хочу научится делать формы в зенде, а ты мне про букварь.


--------------------
PM WWW ICQ   Вверх
Feldmarschall
Дата 2.7.2008, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



В букваре написано, что такой пример сделать невозможно.
Если ты до сих пор этого не понял.

Букварь нужно читать обязательно. Без него никуда. 
Сначала - букварь, потом - зенд фреймворк. А не наоборот. 
Потому что иначе получаются вопросы, как у тебя.

PM   Вверх
Fortop
Дата 2.7.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Darksquall
Код

    public function getForm()
    {
        return $form;
    }

Подскажи, что по-твоему, оно возвращает?

Добавлено через 56 секунд
Это при том, что сама форма формируется у тебя во view, а не в controller.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Darksquall
Дата 2.7.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



Этот кусок должен быть в контроллере, это да, 
Но должен же он отдавать данные в строку браузера, зенд ведь формирует обычный HTML, 
Fortop т.е. он не отдает чтоли?

Код

$form = new Zend_Form();
$form->setAction('/search/')
     ->setMethod('get');
$username = $form->createElement('text', 'text');
$form->addElement($username)
->addElement('submit', 'search', array('label' => 'Искать'));




Это сообщение отредактировал(а) Darksquall - 2.7.2008, 11:22


--------------------
PM WWW ICQ   Вверх
Darksquall
Дата 2.7.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2004
Где: Москва

Репутация: нет
Всего: 4



роутер мешал обычной HTML форме, но в принципе это мне и не нужно было, хотелось разобраться как же в самом зенде это сделать

Это сообщение отредактировал(а) Darksquall - 2.7.2008, 13:22


--------------------
PM WWW ICQ   Вверх
Fortop
Дата 2.7.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Darksquall
getForm() у тебя вообще ничего не возвращает.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




[ Время генерации скрипта: 0.0648 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.