starro-serge: Комментарии

Главные вкладки

24 августа 2010 в 4:24

Был неправ, погорячился.
Больше не повторится.
Есть overflow:auto от system.css и вешается точно на каждый DIV, вложенный в fieldset.
Отловил в эксплорере девелопер тулсом.
Только ширина нигде не лимитируется, кроме как ширина таблицы в целом, где fieldset расположен в одной из колонок без уточнения ширины.

24 августа 2010 в 1:20

Знать бы ещё, откуда ноги растут.
Я же не пишу сам ничего из этого.
Свойства наследуются от Друпала.
А к станице пристёгивается с дюжину CSS-файлов.
И где в них искать?
Да и трогать их как-то боязно.

19 августа 2010 в 13:21

Это уже по ту сторону добра и зла.

Восстанавливаю ситуацию по шагам:
Определяю свой тип контента.
В нём - поле 'Price' тип файл с расширением 'xls'.
Начинаю вводить контент,прикачиваю экселевские файлы.
После каждого шага запускаю проблемный модуль.
И вылетаю в задницу где-то на пятом экземпляре.
Модуль начинает выдавать эту хрень.
Откат не помогает.
Даже если удалить нововведённое.
Только если снести и восстановить базу.

Вывод напрашивается сам собой - проблема внутри Друпала.

19 августа 2010 в 9:20

Не думал, что в этом есть нечто криминальное.
Но от того, где лежит этот файл картина не меняется.
Пробовал по всякому.

18 августа 2010 в 11:14

brg wrote:
$form_state передается первым элементом, а не вторым .. правильно использовать function formexample_nameform($form_state)
У меня всё отлично работает. Проверьте ещё раз, если проблема останется, выложите свой модуль, я попробую помочь.

Так и есть, первым.
Но как им верить после этого?
Ведь пишут совсем не так.

Ещё раз спасибо за заботу, дорогой. Всё путём.
Будем учиться дальше.

16 августа 2010 в 17:52

Красиво я изложил, только глупость сморозил.
form_set_error(); - без параметров -вроде бы и есть form_not_validate() как я обозвал.
Но вот в чём загвоздка.
И в примере http://stroynn.ru/test, и в моём модуле ALTER ПРЕДШЕСТВУЕТ VALIDATE, а не наоборот как в документации.
Или я уж совсем притупел.

16 августа 2010 в 9:19

brg wrote:
Наверное будет правильнее сделать через JS, т.е. через друпаловский ahah или просто при помощи jQuery .. на мой взгляд это будет более так сказать по феншую Smile

А то, что ты спрашиваешь .. нужно думать .. потому что вообще не очень логически правильная задача

15 августа 2010 в 18:47

brg wrote:
Странно ... у меня в 'post' находятся переменные собственно полученные POST запросом.
http://drupal.ru/files/test.module_0.txt - тут все работает, если у вас пусто, значит нужно смотреть что ещё там у вас есть.

Где-то я туплю.

15 августа 2010 в 16:56

Потому что у Вас всё работает штатно по схеме
VALIDATE -> ALTER -> THEME.
А у меня с вывертом
VALIDATE -> PAGE -> CONSTRUCTOR -> ALTER -> THEME.
Как я и предполагал, уже в PAGE $form_state теряется.
И это уже по ту сторону добра и зла.
Откуда ноги растут - тайна сия велика есмь.

15 августа 2010 в 16:28

Так я и не пытаюсь форму в валиде трогать.
Точно в альтере хочу над ней поизгаляться.
Но совет не катит.
После конструктора $form['#parameters']- пустой массив
Array ( [0] => win_constructor_nameform [1] => Array ( [storage] => [submitted] => [post] => Array ( ) ) )

15 августа 2010 в 15:57

Ну прописана у меня в модуле своя темизация формы и двух видов полей в ней.
Разве это может как-то повлиять на процесс её обработки после возврата?

15 августа 2010 в 15:52

Нужно убрать немного информационного шума.
Повторные ALTER после THEME идут от двух других форм, расположенных на той же странице (login, search).
Ими можно пренебречь.
Остался один вопрос, ключевой.
Почему при возврате формы ПОСЛЕ VALIDATE процесс генерации формы запускается сначала через PAGE -> CONSTRUCTOR -> ALTER -> THEME.
Вроде как в CONSTRUCTOR (или уже в PAGE без разницы) теряется при этом $form_state, что логично.
И это вместо продекларированного в документации
VALIDATE -> ALTER -> THEME.

15 августа 2010 в 14:24

P.P.S. Забыл сказать, что все полученные из формы значения сбрасываются в CONSTRUCTOR после VALIDATE, что очевидно, но невероятно.
Поскольку, судя по http://drupal.org/node/165104, после валидации мы должны выходить на темизацию непосредственно, минуя конструктор.
Правда, судя по той же схеме, после валидации там нет места и для _form_alter. Однако после #theme стоит #post_render.

10 августа 2010 в 16:11

Нижайше прошу прощения у уважаемого сообщества.

В функции темизации забыл задать формирование 'NAME' в 'INPUT'.

Отсюда вся свистопляска.
Ещё раз прошу прощения.

Будем учиться дальше

10 августа 2010 в 15:25

Кажется проясняется, где собака зарыта.
В форме темизируется несколько 'fieldset' с 'input type radios' одной функцией темизации.
Непоследовательно, между ними в форме рендируются другие элементы собственно Друпалом.
Так вот, Firebug мне показывает, что в форме все ручно темизированные INPUT относятся к одной группе с именем первой ручно отрендированной.
Все checked в этой окрошке сброшены в false, понятное дело.
Уверен, что дело не в разметке.