Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
12.10.2010, 21:24 | #1 |
Senior Member
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
|
Powermail и js валидация
Надавно со скрипом прикрутил к сайту RealUrl. Как говорится "дурная голова рукам покоя не дает" - полез править Powermail. Отлично настроенный Powermail достался от разработчика сайта, да вот незадача - после заполнения полей и нажатия сабмита (если неверно заполнены поля) мы переходили на некую страницу в которой к адресу формы добавлялось /?tx_powermail_pi1%5BmailID%5D=896&cHash=e418861967 #c896 и уже на этой странице писалось где и что мы заполнили не верно. А хотелось чтоб подсказки вылазили на странице формы, под неверно заполненным полем. Задача казалось мне пустяковой т.к. делал уже пару сайтов где сам ставил powermail и там JS прекрасно работал. Думал копи/пастю настройки и дело с концом - не тут-то было. Любые телодвижения не дают результаты. В мануале написано, что такого рода проблемы могут возникнуть если не прикручены 4 скрипта (когда ставил расширение на свои сайты , скрипты прописывались в head автоматом, как у lightbox). В общем прикрутил я эти линки в шаблоне сайта, но вот с 4-м проблема:
<script src="validation/fachgebiete/typo3-extensions/powermail.html" type="text/javascript"></script> - вообще не понял как его прикрутить. В мануале написано, что он должен совпадать со страницей где есть форма, а у меня на сайте их несколько десятков. Хотя мой англицкий настолько скуден, что возможно я неправильно понял о чем речь. Может кто-нибудь скажет в какую сторону рыть? П.С. Powermail обновил до 1.5.4 |
13.10.2010, 10:07 | #2 |
Senior Member
|
Кроме того, нужно глянуть, какие библиотеки JS используются, если mootools, то может происходить конфликт с prototype. Вроде как, это можно настроить через константы. Проблема может быть и в этом...
|
13.10.2010, 11:05 | #3 |
Senior Member
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
|
В константах прописано plugin.powermail.libraryToUse = mootools - без толку
|
13.10.2010, 11:59 | #4 |
Senior Member
|
По-моему, там ничего мудрить не надо, чтобы сообщение о неверно заполненных полях появлялось вверху формы, нужно установить такую константу:
Код:
plugin.powermail { # cat=plugin.powermail_additionalconfig//0510; type=boolean; label= Сообщение об обязательных полях вверху формы: можно выбрать между сообщением, появляющимся вверху формы, или отображением этого сообщения на дополнительной странице с кнопкой возврата (по умолчанию) mandatory.messages = 1 } В частности нужно разобраться с TS в конце: Код:
# Add Javascript files to page header if a powermail plugin is on current page lib.powermail_dynJavascript = TEXT lib.powermail_dynJavascript { wrap = <script src="|" type="text/javascript"></script> typolink.parameter.dataWrap = {TSFE:id},3131 typolink.returnLast = url } # userFunc to check if powermail is on current page # powermail is on current page and prototype should be used [userFunc = user_powermailOnCurrentPage] && [globalVar = LIT:prototype = {$plugin.powermail.libraryToUse}] page.includeJS.file31312 = EXT:powermail/js/mandatoryjs/lib/prototype.js page.includeJS.file31313 = EXT:powermail/js/mandatoryjs/src/effects.js page.includeJS.file31314 = EXT:powermail/js/mandatoryjs/fabtabulous.js [end] # powermail is on current page and mootools should be used [userFunc = user_powermailOnCurrentPage] && [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}] page.includeJS.file31312 = EXT:powermail/js/mootools/mootools-1.2.1-packed.js [end] # powermail is on current page [userFunc = user_powermailOnCurrentPage] page.includeJS.file31311 = EXT:powermail/js/checkbox/checkbox.js page.headerData.31310 < lib.powermail_dynJavascript seite.headerData.31310 < page.headerData.31310 seite.includeJS.31311 < page.includeJS.file31311 seite.includeJS.31312 < page.includeJS.file31312 seite.includeJS.31313 < page.includeJS.file31313 seite.includeJS.31314 < page.includeJS.file31314 [end] # TypeNum 3131 for field validation via prototype (current page with &type=3131 with Javascript) powermailJS = PAGE powermailJS { typeNum = 3131 config { disableAllHeaderCode = 1 disablePrefixComment = 1 xhtml_cleaning = 0 admPanel = 0 } 10 = TEMPLATE 10 { template = FILE template.file = EXT:powermail/js/mandatoryjs/validation.js subparts.REQUIRED = TEXT subparts.REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_required subparts.VALIDATE_REQUIRED = TEXT subparts.VALIDATE_REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_number subparts.VALIDATE_DIGITS = TEXT subparts.VALIDATE_DIGITS.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_digits subparts.VALIDATE_ALPHA = TEXT subparts.VALIDATE_ALPHA.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_alpha subparts.VALIDATE_ALPHANUM = TEXT subparts.VALIDATE_ALPHANUM.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_alphanum subparts.VALIDATE_DATE = TEXT subparts.VALIDATE_DATE.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_date subparts.VALIDATE_EMAIL = TEXT subparts.VALIDATE_EMAIL.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_email subparts.VALIDATE_URL = TEXT subparts.VALIDATE_URL.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_url subparts.VALIDATE_DATE_AU = TEXT subparts.VALIDATE_DATE_AU.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_date_au subparts.VALIDATE_CURRENCY_DOLLAR = TEXT subparts.VALIDATE_CURRENCY_DOLLAR.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_currency_dollar subparts.VALIDATE_SELECTION = TEXT subparts.VALIDATE_SELECTION.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_selection subparts.VALIDATE_ONE_REQUIRED = TEXT subparts.VALIDATE_ONE_REQUIRED.data = LLL:EXT:powermail/pi1/locallang.xml:JSvalidation_label_validate_one_required subparts.DIV_CLASS = TEXT subparts.DIV_CLASS.value = {$plugin.powermail.js.mandatorydivclass} } } [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}] powermailJS.10.template.file = EXT:powermail/js/mootools/tx_powermail-packed.js [global] |
13.10.2010, 12:19 | #5 |
Senior Member
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
|
Спасибо за совет. Попробую разобраться с TS. Хотя больше всего меня смущает то, что при установке powermail на новый сайт JS работал без телодвижений с моей стороны, а тут нет.
|
13.10.2010, 12:28 | #6 |
Senior Member
|
с этими ява-сценариями всегда так, нужно следить, не закралась ли там еще какая библиотека... иначе все сломается
|
13.10.2010, 12:30 | #7 |
Senior Member
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
|
Поставил в константы:
plugin.powermail { # cat=plugin.powermail_additionalconfig//0510; type=boolean; label= Сообщение об обязательных полях вверху формы: можно выбрать между сообщением, появляющимся вверху формы, или отображением этого сообщения на дополнительной странице с кнопкой возврата (по умолчанию) mandatory.messages = 1 } , а в сетап: [globalVar = LIT:mootools = {$plugin.powermail.libraryToUse}] powermailJS.10.template.file = EXTowermail/js/mootools/tx_powermail-packed.js [global] - все прекрасно работает. Спасибо за наводку, а то я вчера полвечера только сетап правил. (по тем примерам, что в мануале) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
powermail отправка уведомлений | margol | Общие вопросы | 6 | 14.03.2011 14:00 |
freeCap CAPTCHA не работает корректно с Powermail? | Semen | Общие вопросы | 1 | 03.08.2010 13:50 |
powermail - ошибки | margol | Общие вопросы | 7 | 26.02.2010 15:23 |
Как прикрепить несколько файлов в Powermail? | Semen | Общие вопросы | 0 | 27.12.2009 21:56 |
Powermail не работает Go Back.. | viair | Общие вопросы | 3 | 14.11.2009 04:12 |