Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 19 Ответов
  • 1759 Просмотров
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Всем привет!
Поставил ChronoForms, настроил простенькую форму и получил такую ошибку:
Код
Warning: nl2br() expects parameter 1 to be string, array given in /administrator/components/com_chronoforms7/chronoforms/helpers/parser2.php on line 665
А после текста, что все замечательно
Цитировать
Thanks for being awesome! We have received your message and would like to thank you for writing to us. We will reply by email as soon as possible.
, идёт еще сообщение об ошибке:
Код
Warning: strlen() expects parameter 1 to be string, array given in administrator/components/com_chronoforms7/chronoforms/functions/validation/validation_output.php on line 90
Версия РНР на хостинге 7.4.14 (если это важно)
Кто-нибудь сталкивался?
« Последнее редактирование: 08.08.2021, 19:20:39 от AlexP750 »
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
просто предупреждение
скорее всего из за версии PHP
попробуйте понизьте
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Странно.
Письма-то тоже нет. Видимо, что-то еще не включил. Саму форму создал и настроил, там всего три поля: имя, почта и текст сообщения, а вот писем нет. Хотя, в Settings-ах стоят действующие адреса.
И да, попробую понизить ))))
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Поставил ChronoForms, настроил простенькую форму и получил такую ошибку:
А почитать какую версию PHP поддерживает расширение ?
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Понижал РНР до 7.3 - изменений не было.
А почитать какую версию PHP поддерживает расширение ?
Даже в голову не пришло, честно. Загрузил ChronoForms через JED, а учитывая, что на РНР 7.2 уже начинает ругаться и сама Joomla, и, насколько я помню, Akeeba, то я никак не ожидал, что ChronoForms потребует другой версии.
К слову, я понижал, но так и не добился успеха.
Если же надо повышать, то на хостинге есть восьмая версия, но тогда что-то отваливается... JComments, если не ошибаюсь.
Да, я попытался найти инфу о требуемых характеристиках, но пока так и не нашел
UP: Пробовал поднять до 8.0, но перестают работать комментарии, да и сама страница с формой не загружается.
« Последнее редактирование: 08.08.2021, 20:31:33 от AlexP750 »
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Да, я попытался найти инфу о требуемых характеристиках, но пока так и не нашел
И народ на JED тоже ругается на отсутствие документации. Если даете ошибку, давайте и код. не у всех же есть ChronoForms, да еще и разные версии .
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Содержимое файла parser2.php, на который ссылается ошибка:
Код
foreach($value as $val){
$output .= '<li><a href="'.r3('index.php?ext=chronoforms&cont=logs&act=file&fname='.$val.'&form_id='.$this->data('form_id')).'">'.$val.'</a></li>';
}
$output .= '</ul>';
}else{
$output = '<a href="'.r3('index.php?ext=chronoforms&cont=logs&act=file&fname='.$value.'&form_id='.$this->data('form_id')).'">'.$value.'</a>';
}

}else if($unit['type'] == 'field_textarea'){
$output = nl2br($value);

}else if(!empty($unit['options'])){
$options = $this->options($unit['options']);
Строка 665, о которой говорится в ошибке:
Код
			$output = nl2br($value);
Если честно, то я не знаю, какую часть кода выделить. Я выбрал ту часть, которую можно свернуть/развернуть в Notepad++, что как мне кажется, сигнализирует о том, что это какие-то общии куски кода.
И да, письма, таки дошли, сорри. То есть, сообщения отправляются, только с этими неприглядными ошибками:

То, что внизу ошибка - это вторая часть формы, которая, как я решил, должна выводиться после успешной отправки.
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Проверьте какой тип данных
Код
else if($unit['type'] == 'field_textarea'){
var_dump($value);
$output = nl2br($value);

}
А можно сразу попробовать
Код
else if($unit['type'] == 'field_textarea'){
$output = nl2br($value[0]);

}
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Большое спасибо!
А можно сразу попробовать
Это сработало!
Осталась вторая ошибка, но с ней я либо попробую сделать по аналогии, либо уберу вторую часть формы.
UP: не решился действовать самостоятельно, ибо ни бельмеса в коде.
Строка 90, на которую ссылается ошибка:
Цитировать
Warning: strlen() expects parameter 1 to be string, array given in /administrator/components/com_chronoforms7/chronoforms/functions/validation/validation_output.php on line 90
начинается с оператора if:
Код
	foreach($field['datapath'] as $keysData => $dataname){
if(!empty($vsettings['optional']) AND strlen(\G3\L\Arr::getVal($data, $dataname)) == 0){
continue;
}

Есть еще вопрос по поводу содержания сообщения, которое показывается пользователю после отправки. Я нашел сам файл, где лежит это
Цитировать
Thanks for being awesome! И весь остальной текст
, заменил его на нужный мне текст, но изменений не заметил. Можете подсказать, как поправить, или лучше новую тему создать?
« Последнее редактирование: 09.08.2021, 10:29:33 от AlexP750 »
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Осталась вторая ошибка, но с ней я либо попробую сделать по аналогии,
Судя по ошибке- получают массив вместо строки, должно сработать.
Можете подсказать, как поправить, или лучше новую тему создать?
Лучше новую.
А тип файла -языковый или в коде ?
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Судя по ошибке- получают массив вместо строки, должно сработать.
Я обновил предыдущую тему, но и сюда скопирую
не решился действовать самостоятельно, ибо ни бельмеса в коде.
Строка 90, на которую ссылается ошибка:
Цитировать
Warning: strlen() expects parameter 1 to be string, array given in /administrator/components/com_chronoforms7/chronoforms/functions/validation/validation_output.php on line 90
начинается с оператора if:
Код
	foreach($field['datapath'] as $keysData => $dataname){
if(!empty($vsettings['optional']) AND strlen(\G3\L\Arr::getVal($data, $dataname)) == 0){
continue;
}
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Код
	foreach($field['datapath'] as $keysData => $dataname){
if(!empty($vsettings['optional']) AND strlen(\G3\L\Arr::getVal($data, $dataname)[0]) == 0){
continue;
}
Код
	foreach($field['datapath'] as $keysData => $dataname){
if(!empty($vsettings['optional']) AND (!is_array(\G3\L\Arr::getVal($data, $dataname)) && strlen(\G3\L\Arr::getVal($data, $dataname)) == 0) ){
continue;
}
Но лучше смотреть что в методе getVal
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
К сожалению, этот вариант приводит к двум новым ошибкам, в других строчках.
Что касается getVal, то вот, что удалось найти в файле:
Цитировать
if(!empty($ruledata['name']) AND !empty($ruledata['phpdef'])){
                     $value = \G3\L\Arr::getVal($data, $dataname);
                     $condition = eval($ruledata['phpdef']);
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Пересобрал форму, ошибка ушла.  yes!
Но осталась еще одна важная особенность - оказывается, письма приходили пустыми. Т.е. содержимое текстового поля пустое. Видимо, я что-то упустил. Посмотрю внимательней.
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
смотрите так же в настройках формы
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Сорри, я не совсем корректно выразился.
Или совсем некорректно.
В письме, которое приходит при успешной отправке есть поля с данными, которые заполнил пользователь: имя и емейл без вопросов, а "Ваше сообщение" содержит всего один символ. Если текст набирался в латинице, то первая буква первого слова и все. Если на русском языке, то тоже один символ, но, на сей раз, это белый вопросительный знак на фоне чёрного ромба. То есть, тут еще и с кодировкой разбираться надо (
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Похоже трабл при валидации поля сообщения  .
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
а может все же отказаться от такого геморроя ради простой формы?
используйте фришную balboa forms
там все просто и вам за глаза хватит
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
а может все же отказаться от такого геморроя ради простой формы?
используйте фришную balboa forms
Да я бы и не против. Я почему-то был уверен, что тут уже все должно работать, как часики... Всё-таки, уже аж седьмая версия. Конструктор, все по взрослому Сам удивился, что код подкручивать пришлось, чтобы заработало из коробки )))) Мне пока простая форма нужна. Да и в дальнейшем, думаю, не сильно сложнее будет. Максимум, с полем телефон, да и то, вряд-ли. Просто об этой давно слышал, вот и вся причина выбора

UP: Поставил ту, о которой говорили - вообще, за пол-часа разобрался! )))) Дольше искал информацию, как добавить форму в материал - искал что-то, вроде: {forms}{/forms}, а оказалось, там кнопка в TinyMCE есть

UP2: Оказалось, что после установки Chronoforms перестали работать Sliders, Tabs и Sourcerer от Regularlabs. Поотключал все от Chronoforms - заработали
« Последнее редактирование: 09.08.2021, 21:32:57 от AlexP750 »
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
ну вот и все решилось

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка syntax error, unexpected 'Fn' (T_FN), expecting identifier ((t_string))

Автор sergspb

Ответов: 3
Просмотров: 1950
Последний ответ 03.04.2023, 16:28:29
от ArieZ
Ошибка - You didn't select the correct image

Автор cirip

Ответов: 0
Просмотров: 2196
Последний ответ 18.04.2018, 22:42:27
от cirip
Ошибка в chronoform.php ?

Автор warlocksp

Ответов: 1
Просмотров: 1485
Последний ответ 28.08.2017, 19:16:03
от warlocksp
Ошибка 500 и 502 в компоненте

Автор meatrich

Ответов: 0
Просмотров: 2146
Последний ответ 01.05.2016, 23:04:35
от meatrich
Установил ChronoForms ошибка при отправлении

Автор ramil

Ответов: 0
Просмотров: 1163
Последний ответ 30.04.2016, 09:34:54
от ramil