DlTA, вы меня возможно не так поняли.
Мне нужно чтобы люди, которые привыкли шлепать по энтеру везде где попало, не сабмитили при этом форму. Только мышкой. Но как запретить энтер не для всей формы, а только для submit я не знаю.
Приветствую и прошу натолкнуть на мысль!)
Не могу реализовать запрет отправки формы по Enter без запрета переноса строк в textarea.
В интернетах полно примеров, но нигде не поднимается вопрос с textarea.
Этот код прекрасно работает, но в textarea строчку не перенесешь(
EuGen, воот, т.е. рендеринг шаблона это особенность MVC!?
Еще вопрос по поводу адресов. Читал-читал посты влома, так ниче и не понял. Мод_реврайт теперь не работает. Ранние ЧПУ выглядели "/category/1", теперь "/category/view/1"
Для преобразования к старому виду я добавил метод в роутер, который этим занимается. Правильное ли это решение или можно применить более изящное?
EuGen, и всё же, где выполнять операции подготовки данных к выводу если есть только базовый Вид с методом рендерингра, а вызывается он прямо из контроллера? Для каждого контроллера - свои операции! В самом шаблоне?
EuGen, у меня есть несколько вопросов по организации кода.
Вот значит предствим, что есть контроллер по работе с пользователями - Controller_User, в нем есть действия. Часть действий направлена на отображение форм - например метод newuserAction, который просто отображает форму создания нового юзера. Как организовать подклассы View? Базовыей View и дочерний View_User c методом View_newuser?
Второй вопрос. Если так то как быть с данными передаваемыми от контроллера к виду? Пусть в контроллере запрашиваются данные например о списке всех юзеров, и о колличестве сообщений (вообщем несколько ассоциативных масивов в результате) как передать их Виду? Нельзя же Вид сделать дочерними классами конструкторам?!
И еще вопрос. Вот получил я в контроллере данные о пользователях но их перед отображением нужно отформатировать, условия вывода в шаблон добавить, изображения обернуть в тэг img и так далее... где это делать? не в контроллере ведь?
Я приведу пример. Допустим есть приложение по работе со списком автомобилей. Можно просмотреть список существующих в БД, удалить, отредактировать и конечно создать новую запись.
Что правильно из того что я пишу а в чем ошибаюсь?
index.php - единственная точка входа, в котором стоит маршрутизатор который в зависимости от запроса запускает тот или иной контроллер.
Контроллер:
Метод класса контроллеров или целый класс который отвечает за отображение разметки и готовит данные для этой разметки (чтобы исключить логику в шаблонах tpl)
Модель:
Класс по работе с данными никак не связанный с отображением т.е. методы сохранения новых авто, удаления из бд и сохранения отредактированного авто.
Вид:
Набор шаблонов c html и js
А теперь конкретный пример. Нам нужно отобразить весь список автомобилей. Запрос может выглядеть как http://domain/auto/allview
Маршрутизатор определит что нужно запустить контроллер allview для автомобилей. А вот теперь как в контроллере запросить список? нужно создать экземпляр модели и воспользоваться методом? или прямо из контроллера выполнить запрос к бд? И еще вопрос. Если мы обращаемся к методу модели а класс модели не является родственником класса контроллера то нужно пользоваться фабриками?
Танцы с бубном надоели.
Попытаюсь описать проблему как можно понятней.
Значит была база данных и туда пользователями потихоньку заносились данные. И писалось все в cp1251. Сам движок и его страницы были в ansi.
И все это хорошо работало до того момента когда потребовалось внедрить jquery - и подгружать и сохранять некоторые формы асинхронно. JQuery, как выяснилось, не дружит ни с чем кроме как c utf-8. И пошел процесс перекодировки страничек. Все, хорошо - странички в utf-8. В метах прописан utf-8 и браузер это прекрасно понимает. НО! MySql тоже надо сконвертить! Как? Очень просто - дамп средствами phpMyAdmin, изменение кодировки дампа на utf-8 средствами NotePad++ и обратный процесс загрузки дампа. Вот и данные стали по русски и в utf-8... за исключением некоторых букв - И,Э,ш...
Погуглив проблему понял, что средство одно: провести замену кода битых символов так как у mysql кодировка этих символов отличается.
Классический пример решения из интернета:
Это действительно решает проблему, но дело в том что у меня и новые записи уже после конвертации пишутся касячно. Помогайте! Голова взорвалась, мозг ушел от меня
Экземпляр чего ты создаешь и на фига ты его создаешь.
Экземпляр класса Юзер, для того чтобы обратится к одному из его методов!
Например провести редактирование профиля: юзер ввел новые контактные данные - метод editUser принимает новые данные и записывает в таблицу БД.
в данном случае не имеет смысла -методы все известны наперед.
меня просто беспокоит вот что. У меня весь код внутри классов и switch там же а в обычном файле только автолоад, создание экземпляра и вызов метода в котором лежит switch:
class.test.php