Среда , 14 Ноябрь 2018
Home / Барахолка / Vbulletin 4 | Ссылаемся на переменные плагина в ваших шаблонах
переменные в Vbulletin
переменные в Vbulletin

Vbulletin 4 | Ссылаемся на переменные плагина в ваших шаблонах

Эта статья в основном для тех кто переходит с vbulletin 3 на vbulletin 4 и столкнулся с выводом переменных в шаблонах при написании плагина.

До новой версии форума (до четверки) вы обращались к переменным в плагине так, как бы вы ссылались в рамках стандартного php сценария. В связи с изменениями в Vbulletin 4 так зделать уже не получится.

Но не пугайтесь, как только вы поймете новый формат переменных в шаблонах, обращение к переменным в плагине не будет казаться вам трудной задачей. Давайте посмотрим на новый формат переменных, сравнивая некоторые примеры как они выглядат в Vbulletin 3.8.x и Vbulletin 4.
Как только вы поймете новый vBullein 4 переменной шаблона формата, ссылаясь на переменные плагин будет простым. Давайте взглянем на новый формат переменной, сравнивая некоторые примеры того, как они выглядят в vbulletin 3.8.x и vbulletin 4.

Автор: Алексей Раков

Ну да ладно, от слов к делу рассмотрим конкретные примеры.

Пример 1:

Предположим, что мы с вами написали некий плагин который хранит свои данные в переменной $myplugin_output. При использовании Vbulletin 3.8.x мы могли просто вставить эту переменную в в наши шаблоны и любоваться результатом на сайте. В Vbulletin 4 такой прием не проканает, чтобы ссылаться на эту же переменную в плагине нам нужно в шаблоне вставить следующее:

{vb:raw myplugin_output}

То есть интерпретируем переменную мы уже по своему, пугаться нечего это дело привычки. Привязка к нужной нам переменной в плагине происходит автоматически. Указав ее в шаблоне в новой интерпретации она автоматом переведется в {vb:raw myplugin_output} и обработается в плагине.

Пример 2:

Предположим, что мы храним наши переменные в массиве, внутри плагина наша переменная выглядит как $myplugin_var[‘output1’] или $myplugin_var[output1]. Эти переменные в шаблоне обрабатываем также как и в первом примере, но с небольшими изменениями. Вот как наша переменная будет записанна в шаблоне:

{vb:raw myplugin_var.output1}

Да, как не удивительно в Vbulletin 4 это делается так. В этом случае ключевой массив в нашей переменной выводится после имени массива и разделяется точкой. Таким образом, этот тип переменных всегда выводится следующим образом:

$arrayName[‘key’] переводится в {vb:raw arrayName.key}

На самом деле это очень просто. Все делается так же как на предыдущих версиях движка, включены только небольшие изменения оформления, если можно так сказать.

Неправда ли не так запутано все как стращают? Теперь давайте усложним с вами задачу, так сказать автоматизируем процесс вставки переменных в наши шаблоны, через плагины.

Допустим, мы с вами хотим вывести слово «Это мой плагин» в заголовке шаблона. В следующем примере (при условии что вы выберите правильное место расположение хака) мы попытаемся это сделать.

$ myplugin_output = «Это мой плагин»;

$ myplugin_output будет ссылаться на определенный шаблон.

Но, чтобы это сделать в Vbulletin 4 нужно провести небольшую дополнительную работу. чтобы наш текст появился на форуме. Вы должны ссылаться на определенные шаблоны или «Вобла» будет их игнорировать.

Если мы хотим сделать как задумали, то есть чтобы наша переменная выводилась в заголовке шаблона, то вы должны в какое-то место вашего плагина добавить следующее. (В какое место сказать просто не возможно, все зависит от мощности вашего плагина, обычно ставят в самом низу.)

vB_Template::preRegister(‘header’,array(‘myplugin_output’ => $myplugin_output));

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

Например, если мы хотим чтобы эта переменная выводилась в Forumhome вы должны помимо этого дописать еще 1 строку в вашем плагине.

vB_Template::preRegister(‘header’,array(‘myplugin_output’ => $myplugin_output));
vB_Template::preRegister(‘FORUMHOME’,array(‘myplugin_output’ => $myplugin_output));

Неправда ли не страшно? 🙂 Я бы даже сказал нт нечего невозможного. и если вам допустим нужно вывести несколько переменных, тогда просто добавьте массив, о массивах я писал выше.

Пользуйтесь) Если вы уже действительно начали заниматься 4кой, то ее нужно учить, не кто за вас не чего не сделает.

Рейтинг статьи

0%

Рейтинг

Поставьте оценку данному материалу!

User Rating: Be the first one !

About artscripts

Check Also

Dropbox backup

Сохраняем бекапы на Dropbox

И начнем мы с небольшого скрипта, который поможет нам автоматически делать бекапы наших проектов и …

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.