<<<1...5...10...32333435363738>>>
Принимаем вопросы от населения
webitproff |
|
||
---|---|---|---|
#46726 Dayver: Павел, а с этим не подскажите?
чтобы подключить на конкретной странице ? аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Dayver |
|
||||||
---|---|---|---|---|---|---|---|
#46727 webitproff: Для проверок в коде подключаемом через хуки в модуле пользователей подошёл бы код
Но из-за того что код выполняющися через хук rc вызывается ранеее в common.php то и переменные $env['ext'] и $m еще пусты потому нужно через озвученую выше связку проверок:
только для того что бы не было предупреждений генерируемых PHP8 нужно добавить проверки isset (как показано выше) или !empty - в зависимости от конкретной ситуации Pavlo Tkachenko aka Dayver
|
webitproff |
|
||
---|---|---|---|
#46728 Dayver:#46727 webitproff: четко! работает на 8.1 Очень благодарен! давно копался с этим аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Dayver |
|
||
---|---|---|---|
#46724 Kabak: И замечание номер четыре. Ваш плагин даже после проделанных манипуляций не будет работать у других потому что код инициализации
использует селекторы section.div_block_register которые присутствуют только в вашей индивидуальной теме сайта и они не будут работать ни для дефолтой коробочной темы ни для других сторонних тем стрктура которых явно будет отличатся от вашей. Потому в любом случае потребуется ручная адаптация вашего плагина для применения тем кто захочет его использовать, а потому это следует осветить(объяснить) в описании к плагину Добавлено 8 минут спустя: Это основные замечания которые влияют на работу плагина и стоило бы исправить\учесть ... остальные замечания (по типу стиля написания кода) являются не влияющими на работу и потому пока можно не упоминать в разрезе начала обучения написания плагинов .... но если желание продолжать творить не пропадёт все же рекомендовал бы ознакомится с соотв. документацией
Если резюмировать то пункты замечаний 1-3 могут не влиять на работоспособность плагина и кое-как работать он может но вот пункт 4 критически важен и из-за этого он скорее всего не будет работать у всех остальных которые захотят им воспользоватся но в силу недостатка знаний не поймут почему он не работает Pavlo Tkachenko aka Dayver
|
|||
This post was edited by Dayver (2023-05-30 00:53, 1 year ago) |
Kabak
![]() |
|
---|---|
Где посмотреть как именно + качественно нужно оформить работу плагина через Ajax? Я пока не понимаю как это сделать через Ajax
Безусловно, я хочу сделать плагин качественным.
Помогите, пожалуйста, правильно оформить и загружать части плагина.
Для меня
- тёмный , незнакомый лес. |
|
This post was edited by Kabak (2023-05-30 07:08, 1 year ago) |
webitproff |
|
---|---|
#46731 Kabak: лично я далеко не php-программист, - так читать код, что-то по конкретным примерам, используя конструкции, что-то пересобрать на свой лад, гд потом куча запчастей лишних )) поэтому и не умствую по php, потому что компетентности только на чтение кода и то далеко не всегда. Но вам бы порекомендовал, по вашему вопросу, начать с перелопачивания темы, в которой максимально собрано для написания расширения с нуля Добавлено 13 минут спустя: по Ajax - статейка старенькая, но наверное всё что есть аккаунт удален - не срослось с разработчиками
ушел на другой движок |
|
This post was edited by webitproff (2023-05-30 07:41, 1 year ago) |
Kabak
![]() |
|
---|---|
Дело в том, что все мои плагины c 2014 года я так и писал, - подсматривая в чужие плагины и анализируя код, а по выходу у меня в голове фрагменты знаний и нет системы особой. Как видите, мои подсмотренные решения - не соответствуют качеству и требованиям Cotonti. А получить исчерпывающие знания изучая чужой код возможно с огромными временными затратами. У меня уже нет столько временного ресурса Добавлено 3 минуты спустя: Я попытался указать плагину hook=ajax и переделал вызов php скрипта, но Ajax пишет ошибку вызова. Разбираться с этим вслепую - чувствую слишком затратно по времени. Это как brute force пароля к чему-нибудь. |
Kopusha |
|
||||||
---|---|---|---|---|---|---|---|
1. в users/inc/ создаем users.ajax.php
в корне users - users.rc.php
Далее users/js/users.js
вроде бы все, выдирал с рабочего проекта где много другого, может что и забыл модуль есесно обновить |
Dayver |
|
||||
---|---|---|---|---|---|
#46734 Kopusha: Оговорка номер один - советовать хакать дефолный модуль - не очень потому что при очередном обновлении все хаки уплывут в мир забвения. И первоначальный подход к решению задачи в виде плагина самый правильный а фаршировать хаками свой или сайт клиента это путь в невозможность обновлять движок на этом сайте. Почему народ это делает?! Возможно проект такой - на этапе создания понятно что быстреее и проще сделать как есть быстро хакнув нужные файлы понимая что на этом сайте обновления движка никогда не будут производится. А возможно народ подумал что проект мёртв и обновлений ожидать не стоит - но чудеса случаются) Возможно кто-то посмотрев на вышеупомянутый код и файлы скажет что хака как такового нет поскольку рекомендуемые действия не затрагивают существующие в дефолтном модуле файлы, но тут всплывает оговорка номер два - урл из приведённого примера index.php?e=users&m=ajax.... работать не будет потому что в модуле есть проверка, а потому что б приведённое решение заработало нужно в указанную проверку добавить элемент 'ajax' а это уже будет именно хаком который отвалится при очередном обновлении. Добавлено 3 минуты спустя: #46731 Kabak: 1) в файле nevalidate.php поменяли хук с standalone на ajax ? 2) в админке после этого нажали кнопку обновить? 3) после этих действий при посещении адреса http://ваш.сайт/index.php?r=nevalidate&name=admin что в ответ видите? Добавлено 3 минуты спустя: #46730 Dayver: Для универсализации кода (что б он работал на любой разметке любой темы) почему бы не сократить условия селектора до вида:
Скорее всего такой вариант тоже продолжит работать у вас но и как бонус будет работать и у остальных Pavlo Tkachenko aka Dayver
|
webitproff |
|
---|---|
по больше бы таких замечаний и внимания к деталям. чувствуется профессионализм аккаунт удален - не срослось с разработчиками
ушел на другой движок |
Kabak
![]() |
|
---|---|
Заменил
получаю ответ Добавлено 3 минуты спустя: Но при попытке плагина проверить имя из формы регистрации получаю
|
|
This post was edited by Kabak (2023-05-30 11:57, 1 year ago) |
Dayver |
|
---|---|
#46731 Kabak: К сожалению исчерпывающей документации по класу /system/Resources.php нет и кроме не полных упоминаний на которые уже здесь давали ссылки ничего кроме как ориентироватся на комментарии формата phpDoc в указанном файле пока не могу посоветовать. Но стоит отметить что в указанном классе phpDoc'и весьма исчерпывающие ... возможно вечером постараюсь написать совсем краткий гайд по этому направлению.
З.Ы. Что касается поиска на этом сайте - понимаю, страдаете и взываете о исправлении .... но не думайте что эти призывы остаются не замеченные - работы по ремонту поиска ведутся, просто как и все остальное не теми темпами которыми хотлось бы Pavlo Tkachenko aka Dayver
|
Kabak
![]() |
|
||
---|---|---|---|
1) Как правильно подключить GetUserInfo.js и строки для js.js при установке плагина ? 2) и чтобы плагин заработал через Ajax у меня , а не как standalone
Добавлено 5 минут спустя: js.js исправил.
Тогда нужно чтобы скрипт выполнался только на одной странице сайта - регистрационной. Соотвественно js скрипт нужно грузить только на users.register.tpl Добавлено 3 минуты спустя: у меня получается оба скрипта GetUserInfo.js и js.js находятся не в папке с плагином, а в папке themes\имя_темы\js\ |
|||
This post was edited by Kabak (2023-05-30 11:56, 1 year ago) |
Dayver |
|
||||
---|---|---|---|---|---|
#46737 Kabak: Тут видно две проблемы: 1) из-за того что сайт на стадии разработки включен дебаг и отображение ошибок\предупреждений то предупреждение которое идёт в вывод ломатет структуру хмl возможно поэтому ваш код GetUserInfo.js ругается 2) Исправить что б PHP не ругался вместо
написать такое: кстати почему такой странный выбор имён для переменных в виде массива - можно ж проще
Pavlo Tkachenko aka Dayver
|
Kabak
![]() |
|
---|---|
Идеально, когда оба скрипта js прописываются и подключаются при установке плагина, но я не знаю как это сделать. |