Здравствуйте. Возможно мой вопрос покажется глупым - оно и не удивительно, с Joomla я почти не работал. Вопрос мой таков. Потебовалось мне расширить модуль ProductBook так, чтобы он научился добавлять фотографии в нужном мне количестве. Для этого в форму добавления/редактирования модели была сделана вставка с файло-INPUT`ом, которому было дано имя n_photo[]. Так же были вставлены две небольшие JS-функции, которые иннером добавляют/убирают поля до необходимого. Проблема в том, что после передачи формы сколько бы полей для ввода я не создал в форме - в массив уходит только одно(проверял и print_r`ом и count`ом). Аналогично пытался экспериментировать с простыми INPUT-полями - результат аналогичен. Подскажите почему так, может я чего-то не знаю?В не-Joomla конструкциях аналогичные куски кода работаю нормально. Такое ощущение, что из формы перед отправкой вырезается "[]" в именах полей. Заранее благодарю.
Код (PHP): print_r(mosGetParam($_FILES,'n_photo')); Так же пробовал напрямую обращаться к массиву $_FILES - ситуация такая же.
К $_FILES только напрямую. Если его вообще нет, то проверь - стоит ли в форме рядом с методом строка enctype="multipart/form-data"
В форме или в обработчике?В обработчике пробовал - не спасло. В форме сей момент крайне неудобен - добавляем 10 полей JS-кнопкой, потом убираем 2-3 из середины и получаем адский гемморой: либо теряем "хвост", либо в принудительном порядки проходим некое количество полей и теряем производительность, а так же получаем костыль в коде.
Уточнение проблемы: если я добавляю два поля в форму изначально, оба отображаются. Если добавляю третье через JS - его в списке не получаю. Может у Joomla есть что-нибудь принудительно парсящее шаблон перед отправкой формы?
Джумла тут ни при чем. Исключительно твои руки. И я так понимаю проблема в том, что твоя JS-вставка вставляет эти поля вне формы, вот они и не отправляются.
Эм. Тогда я видимо чего-то не понимаю: 1. Форма вложена в таблицу. 2. Выше и ниже от добавляемых пунктов другие поля, которые обрабатываются корректно(в том числе те, которые потом "размножаются"). 3. JS-вставка на самописной CMS работала нормально при точно таком же использовании. Как в таком случае я могу промахивать мимо формы? P.S. Хотя я готов уже во всё поверить - разумного объяснения происходящему пока подобрать не удалось.
если форма формируется под js с возможностью добавления псевдополей то и обработчик формы должен быть в js с пере направлением обработанных псевдополей.... он с начало примет на себя все var и сформирует get или post запрос на принимающий php скрипт красивее и понятней только ajax может работать....