Доступ к массиву [#parameters] формы комментирования
Прислано: Luchencio
чт, 10/03/2011 - 08:08
В массиве формы комментирования есть следующий элемент (Drupal 6):
[#parameters] => Array ( [0] => comment_form [1] => Array ( [storage] => [submitted] => [post] => Array ( ) ) [2] => Array ( [nid] => 30 ) [3] => Отправить комментарий )
Подскажите плз, как правильно обратится к элементам этого массива.
Пробовал так:
$form['#parameters']['3'] = 'Текст';
Не работает.
И описания в api не нашел.
Что это за зверь?
- Luchencio's blog
- Для комментирования войдите или зарегистрируйтесь
$form['submit']['#value'] = t('Text');
- Для комментирования войдите или зарегистрируйтесь
$form['submit']['#value'] = t('Text');
Почитал.
Не совсем понял, при чем тут локализация?!
Не происходит обращение к элементам массива [#parameters].
Код указанный выше использую в функции тема_id_формы.
П.С.
Для интереса посмотрел на работу $form['submit']['#value'] = t('Text');
Использую только русский, проще тогда сразу явно задать $form['submit']['#value'] = t('Текст');
Один хрен при использовании такой замены слетает обработчик формы.)
- Для комментирования войдите или зарегистрируйтесь
Смысл вот в этом? $form['#parameters']['3'] = 'Текст';
Если Вы хотите изменить текст на кнопке необходима то что я написала. В том что Вы написали смысла нет. Смысл был не в локализации(которую Вы используете неправильно так как писать $form['submit']['#value'] = t('Текст'); неверно), а в обращении с элементами формы.
Обработчик формы слетать не может, если Вы используете мой код, так как он обработчик не трогает. Почитайте апишку, раздел связанный с формами.
- Для комментирования войдите или зарегистрируйтесь
Меня абсолютно не интересует кнопка. Вы не внимательны.
Код приведен выше (часть листинга).
В листинге я вижу, что [#parameters] - самостоятельный элемент массива формы, который в свою очередь тоже представляет массив. (следующее сообщение натолкнуло меня на мысль: "а не ядро ли это?") - завтра посмотрим!
В данном случае я хочу изменить значение элемента массива [#parameters], а именно [3].
Если Вы не заметили, то значение - "Отправить комментарий".
Это ни что иное, как заголовок формы.
Сейчас я пишу это сообщение в форме с аналогичным заголовком, который и требуется изменить.
Если бы мне нужна была кнопка, то я бы и написал про неё.)
Что касается некорректности моей записи, то тут поспорю.
У меня нет задачи локализации или универсальности в принципе.
Не нашел в описании функции t() каких-либо упоминаний про особенное обращение с элементами. Может не заметил?! Ткните носом.)
Разницы между с t() и без - не заметил. И конечно же это не кнопка влияет на обработчик, а скорее обработчик или что то рядом реагирует на изменение названия кнопки.
Честно говоря, искать что и где нет времени и желания, т.к. задача не про кнопку. Но обработчик не работает - это факт. И с Вашим кодом и с моим.))
Прежде чем задать вопрос или ответить всегда стараю все протестить. Старая привычка.
Спасибо за ответы.
- Для комментирования войдите или зарегистрируйтесь
Пока нашел временное решение в виде правки перевода.
Вот это действительно некорректно.
Вопрос актуален.
Как переименовать заголовок формы комментирования - "Отправить комментарий"?
- Для комментирования войдите или зарегистрируйтесь
Не нашел в описании функции t() каких-либо упоминаний про особенное обращение с элементами. Может не заметил?! Ткните носом.)
В функцию t, можно помещать исключительно английский текст.
Вы нигде не упоминали что Вам нужно переименовть "Отправить комментарий". Покажите на скриншоте что Вам именно нужно переименовать.
- Для комментирования войдите или зарегистрируйтесь
Я в box.tpl.php менял $title. Наверное не кошерно, но работает :)
А вот с изменением значения кнопки и слетающим обработчиком очень хотелось бы узнать чего оно так. У меня при попытке изменить значение кнопки сабмита после сабмита перекидывает на страницу /comment/reply/* Отчего не могу понять :(
- Для комментирования войдите или зарегистрируйтесь




Комментарии