Плагин CformsII, создание форм на WordPress

Wordpress 4.0 что нового?

Опубликовано: Май 11, 2012 в 10:18 Категории: Plugins,Wordpress


Плагин CformsII.

Причина по которой эта статья написана проста — через месяц после установки и настройки плагина, порядок и особенности установки забываются и когда требуется устанавливать заново, то приходится снова проходить все стадии выявления и учета багов, тонкостей и нюансов.

Плагин CformsII предназначен для создания форм обратной связи, обладает мощным функционалом и гибкостью, а еще значительным объемом кода и некоторыми странностями в эксплуатации.

Установка плагина CformsII.

Последняя версия на момент последнего обновления статьи: 14.6, в виду не работоспособности этой версии с плагином WP-Shop, пока использую 14.5.

Скачать CformsII можно

отсюда

16.06.2012 вышла версия 14.5, проблема сохранения решена, но внешний вид оставляет желать лучшего. При переходе в настройки плагина админку корежит.
Версия 14.2 не работает корректно с WordPress 3.4 — нет пункта сохранения настроек в верхней панели. Проблема пока не исправлена. Ожидается изменение в версии  v14.5.

Версия 13.1 работает только с версией WordPress 3.2 и выше.
Распаковать содержимое архива в папку wp-content/plugins/ и найти в списке плагинов в админке и активировать.

Если при активации появилась ошибка или предупреждение следующего содержания:

It appears that cforms was not able to create abspath.php in your cforms plugin folder. Please check file/folder permissions (plugins/cforms), then re-activate cforms.
If the problem persists, please create a file (using your preferred text editor) manually with the following content:
<?php $abspath = ‘/sata1/home/users/…/’; ?>
Save the file as abspath.php and ftp to your cforms folder.

It appears that cforms was not able to create abspath.php in your cforms plugin folder. Please check file/folder permissions (plugins/cforms), then re-activate cforms.
If the problem persists, please create a file (using your preferred text editor) manually with the following content:
<?php $abspath = ‘/sata1/home/users/…/’; ?>
Save the file as abspath.php and ftp to your cforms folder.

Сообщение пропало после выдачи прав 777 на каталог плагина и реактивации Cforms II  в админке, затем права на каталог были востановлены.
Второй способ решения — принудительно создать файл  abspath.php в папке плагина с содержимым:

<?php $abspath = ‘абсолютный путь к корню сайта’; ?>

Русификация плагина Cforms II.

Русификация необходима в нескольких местах:
1. Календарь, русификация месяцев, дней недели.
2. Всплывающие подсказки.

Последняя версия русификатора: 11.4, работает и с более новыми версиями. Взять можно по ссылке:

Русификатор CformsII

Для версии 13.1:

Русификатор CformsII 13.1

Поместить в папку wp-content/plugins/ файл cforms-ru_RU.mo.
Файл ru.js поместить в папку wp-content/plugins/cforms/js/langs/.

! Стоит обратить внимание на то, что файл локализации помещается не в папку плагина, а в корневую папку плагинов.

Русификация календаря.

Если используется русификатор, то он полностью переведет календарь и сообщения в настройках формы.

Переходим по пунктам настройки в админке WordPress:
«Формы Cforms II» (Уже все по русски) —  «Общие настройки» — в списке открываем «Дата (javascript календарь)», вот тут и сидит все что связано с календарем и подлежит немедленному переводу, чтоб не смущать пользователей иностранщиной.

Пример дней недели и месяцев:

«Вс»,»Пн»,»Вт»,»Ср»,»Чт»,»Пт»,»Сб»

«Январь»,»Февраль»,»Март»,»Апрель»,»Май»,»Июнь»,»Июль»,»Август»,»Сентябрь»,»Октябрь»,»Ноябрь»,»Декабрь»

Тут же перевести Previous Year, Next Year, Close, Choose Date и т.д.

Выставить формат даты более привычный для СНГ:

dd/MM/yyyy

Ведение базы данных отправленых форм в Cforms II.

Переходим по пунктам настройки в админке WordPress:
«Формы Cforms II» (Уже все по русски) —  «Общие настройки» — в списке открываем «Запись в базу данных».
Установить флажок  «Включить сохранение в базу данных», данные отправленых форм будут теперь доступны в пункте «Отслеживание» группы «Формы cformsII».
Если при просмотре базы отправленных форм  обнаружатся проблемы с кодировкой, то решить это можно файликом .htaccess с содержимым:

AddDefaultCharset UTF-8

Файл .htaccess поместить в каталог с WordPress, если такой файл там уже есть то добавить в него строку с кодировкой.

Отключение ссылки на сайт CformsII.

После каждой формы плагин добавляет ссылку на сайт разработчика, но далеко не всем это нравится. Убрать можно откорректировав файл cforms.php. Для этого найти и удалить:

<a href=»http://www.deliciousdays.com/cforms-plugin»><em>cforms</em> contact form by delicious:days</a>

Cforms II и Firefox

В Firefox не работала защита от спама, ни капча ни вопрос/ответ. Перекопал Google, но ответа не нашел. Решил убрать ссылку на сайт Cforms II и как ни странно, но все заработало. Связано ли это с удалением ссылки, настройками FireFox или вспышками на Солнце — не понятно, заработало и хорошо.

Отправка пустых форм Cforms II

Давно работая с Cforms II не ожидал от него такой пакости. И вот одна из кропотливо вылепленных форм отправляет письмо, но оно пустое, т. е. данные из формы не попадают по назначению. Естественно начался поиск ошибок, проверки настроек, версий плагина, но форма все равно шлет пустые письма. Создал самую простую новую форму, из нее письмо отправляется содержимое в письме присутствует. Вернулся к старой форме и сделав ее копию начал поочередно удалять поля. Форма не заработала вплоть до удаления всех полей.

Причины и решение отправок пустых писем плагином Cforms II

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

Опять таки в Google решения не нашел, хотя проблема отправки пустых форм в плагине CformII существует.

Пустые письма от CformsII — еще один случай

Неиссякаемый источник вдохновения по имени CformsII не дает покоя. Еще один вариант при котором в письме не не приходит содержимое формы. После долгих пыток удалось выбить признание, что после установки версии 13.1 в нее были залиты через бэкап настройки от версии 11.9, время хотели сэкономить. В итоге как в нашей экономике сэкономили в глобальные минуса. Надо сказать что настройки встали и письма отправлялись, но пустые. Вновь созданные формы тоже отправлялись, но тоже приходили пустыми. В ходе экспериментов письма вообще перестали отправляться, что вылечилось переустановкой плагина, но это не вылечило отсутсвие в письмах данных форм. Тотальная и последовательная проверка выявила, что содержимое формы не отправлялось при включенном режиме HTML, после его отключения по крайней мере текстовые данные удалось принимать нормально. Параметр меняется в настройках формы, раздел Настройка писем администратору

Плагин cformsII отправка в htmlЖаль, но решить вопрос с пристойным видом отправки, в виде красивой таблички, пока не удалось.

Пустые письма 2

Желание получать письма в HTML формате так и не дает покоя. Продолжил эксперименты.

Исходные данные: CformsII 13.1, русификатор установлен.

Разослал письма на три разных ящика — Gmail, Яндекс, ящик на хостинге. Проверил почту через WEB интерфейсы. Письмо в формате HTML пришло, но в виде кода на все три ящика. Красивой таблички не получилось, но по крайней мере письма пришли с данными. Затем с ящика на хостинге письмо было вытащено почтовым клиентом Thunderberd. Вытащенное письмо было пустым.

Проблема пока не решена, идей пока нет.

Пустые письма 3

На ящик администратора приходят письма в неправильной кодировке, присоединенные файлы прочесть невозможно.

Проблема решилась парой галочек в глобальных настройках «Global Setting»-«Mail Server Settings»:  Separate lines in email header with LF only (CR suppressed), Separate lines in email body with LF only (CR suppressed). По русски это: Разделять строки в заголовке письма используя только LF (подавление CR) и Разделять строки в теле письма используя только LF (подавление CR). Одновременно исправилось и получение в режиме HTML, форма приходит в виде аккуратной таблицы, все поля заполнены без потери данных.

Как изменить стандартную форму комментария с плагином Cforms II?

Создаем новую форму, желательно сделать ее из шаблона — Advanced: WP comment feature form. Дополняем нужными полями и запоминаем номер таблицы.

Редактируем шаблон темы, файл comments.php. Находим тег <form action=»…</form> и заменяем его на <?php insert_cform(X); ?>, где X — номер созданной формы заключенный в кавычки, например вот так: ‘1’. Тэг <form> может занимать несколько строк, их придется или закомментировать или удалить.

Замечания

Далеко не на все темы удастся прикрутить безболезненно и просто.

Как уменьшить количество кода в проекте?

Не секрет, что для выполнения плагинов может потребоваться добавление кодов в генерируемые страницы. CformII не исключение, для работы форм плагин добавляет участки кода в каждую страницу, но в версии 13.1 есть параметр который может добавлять код только на определенные страницы — на те в которых используются формы. Параметр выставляется в Общих настройках:

Сformsii ограничение вставки кода

Необходимо выбрать Включить и в поле вписать через запятую ID страниц и записей на которых размещены формы.

Проблемы и по возможности решения

1. Проблема. Пропала капча на выводимых формах, не загружается картинка капчи.

Решение. Виновником оказался плагин кеширования — WP Minify, который предназначен для оптимизации JS и CSS файлов.

2. Проблема. Связка Wp-Shop и CformII. После более чем четырехмесячного бесперебойного труда стали приходить неверные письма заказов. Вместо данных пользователя, которые заполняются в форме CformII, приходило сообщение:

Warning: Invalid argument supplied for foreach() in /sata1/home/users/stt/www.sakilake.com/wp-content/plugins/wp-shop/views/mail/admin.php on line 9

В админке у пункта Cform II исчезла иконка, при попытке перехода в любой пункт настройки плагина выдавалась 404.

Решение. Плагин был деативирован и активирован снова. Плагин заработал, но были потеряны работавшие ранее формы и перестали выводиться сообщения об успешной отправке формы.

3. Конфликт между плагинами CFORMS II 14.5 и CategoryTinymce (расширяет возможности редактирования описания категории TinyMCE).

Решение. Исправить ситуацию можно установив галочку в настройках плагина CFORMS II. «Общие настройки» — «Кнопка Cforms в редакторе» установить флажок «Исправить ошибку в TinyMCE«

Запомнить, поделиться - Плагин CformsII, создание форм на WordPress

Поделиться ВКонтакте Поделиться в Facebook Добавить в Twitter Поделиться с друзьями в Одноклассниках Поделиться В Моем Мире Поделиться в Гугл+

Всего комментариев: 24

  • Татьяна
    Автор: Татьяна Добавлено Апрель 14, 2013 в 13:24

    Здравствуйте!

    Версия WordPress 3.1.1. Поставила плагин CformsII 14.6. Нет выпадающей панели админа и кнопки «Сохранить». Ранее ставила более старую версию плагина — ситуация та же. Подскажите, пожалуйста, в чем проблема?

    • MR Nobody
      Автор: MR Nobody Добавлено Апрель 14, 2013 в 17:03

      Добрый день.

      Версия WordPress 3.1.1 плохо работает с CformsII 14.6 и 14.5. Нет выпадающей панели админа и кнопки «Сохранить» — это основная проблема. Поставьте более свежий WordPress. Последняя версия 3.5.1 работает с последними CformsII без особых замечаний.

  • RaIN
    Автор: RaIN Добавлено Июль 4, 2012 в 20:03

    Здравствуйте. Не могу разобраться, подскажите пожлст как осуществить чтобы при отправки данных через cforms, в админ панели появилась возможность одобрения/отклонения (как в случае с комментариями). ??

    • MR Nobody
      Автор: MR Nobody Добавлено Июль 4, 2012 в 20:24

      Добрый вечер. Никогда не использовал форму cforms в качестве формы комментария, если вы имеете в виду подобный случай. Если расскажете подробнее как используете форму, может общими усилиями что-то и придумаем.