Плагин 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

  • Ольга
    Автор: Ольга Добавлено Июнь 15, 2012 в 14:01

    Большое спасибо!

  • Игорь
    Автор: Игорь http://jungleisland.ru/ Добавлено Июнь 11, 2012 в 14:27

    Доброго времени суток!
    Помогите, пожалуйста, разобраться с такой проблемой:
    захожу в настройки формы, начинаю редактировать поля. Для редактирования поля нажимаю на кнопку справа от самого поля, высвечивается окно «Настройки поля» (с красной окантовкой) в котором все пояснения отображаются кракозяброй
    типа:
    «РќР°Р·РІР°РЅРёРµ РіСЂСѓРїРїС‹ (нужно только для РЅРѕРІРѕР№ РіСЂСѓРїРїС‹)»
    вместо:
    «Название группы (нужно только для новой группы)»

    Почему и как с этим бороться?

    P.S.: плагин cforms-v14.2 руссификатор cforms-11.4-ru_RU

    • MR Nobody
      Автор: MR Nobody Добавлено Июнь 11, 2012 в 15:25

      Такого как в вашем случае у меня не было. Бывало, что во многих местах была неверная кодировка
      Вариант 1 первое что пришло в голову.
      Поставить плагин без русификатора, тогда все будет на английском и можно будет работать.
      Вариант 2
      добавить AddDefaultCharset UTF-8 в файл .htaccess
      Вариант 3 возможно в этом проблема
      Войти в базу данных и проверить кодировку самой базы, таблиц и полей utf8_general_ci
      http://alldream.org/wordpress/problemyi-s-kodirovkoy-v-wordpress/
      Вариант 4
      Найти и поставить версию 13.2 с русификацией из статьи, по крайней мере все работало в этой связке и с последним WP.
      Найдете решение отпишитесь, может кому пригодится.

      • Игорь
        Автор: Игорь http://jungleisland.ru/ Добавлено Июнь 11, 2012 в 19:15

        Спасибо большое за советы)
        Вариант 2 (добавить AddDefaultCharset UTF-8 в файл .htaccess) решил проблему

  • Игорь
    Автор: Игорь Добавлено Апрель 5, 2012 в 14:38

    Добрый день. у меня на одном сайте с версией 8.6 все работает нормально. а на новом сайте установил версию 14.0 все встало на сайт нормально, форма добавилась, а вот письмо приходит с крякозяброй вместо текста. помогите пожалуйста в чем причина

    • MR Nobody
      Автор: MR Nobody Добавлено Апрель 5, 2012 в 17:41

      Добрый вечер.
      Львиная доля проблем с кодировками решается через добавление строки: AddDefaultCharset UTF-8
      в файл .htaccess.
      Один раз была проблема с кодировкой приходивших от cformsII писем, но там оказался старый компьютер, с еще более старой почтовой программой. Так что как вариант проверить как приходят письма на разные ящики.
      По решению проблемы не забудьте поделиться решением.

  • Алекс
    Автор: Алекс Добавлено Февраль 28, 2012 в 14:34

    Добрый вечер ! подскажите пожалуйста

    При установке выдаёт вот такую ошибку. WordPress 3.3.1 в чём может быть проблема ?

    Fatal error: Cannot use string offset as an array in /home/xnadjb/public_html/wp-content/plugins/cforms/lib_activate.php on line 7

    • MR Nobody
      Автор: MR Nobody Добавлено Февраль 28, 2012 в 18:22

      Проблема известна, но сам не сталкивался. Часто возникает при установке новой версии поверх старой.

      Способ лечения.

      Стереть плагин и его таблицы из базы данных, залить заново и активировать.
      Проверить таблицу wp_options на наличие записи cforms_settings. Ни в одном проекте, в котором используется cforms не нашел такой записи.

      Все сугубо теория, на практике не делал.

  • Анна
    Автор: Анна http://www.afmi.ru Добавлено Февраль 26, 2012 в 00:49

    нашла русификатор! все сделала как написано и заработало!!!
    Ссылка на русификатор http://narod.ru/disk/21386457000/cforms-11.4-ru_RU.zip.html

    • MR Nobody
      Автор: MR Nobody Добавлено Февраль 26, 2012 в 09:02

      Спасибо за информацию, добавил в статью

  • Анна
    Автор: Анна http://www.afmi.ru Добавлено Февраль 26, 2012 в 00:38

    А для новой версии плагина Cforms 13.2.2 русификатор есть??

  • Сергей
    Автор: Сергей http://stulovonet.ru/ Добавлено Январь 23, 2012 в 10:54

    Не работает КАПЧА в новой форме.
    Если я выбираю другую строку, кроме защита от спама (картинка) или вопрос-ответ, все нормально,
    а когда ставлю защита от спама (картинка) — неактивными становятся «квадраты»,
    куда галочки ставить — обязательно и т.д. Включить CAPTCHA для залогиненных пользователей — галка убрана.
    Установлен WordPress 3.3.1. и cforms 13.1
    Может что-то посоветуете?

    • MR Nobody
      Автор: MR Nobody Добавлено Январь 23, 2012 в 16:16

      cformsII — неиссякаемый источник проблем, но если пользоваться аккуратно, то работает хорошо.
      Сперва поставить на тестовый сервер плагин и WP3.3.1 и создать примитивную форму с капчей. Посмотреть на результат.
      Как раз планирую сегодня тестовый сервер обновить, вот и попробую заодно.

      Попробовал. С Хромом и ИЕ работает нормально, капча видна. Работоспособность формы не проверял, форма была сформирована в этой же версии плагина.

      Киньте линк на форму, посмотреть как не показывает.

      • Сергей
        Автор: Сергей http://stulovonet.ru/ Добавлено Январь 23, 2012 в 17:24

        Вся настройка пока происходит на Денвере.
        В Хроме после сброса кэша, и перезагрузки браузера — капча появляется.
        В других боаузерах ИЕ9 и MF9.0.1 показывает капчу. Но в тоже время в админке, в настройке формы, «квадраты» справа от строки защита от спама — не активны…

        • MR Nobody
          Автор: MR Nobody Добавлено Январь 23, 2012 в 23:26

          А почему они должны быть активны?
          Они не должны быть активны, в старых версиях тоже не активны.

  • Алексей
    Автор: Алексей http://schetchiсi.ru Добавлено Январь 18, 2012 в 18:33

    Не подскажите можно ли использовать данный плагин для комментирования страниц, и если можно то как?

    • MR Nobody
      Автор: MR Nobody Добавлено Январь 18, 2012 в 21:07

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

  • Александр
    Автор: Александр Добавлено Октябрь 3, 2011 в 12:37

    спасибо за статью! Есть проблемка с cforms, перерыл рунет и ответа не нашел..А проблема с attacmentам!! Присоединяю файл, отправляю, на почту приходит attachment, открываю его, а там набор символов.. — то ли проблема с кодировкой, то ли еще что-то!!.. Ajax снял, базу перевел в UTF-8, cами сообщения читабельные а attacment — нет!! сталкивались ?? Помогите советом!

    • MR Nobody
      Автор: MR Nobody Добавлено Октябрь 3, 2011 в 15:20

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

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

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

  • саня
    Автор: саня Добавлено Октябрь 1, 2011 в 12:20

    Спасибочки….!!!!!