Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 12.10.2010, 21:24   #1
agravin
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
agravin вне форума   Ответить с цитированием
Старый 13.10.2010, 10:07   #2
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Кроме того, нужно глянуть, какие библиотеки JS используются, если mootools, то может происходить конфликт с prototype. Вроде как, это можно настроить через константы. Проблема может быть и в этом...
Андрей Аксенов вне форума   Ответить с цитированием
Старый 13.10.2010, 11:05   #3
agravin
Senior Member
 
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
По умолчанию

В константах прописано plugin.powermail.libraryToUse = mootools - без толку
agravin вне форума   Ответить с цитированием
Старый 13.10.2010, 11:59   #4
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

По-моему, там ничего мудрить не надо, чтобы сообщение о неверно заполненных полях появлялось вверху формы, нужно установить такую константу:
Код:
plugin.powermail {
    # cat=plugin.powermail_additionalconfig//0510; type=boolean; label= Сообщение об обязательных полях вверху формы: можно выбрать между сообщением, появляющимся вверху формы, или отображением этого сообщения на дополнительной странице с кнопкой возврата (по умолчанию)
    mandatory.messages = 1
}
Остальное возможно, используя различные части этого setup TS.
В частности нужно разобраться с 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
agravin
Senior Member
 
Регистрация: 17.12.2009
Адрес: Moscow
Сообщений: 168
По умолчанию

Спасибо за совет. Попробую разобраться с TS. Хотя больше всего меня смущает то, что при установке powermail на новый сайт JS работал без телодвижений с моей стороны, а тут нет.
agravin вне форума   Ответить с цитированием
Старый 13.10.2010, 12:28   #6
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

с этими ява-сценариями всегда так, нужно следить, не закралась ли там еще какая библиотека... иначе все сломается
Андрей Аксенов вне форума   Ответить с цитированием
Старый 13.10.2010, 12:30   #7
agravin
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]

- все прекрасно работает. Спасибо за наводку, а то я вчера полвечера только сетап правил. (по тем примерам, что в мануале)
agravin вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


Часовой пояс GMT +4, время: 21:31.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория