Форуми / National / Russian / Тех. поддержка / Запросы документации

<<<1...5...10...31323334353637>>>

Принимаем вопросы от населения

Kabak
#496 29.05.2023 14:37

Плагин  проверяющий Имя пользователя занято или нет и 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
#497 29.05.2023 15:02

если я правильно всё понял, то я бы сделал так, - в шаблон 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

- ноль эмоций

аккаунт удален - не срослось с разработчиками
ушел на другой движок

Відредаговано: webitproff (29.05.2023 15:26, 2 року тому)
Kabak
#498 29.05.2023 16:07

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/


Відредаговано: Kabak (29.05.2023 16:15, 2 року тому)
webitproff
#499 29.05.2023 16:53
#46714 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/

и зачем оно на всех страница сайта?

а что насчет " id="divMy_Name" " ?

Добавлено 2 минуты спустя:

у вас два участка скриптов, один в файле, а второй куском, а вопрос подняли за один - я прям телепат, сразу понял о чем речь yes  Nice!

Добавлено 2 минуты спустя:

короче он у меня так и не пошел на всем дефолтном, хотя идея может и стоящая, но каждому своё

аккаунт удален - не срослось с разработчиками
ушел на другой движок

Відредаговано: webitproff (29.05.2023 17:03, 2 року тому)
Kabak
#500 29.05.2023 17:06

Да, каждому своё. Вы просто невнимательно проделали то, о чём я написал выше.

 

GetUserInfo.js и js.js   должны находятся в папке skin_name/js/

webitproff
#501 29.05.2023 17:14
#46716 Kabak:

Да, каждому своё. Вы просто невнимательно проделали то, о чём я написал выше.

 

GetUserInfo.js и js.js   должны находятся в папке skin_name/js/

документация по теме.

так что вынужден не согласиться

Добавлено 2 минуты спустя:

кроме того, вопрос, - "зачем этот JS код по всем страницам сайта? для всех? в том числе и уже для авторизованных?"

аккаунт удален - не срослось с разработчиками
ушел на другой движок
Kabak
#502 29.05.2023 17:36

оба .js хранятся в скине который активен, а не по всем страницам сайта и выполняется только на одной странице users.register.tpl при заполнении формы новым пользователем.

webitproff
#503 29.05.2023 17:53
#46718 Kabak:

оба .js хранятся в скине который активен, а не по всем страницам сайта и выполняется только на одной странице users.register.tpl при заполнении формы новым пользователем.

точно?

 

это уже после того, как я плагин удалил xDDD

аккаунт удален - не срослось с разработчиками
ушел на другой движок
Kabak
#504 29.05.2023 18:04

js.js  - это глобальный скрипт Cotonti который идёт с любым скином в котором предполагается выполнять js скрипты.  У меня-то всё работает на нескольких сайтах.  Хотел поделиться со всеми. 

( не знаю почему вы показываете здесь созданный движком HTML )

плагин не удаляет и не устанавливает ни один из этих .js    Я как раз хотел этот процесс автоматизировать. smiley

 

webitproff
#505 29.05.2023 19:23
#46720 Kabak:

js.js  - это глобальный скрипт Cotonti который идёт с любым скином в котором предполагается выполнять js скрипты.  У меня-то всё работает на нескольких сайтах.  Хотел поделиться со всеми. 

 

( не знаю почему вы показываете здесь созданный движком HTML )

плагин не удаляет и не устанавливает ни один из этих .js    Я как раз хотел этот процесс автоматизировать. smiley

 

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

поковырялся, вобщем дело ваше конечно, но я бы сделал так (тоже решил поделиться)

создаем в папке плагина файл

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 или какие манипуляции с ним нужны, для корректной работы плагина

аккаунт удален - не срослось с разработчиками
ушел на другой движок

Відредаговано: webitproff (29.05.2023 19:34, 2 року тому)
Kabak
#506 29.05.2023 19:37

Благодарю.  Я как раз с js разбираюсь. Попробую изменить плагин.  Странно, что у вас он не заработал

webitproff
#507 29.05.2023 19:53
#46722 Kabak:

Благодарю.  Я как раз с js разбираюсь. Попробую изменить плагин.  Странно, что у вас он не заработал

прошу обратить внимание

строка 20 в коде выше

if ($_GET['e'] == 'users' && $_GET['m'] == 'register') ....

это для PHP 7.4

нужно чтоб Алексей Кальнов помог адаптировать под php 8.1

аккаунт удален - не срослось с разработчиками
ушел на другой движок
Kabak
#508 29.05.2023 20:05

Было бы неплохо создать отдельную ветку, где высказывались бы по улучшению этого плагина.  Я отправил этот плагин на утверждение на этом сайте и , вероятно, к нему можно будет писать комментарии и улучшения. Постараюсь всё изменить, чтобы было корректно.  Жаль, что Павел и Алексей не высказываются и не помогают адаптировать этот плагин к движку корректно.  По-моему, этот плагин достоин интеграции в базовую поставку движка, при использовании модуля users

 

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

webitproff
#509 29.05.2023 20:44
#46723 webitproff:
if ($_GET['e'] == 'users' && $_GET['m'] == 'register') ....

это для PHP 7.4

нужно чтоб Алексей Кальнов помог адаптировать под php 8.1

вот так у меня пошло на php 8.1 (но не знаю, насколько это правильно)

if ($env['ext'] == 'users' && $_GET['m'] == 'register')

не правильно!

в списке пользователей ругается!

нужна помощь адаптировать под php 8.1

аккаунт удален - не срослось с разработчиками
ушел на другой движок

Відредаговано: webitproff (29.05.2023 21:58, 2 року тому)
Dayver
#510 29.05.2023 21:50
#46710 Kabak:
#46709 webitproff:

вопрос не полный, прошу пример

Добавлено 36 секунд спустя:

или давайте уже плагин да посмотрим как лучше, если он у вас не коммерческий

На утвержениии модератора этого сайта

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

Добавлено 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

Відредаговано: Dayver (29.05.2023 22:30, 2 року тому)

<<<1...5...10...31323334353637>>>