<<<1...5...10...31323334353637>>>
Принимаем вопросы от населения
Kabak |
|
---|---|
Плагин проверяющий Имя пользователя занято или нет и E-mail уже кто-то ввёл при регистрации нового пользователя GetUserInfo.js нужно подключить к теме и в js.js прописать внутри $().ready(function() { } вот это $("section.div_block_register input[name=rusername]").after("<div id=\"divMy_Name\"></div>"); $("section.div_block_register input[name=ruseremail]").after("<div id=\"divEmail\"></div>"); $("section.div_block_register input[name=rusername]").blur(function(){ process_name(); }) $("section.div_block_register input[name=ruseremail]").blur(function(){ process_email(); })
|
webitproff |
|
---|---|
если я правильно всё понял, то я бы сделал так, - в шаблон users.register.tpl от своей темы <!-- IF {PHP.cot_plugins_active.nevalidate} --> <script src="{PHP.cfg.plugins_dir}/nevalidate/GetUserInfo.js" type="text/javascript"></script> <!-- ENDIF -->
Добавлено 1 минута спустя: счас проверю/ даже прямо вкинул код с GetUserInfo.js в public_html/themes/nemesis/js/js.js - ноль эмоций аккаунт удален - не срослось с разработчиками
ушел на другой движок |
|
Dit bericht is bewerkt door webitproff (2023-05-29 15:26, 11 maanden ago) |
Kabak |
|
---|---|
GetUserInfo.js подключается в скине который используется при регистрации SKIN_NAME.rc.php Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/js/GetUserInfo.js'); и чтобы всё заработало нужно выполнить всё что я написал в посте #49629.05.2023 17:37
GetUserInfo.js и js.js находятся в папке skin_name/js/ |
|
Dit bericht is bewerkt door Kabak (2023-05-29 16:15, 11 maanden ago) |
webitproff |
|
---|---|
#46714 Kabak: и зачем оно на всех страница сайта? а что насчет " id="divMy_Name" " ? Добавлено 2 минуты спустя: у вас два участка скриптов, один в файле, а второй куском, а вопрос подняли за один - я прям телепат, сразу понял о чем речь Nice! Добавлено 2 минуты спустя: короче он у меня так и не пошел на всем дефолтном, хотя идея может и стоящая, но каждому своё аккаунт удален - не срослось с разработчиками
ушел на другой движок |
|
Dit bericht is bewerkt door webitproff (2023-05-29 17:03, 11 maanden ago) |
Kabak |
|
---|---|
Да, каждому своё. Вы просто невнимательно проделали то, о чём я написал выше.
GetUserInfo.js и js.js должны находятся в папке skin_name/js/ |
webitproff |
|
---|---|
#46716 Kabak: документация по теме. так что вынужден не согласиться Добавлено 2 минуты спустя: кроме того, вопрос, - "зачем этот JS код по всем страницам сайта? для всех? в том числе и уже для авторизованных?" аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Kabak |
|
---|---|
оба .js хранятся в скине который активен, а не по всем страницам сайта и выполняется только на одной странице users.register.tpl при заполнении формы новым пользователем. |
webitproff |
|
---|---|
#46718 Kabak: точно?
это уже после того, как я плагин удалил xDDD аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Kabak |
|
---|---|
js.js - это глобальный скрипт Cotonti который идёт с любым скином в котором предполагается выполнять js скрипты. У меня-то всё работает на нескольких сайтах. Хотел поделиться со всеми. ( не знаю почему вы показываете здесь созданный движком HTML ) плагин не удаляет и не устанавливает ни один из этих .js Я как раз хотел этот процесс автоматизировать.
|
webitproff |
|
---|---|
#46720 Kabak: Алексей, я о том, что откройте любую страницу сайта, любую новость, пост форума, - у вас подгрузится в исходном коде ваши скрипты, тогда как они нужны лишь на единственной странице, это регистрация. поковырялся, вобщем дело ваше конечно, но я бы сделал так (тоже решил поделиться) создаем в папке плагина файл nevalidate.footer.php в него вставляем код <?php /* ==================== [BEGIN_COT_EXT] Hooks=footer.first [END_COT_EXT] ==================== */ /** * for Cotonti * * @package * @version * @author * @copyright Copyright * @license BSD */ defined('COT_CODE') or die('Wrong URL'); if ($_GET['e'] == 'users' && $_GET['m'] == 'register'){ Resources::linkFileFooter(Cot::$cfg['plugins_dir'] . '/nevalidate/GetUserInfo.js', 'js'); Resources::embedFooter(<<<JS $().ready(function() { $("section.div_block_register input[name=rusername]").after("<div id=\"divMy_Name\"></div>"); $("section.div_block_register input[name=ruseremail]").after("<div id=\"divEmail\"></div>"); $("section.div_block_register input[name=rusername]").blur(function(){ process_name(); }) $("section.div_block_register input[name=ruseremail]").blur(function(){ process_email(); }) }); JS ); }; в админке обновляем плагин и теперь он будет именно там, где ему и место, только на странице регистрации Добавлено 1 минута спустя: ну может порядок изменить Добавлено 3 минуты спустя: и в инструкцию к плагину, желательно пример users.register.tpl или какие манипуляции с ним нужны, для корректной работы плагина аккаунт удален - не срослось с разработчиками
ушел на другой движок |
|
Dit bericht is bewerkt door webitproff (2023-05-29 19:34, 11 maanden ago) |
Kabak |
|
---|---|
Благодарю. Я как раз с js разбираюсь. Попробую изменить плагин. Странно, что у вас он не заработал |
webitproff |
|
---|---|
#46722 Kabak: прошу обратить внимание строка 20 в коде выше if ($_GET['e'] == 'users' && $_GET['m'] == 'register') .... это для PHP 7.4 нужно чтоб Алексей Кальнов помог адаптировать под php 8.1 аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Kabak |
|
---|---|
Было бы неплохо создать отдельную ветку, где высказывались бы по улучшению этого плагина. Я отправил этот плагин на утверждение на этом сайте и , вероятно, к нему можно будет писать комментарии и улучшения. Постараюсь всё изменить, чтобы было корректно. Жаль, что Павел и Алексей не высказываются и не помогают адаптировать этот плагин к движку корректно. По-моему, этот плагин достоин интеграции в базовую поставку движка, при использовании модуля users.
Во всяком случае, очень удобно когда человек при регистрации видит, что имя которое он хочет для себя установить уже занято до момента отправления формы регистрации на утверждение. |
webitproff |
|
---|---|
#46723 webitproff:if ($_GET['e'] == 'users' && $_GET['m'] == 'register') .... вот так у меня пошло на php 8.1 (но не знаю, насколько это правильно) if ($env['ext'] == 'users' && $_GET['m'] == 'register') не правильно! в списке пользователей ругается! нужна помощь адаптировать под php 8.1 аккаунт удален - не срослось с разработчиками
ушел на другой движок |
|
Dit bericht is bewerkt door webitproff (2023-05-29 21:58, 11 maanden ago) |
Dayver |
|
---|---|
#46710 Kabak:#46709 webitproff: Пожалуйста загрузите архив со своим плагином либо сюда на сайт и уже на загруженый оставляйте ссылку при публикации плагинов либо выложите на гитхаб и оставляйте ссылку на него там. Потому как ссылки формата уж очень мало живут это раз (взять вот часть опубликованных тут плагинов с такими ссылками уже мертвы ... было ошибкой позволять пользователям публиковать таким образом плагины) и два лично у меня даже не скачивается ничего по этой ссылке потому утверждать страницу, пока не посмотрю что публикуется, не буду. Добавлено 31 минута спустя: По плагину: Ошибка номер один - хук для основной части вашего плагина судя по логике его работы должен быть не standalone а ajax . Только не забудьте потом в своём файле GetUserInfo.js вместо index.php?e=nevalidate&name= написать index.php?r=nevalidate&name= Замечание номер два - как уже посоветовали выше подключить ваш файл GetUserInfo.js следует с помощью файла nevalidate.rc.php с хуком Hooks=rc и подключением через одну из функций по подключению ресурсов например Resources::addFile(Cot::$cfg['plugins_dir'] . '/nevalidate/lib/GetUserInfo.js'); ... так же обратите внимание что сам файл лучше положить в подпапку js или lib или inc например, но это так для порядка больше ибо на работу местопложение никак не повляет но зато будет соответвовать формату расширений для движка файловая структура которого описана в документации тут Совет номер три - опять же как рекомендовали выше код инициализации работы срипта следует внедрять с помощью функций типа Resources::addEmbed тогда установка движка будет автоматической без необходимости правки файлов js.js тем Для ясности можете посмотреть как устроена работа коробочного плагина autocomplete там есть rc часть плагина отвечающая за подключение ресурсов Pavlo Tkachenko aka Dayver
|
|
Dit bericht is bewerkt door Dayver (2023-05-29 22:30, 11 maanden ago) |