Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Расширения - это просто!

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Расширения - это просто!

Сообщение rxu »

Будет. Например, в эксте склейки БО использует событие.
Изображение
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: Расширения - это просто!

Сообщение Алг »

Будет. TopicPreview, например, подключается к событиям нескольких расширений
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 11 лет 11 месяцев
Благодарил (а): 101 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

Re: Расширения - это просто!

Сообщение xisp »

Прикольно.
phpBBex
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Я писал(а):В функции revert_data() вместо 'module.add' нужно вписать 'module.remove'
Хорошо, что я по ходу дела в этом разобрался, но для проблемы, которую я решал, нужно было сделать по-другому.
revert_data() там не нужен, а нужно добавить проверку на выборку записи

Код: Выделить всё

'SELECT * FROM ' . MODULES_TABLE . " WHERE module_langname='Лог регистраций'";
И по этой проверке (если найдено) удалить лишнюю пагу ACP, прямо в update_data()

Код: Выделить всё

			array('if', array(
				($this->CheckIfRegisterModulePresent()),
				array('module.remove', array('acp', 'ACP_FORUM_LOGS', array(
					'module_basename'	=> 'acp_logs',
					'module_langname'	=> 'Лог регистраций',
					'module_mode'		=> 'register',
					'module_auth'		=> 'acl_a_viewlogs',
				))),
			)),
Последний раз редактировалось Борис Бердичевский 02.12.2014 9:48, всего редактировалось 1 раз.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Расширения - это просто!

Сообщение Sheer »

Борис Бердичевский писал(а):WHERE module_langname='Лог регистраций'";
Ой как некрасиво!!! Борис Бердичевский, для лангнейм нужно использовать языковые объекты, например ACP_LOG_REGISTER
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Расширения - это просто!

Сообщение Борис Бердичевский »

Sheer
дело в том, что при переводе БД из 3.0 выяснилось: именно так это было записано в БД. Потому нет выбора, только так это можно удалить оттуда. И записать как положено, с переменной 'ACP_REGISTER_LOGS'.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 4 месяца
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Расширения - это просто!

Сообщение Shredder »

Каким образом подключить свой скрипт ПОСЛЕ plupload?

Код: Выделить всё

<!-- EVENT overall_footer_after -->

<!-- IF S_PLUPLOAD --><!-- INCLUDE plupload.html --><!-- ENDIF -->
{$SCRIPTS}

</body>
</html>
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Расширения - это просто!

Сообщение rxu »

Shredder
Согласно документации, при использовании в любом событии конструкции вида

Код: Выделить всё

<!-- INCLUDEJS my_scripts.js -->
скрипт будет загружен через переменную шаблона $SCRIPTS.

Аналогично с css - при использовании конструкции вида

Код: Выделить всё

<!-- INCLUDECSS my_styling.css -->
таблица стилей загружается через переменную шаблона $STYLESHEETS.
Изображение
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 4 месяца
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Расширения - это просто!

Сообщение Shredder »

rxu
Да, я это пробовал. К сожалению, скрипты подключаются в месте события, а не в месте $SCRIPTS
Выходит, что нужно просить разработчиков переместить <!-- EVENT overall_footer_after --> после $SCRIPTS, чтобы дать авторам расширений возможность взаимодействовать с plupload. Или добавить новое событие.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Расширения - это просто!

Сообщение rxu »

Shredder писал(а):К сожалению, скрипты подключаются в месте события, а не в месте $SCRIPTS
Как это определили?
Изображение
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 4 месяца
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Расширения - это просто!

Сообщение Shredder »

Пробовал подключить через событие <!-- EVENT overall_footer_after --> - скрипт работает, есть в исходном коде и успешно открывается, но выводится до библиотеки. То же самое и со скриптами других расширений, подключаемыми через INCLUDEJS.

Добавлено спустя 12 минут 3 секунды:
Если событие <!-- EVENT overall_footer_after --> переместить в коде шаблона, чтобы оно стояло после plupload, то всё начинает работать, как нужно.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Расширения - это просто!

Сообщение rxu »

Да. Фишка в том, что в plupload.html в самом используется INCLUDEJS, поэтому неясно, в каком порядке происходит их включение в переменную $SCRIPTS. Попробуем выяснить.

Добавлено спустя 5 минут 18 секунд:
Случайный порядок.
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет 1 месяц
Благодарил (а): 57 раз
Поблагодарили: 625 раз

Re: Расширения - это просто!

Сообщение Anvar »

Да, есть такое явление. И ещё, INCLUDEJS не работает во многих других событиях.

В обоих случаях приходится использовать обычный способ <script></script> и даже такой способ, в overall_footer_after усердно подключается выше forum_fn.js и ajax.js
Shredder
Former team member
Сообщения: 2224
Стаж: 15 лет 4 месяца
Благодарил (а): 124 раза
Поблагодарили: 138 раз

Re: Расширения - это просто!

Сообщение Shredder »

Anvar писал(а):В обоих случаях приходится использовать обычный способ <script></script>
Чтобы подключить сейчас свой скрипт после plupload, нужно физически изменить шаблон - что противоречит самой идее расширений. Или есть какой-то другой способ?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Расширения - это просто!

Сообщение rxu »

Shredder
А что за сценарий работы? Почему нужно именно ниже, вроде бы место объявления функций не имеет значения, как и в PHP?
Изображение

Вернуться в «Для разработчиков»