Расширения - это просто!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 17 лет 3 месяца
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 28 раз
- Поблагодарили: 53 раза
Re: Расширения - это просто!
Уже нашёл!!!
Должно быть в миграции (см ниже), а у меня было qr_version!
Должно быть в миграции (см ниже), а у меня было qr_version!
Код: Выделить всё
public function effectively_installed()
{
return isset($this->config['shabbat_version']) && version_compare($this->config['shabbat_version'], '0.1.1', '>=');
}
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 17 лет 3 месяца
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 28 раз
- Поблагодарили: 53 раза
Re: Расширения - это просто!
Пара вопросов.
Что за файл
Если просто записать файл htlm в
Добавлено спустя 10 минут 28 секунд:
Ага, ясно. Если что-то изменил, нужно отключить и включить расширение, чтобы заработало!
Что за файл
styles\prosilver\template\qr_plupload.html
?Если просто записать файл htlm в
styles\prosilver\template\event\
, например overall_header_page_body_before.html, то он должен показываться, или ещё что-то надо?Добавлено спустя 10 минут 28 секунд:
Ага, ясно. Если что-то изменил, нужно отключить и включить расширение, чтобы заработало!
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
- Поддержка
- Сообщения: 12751
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Код для загрузки через plupload вынесла в отдельный файл. Он инклудится вБорис Бердичевский писал(а):qr_plupload.html
styles/prosilver/events/overall_footer_after.html
Больше ничего, должен отображаться (разве что кеш очистить)Борис Бердичевский писал(а):то он должен показываться, или ещё что-то надо?
Добавлено спустя 1 минуту 13 секунд:
Не обязательно. Кеш чистить, и лучше вручную из cacheБорис Бердичевский писал(а):отключить и включить расширение
-
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 17 лет 3 месяца
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 28 раз
- Поблагодарили: 53 раза
Re: Расширения - это просто!
Ещё вопросик. В событии шаблона используется переменная, скажем
S_BOARD_SHABBAT
, ее значение вводится в настройке расширения. Как оно (значение) передаётся в шаблон, чтобы это сработало?После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
- Поддержка
- Сообщения: 12751
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
-
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 17 лет 3 месяца
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 28 раз
- Поблагодарили: 53 раза
Re: Расширения - это просто!
Как передавать, я в общем разобрался (я так думаю). Но возникла другая проблема: конфигурация не запоминается в Настройке расширения...
Добавлено спустя 37 секунд:
Продолжу уже завтра вечером...
Добавлено спустя 37 секунд:
Продолжу уже завтра вечером...
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Расширения - это просто!
У вас там целый кусок кода закомментирован, может, поэтому?Борис Бердичевский писал(а):конфигурация не запоминается в Настройке расширения...
-
- phpBB 2.0.4
- Сообщения: 421
- Стаж: 14 лет 10 месяцев
- Откуда: Москва
- Благодарил (а): 14 раз
- Поблагодарили: 23 раза
Re: Расширения - это просто!
А вот с этого места и хотелось бы по подробнее для всеобщего понятия.Татьяна5 писал(а):Надо передать его в слушателе, через подходящее событие ядра
Например пользователь Вася Пупкин захотел своими руками немного улучшить форум, создав что то своё.
Немного зная основы (по совету друзей - см. htmlbook

Весело пишет типа:
Код: Выделить всё
<!-- Панель входа -->
<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT and not S_DISPLAY_FULL_LOGIN -->
<a href="#x" class="overlay" id="login_form"></a>
<div class="popup">
<h2>{L_OF_WELCOM}</h2>
<p>{L_OF_PAROL_NAME}</p>
<form method="post" action="{S_LOGIN_ACTION}" id="login" >
Так далее.....
<!-- ENDIF -->
<!-- /Панель входа -->
Код: Выделить всё
.overlay {
background-color: rgba(0, 0, 0, 0.6);
bottom: 0;
cursor: default;
left: 0;
opacity: 0;
и так далее}
Включает в админке и видит что вроде и получилось но не все.
1. Как Васе вставить стилевое оформление.
2. Вася создал новую языковую перемеренную {L_WELCOM_ВАСЯ} а что делать дальше не знает, а шаблона нет и читал он только нтмлбук, а еще боится слово слушатель и ядро.
3. И как Васе изменить через расширение (что занимало раньше 10 сек.) строчку
Код: Выделить всё
<li class="small-icon icon-logout rightside" data-skip-responsive="true"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">{L_LOGIN_LOGOUT}</a></li>
Код: Выделить всё
<li class="small-icon icon-logout rightside" data-skip-responsive="true"><a href="#login_form" id="login_pop" title="{L_LOGIN_LOGOUT}" accesskey="x" role="menuitem">{L_LOGIN_LOGOUT}</a></li>
На вкус и цвет - разный CSS
-
- Поддержка
- Сообщения: 12751
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Добавить его в событии стиляВладимирТ писал(а):1. Как Васе вставить стилевое оформление.
overall_header_head_append
в <style>
, или подключить файл css (в том же событии) через
Код: Выделить всё
<!-- INCLUDECSS ../theme/my_file.css -->
my_file.css
должен быть в папке ext/ ... /styles/prosilver/theme
Без php не обойтись.ВладимирТ писал(а):2. Вася создал новую языковую перемеренную {L_WELCOM_ВАСЯ} а что делать дальше не знает, а шаблона нет и читал он только нтмлбук, а еще боится слово слушатель и ядро.
Слушатель =
listener.php
в расширенииЯдро = файлы php движка
Болванка для создания расширений тут
Чтобы языковая переменная была доступна везде:
В слушателе подписываемся на событие
core.user_setup
Код: Выделить всё
static public function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_language_on_setup',
);
}
load_language_on_setup
(его добавить после метода getSubscribedEvents
) подключаем языковой файл
Код: Выделить всё
public function load_language_on_setup($event) {
$lang_set_ext = $event['lang_set_ext'];
$lang_set_ext[] = array(
'ext_name' => 'nickname/myextension',
'lang_set' => 'my_language_file',
);
$event['lang_set_ext'] = $lang_set_ext;
}
Вариант 1: Добраться до неё с помощью js/jQuery (в шаблоне много id и неповторяющихся классов) и изменитьВладимирТ писал(а):3. И как Васе изменить через расширение (что занимало раньше 10 сек.) строчку
Вариант 2: Переопределить значение переменной
{U_LOGIN_LOGOUT}
в подходящем событии ядра-
- phpBB 2.0.4
- Сообщения: 421
- Стаж: 14 лет 10 месяцев
- Откуда: Москва
- Благодарил (а): 14 раз
- Поблагодарили: 23 раза
Re: Расширения - это просто!
Спасибо, Таня!
Более доступного объяснения наверное не придумаешь, теперь народ будет меньше опасаться 3.1 и начнет потихоньку ваять свои форумы.
Не плохо было бы сделать в "Базе знаний" статейку типа "Создание дополнительных (произвольных) страниц в стиле конференции" только по расширениям.
Более доступного объяснения наверное не придумаешь, теперь народ будет меньше опасаться 3.1 и начнет потихоньку ваять свои форумы.
Не плохо было бы сделать в "Базе знаний" статейку типа "Создание дополнительных (произвольных) страниц в стиле конференции" только по расширениям.
Еще бы добавить общедоступный пример js типа взять id или класс, найти в нем div, найти в div пятую li, заменить или добавить строчку.Татьяна5 писал(а):Вариант 1: Добраться до неё с помощью js/jQuery
На вкус и цвет - разный CSS
-
- Поддержка
- Сообщения: 12751
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Есть "Hello World!" - Extension, пример страницыВладимирТ писал(а):статейку типа "Создание дополнительных (произвольных) страниц в стиле конференции" только по расширениям.
На http://jquery.page2page.ru всё расписано проще некудаВладимирТ писал(а):общедоступный пример js
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Расширения - это просто!
Татьяна5
у вас в БО скрипты вынесены в шаблон-файл футера, js - не используется.
могли бы вы объяснить, в общем случае - по каким принципам скрипты есть смысл оставлять в js-файлах, а в каких -размещать в файлах шаблонов.
вариант с необходимостью использования условий в шаблонах - понятен.
у вас в БО скрипты вынесены в шаблон-файл футера, js - не используется.
могли бы вы объяснить, в общем случае - по каким принципам скрипты есть смысл оставлять в js-файлах, а в каких -размещать в файлах шаблонов.
вариант с необходимостью использования условий в шаблонах - понятен.
-
- Поддержка
- Сообщения: 12751
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 159 раз
- Поблагодарили: 2276 раз
Re: Расширения - это просто!
Alecto, указаний с phpbb.com про это пока нет, единственное что видела - по объёму кода js (небольшой можно оставить в шаблоне, большой перенести в отдельный файл)
У меня БО в dev-версии, так что пишу как мне удобней править код
У меня БО в dev-версии, так что пишу как мне удобней править код
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Расширения - это просто!
в шаблоне не очень удобно, потому как для каждого изменения приходится обновлять кэш (не отключал эту опцию в админке). в JS - сразу видны изменения
некоторые (не все!) скрипты, в том числе и большие, перетащил в шаблон по причине того, что там можно использовать шаблонные условия и включать части скрипта только тогда и там где они нужны, что в общем случае дает оптимизацию кода. т.е. где это требовалось - перетащил в шаблон, остальные - оставил в JS.
может и заблуждаюсь, просветите, если появятся дополнительные аргументы.
некоторые (не все!) скрипты, в том числе и большие, перетащил в шаблон по причине того, что там можно использовать шаблонные условия и включать части скрипта только тогда и там где они нужны, что в общем случае дает оптимизацию кода. т.е. где это требовалось - перетащил в шаблон, остальные - оставил в JS.
может и заблуждаюсь, просветите, если появятся дополнительные аргументы.