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

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

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

Kabak
#496 2023-05-29 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 2023-05-29 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

- ноль эмоций

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

Dit bericht is bewerkt door webitproff (2023-05-29 15:26, 11 maanden ago)
Kabak
#498 2023-05-29 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/


Dit bericht is bewerkt door Kabak (2023-05-29 16:15, 11 maanden ago)
webitproff
#499 2023-05-29 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 минуты спустя:

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

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

Dit bericht is bewerkt door webitproff (2023-05-29 17:03, 11 maanden ago)
Kabak
#500 2023-05-29 17:06

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

 

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

webitproff
#501 2023-05-29 17:14
#46716 Kabak:

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

 

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

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

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

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

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

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

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

webitproff
#503 2023-05-29 17:53
#46718 Kabak:

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

точно?

 

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

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

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

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

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

 

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

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

Dit bericht is bewerkt door webitproff (2023-05-29 19:34, 11 maanden ago)
Kabak
#506 2023-05-29 19:37

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

webitproff
#507 2023-05-29 19:53
#46722 Kabak:

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

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

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

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

это для PHP 7.4

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

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

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

 

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

webitproff
#509 2023-05-29 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

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

Dit bericht is bewerkt door webitproff (2023-05-29 21:58, 11 maanden ago)
Dayver
#510 2023-05-29 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

Dit bericht is bewerkt door Dayver (2023-05-29 22:30, 11 maanden ago)

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