форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Pauk
Продвинутый
 
Pauk's Avatar
Default Создание собственного условия
0

Маловато мне стало возможностей, которые предоставляет форум, хочу сделать свои, но не знаю, как и вообще возможно ли это Поэтому обращаюсь за помощью к знатокам.
Суть такая (в простом виде). Мне надо, чтобы в профиле пользователей была галочка с каким-то описанием. Если пользователь ставит эту галочку, то ему показывается одна шапка форума, если он ее снимает, то другая.
На самом деле надо не для этого, но это самый простой и понятный пример. Т.е. надо самому создать условие, проверка которого будет выполняться форумом, а вписываться оно будет в какой-то шаблон.
Насколько это реально и трудно?
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
6

можно делать свои, дополнительные настройки, для этого нужно включить дебаг моде в админке (хак есть на форуме) и там уже задавать свои настройки, а в шаблонах и коде плагинов свои условия выполнения этих настроек, посмотри так же список хуков, а какой за что отвечает, нужно рыть в самих файлах воблы, тогда будет более-менее понятно, где подключать свой код
для отладки и просмотра нагрузки сервера или кол-во выполненных запросов, можно включить дебаг и на форуме или поставить хак "микростатс"
=))
в общем то, сложно только начать
если что то конкретное непонятно - спрашивай, постараюсь помочь... =))
 
 
ViolentOr
АнтиГуру
Default
0

Pauk, а то, что ты просишь - делаешь экстра поле, а дальше в шапке заполняешь, что если выбрано то одно, иначе другое
 
 
AnTekapb
Эксперт
interpreter
 
AnTekapb's Avatar
Default
0

kerk, где микростатс взять? ))
 
 
Pauk
Продвинутый
 
Pauk's Avatar
Default
0

Ну вот например. Если я сделаю вот так, чего-то же будет не хватать
В шаблон modifyoptions добавляю
PHP Code:
<label for="cb_balbes"><input type="checkbox" name="balbes" value="1" />Я балбес</label
А в header добавляю
PHP Code:
<if condition="$bbuserinfo['balbes']">
<
img src="balbes.jpg">
</if> 
Это будет работать?

Last edited by Pauk : 03-08-2006 at 05:36 PM.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

нет, небудет
тебе нужно сначала настройку занести в базу, что бы форум оттуда ее читал
выше написано, как это делать...
 
 
Pauk
Продвинутый
 
Pauk's Avatar
Default
0

Да, я поставил дебуг, посмотрел его возможности. В принципе, понятно для чего он нужен и что он может. Загвоздка лишь в том, что я не понял, как это делать :( Есть ли где-нибудь описание того, что и как с ним надо проделывать, чтобы создать своё условие?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

открой в настройках какой нибудь не сложный продукт в режиме дебаг и посмотри, как там все устроено, если продукт использует шаблон, глянь так же и его, какие и как там прописаны условия
 
 
Pauk
Продвинутый
 
Pauk's Avatar
Default
0

Хе, kerk, ты в своем первом посте в этой теме преувеличил мои умственные способности, а в третьем приуменьшил
Я смотрел настройки других параметров, в принципе, основную массу понял. Не понятно, какие надо сделать настройки для того, чтобы описанный мной выше пример заработал. Если я разберусь с ним, только тогда я разберусь со всем остальным.
 
 
kerk
k0t
 
kerk's Avatar
Default
69

Quote:
Originally Posted by Pauk
первом посте в этой теме преувеличил мои умственные способности, а в третьем приуменьшил
и не собирался... =))
======
ну хорошо, давай подробней....
  1. что хочешь сделать
  2. как это реализовать
  3. создавать продукт, делать плагином или просто одна настройка
  4. есть ли такие или подобные настройки в самой вобле
======
Quote:
Originally Posted by Pauk
Мне надо, чтобы в профиле пользователей была галочка с каким-то описанием. Если пользователь ставит эту галочку, то ему показывается одна шапка форума, если он ее снимает, то другая.
если делаем продукт

в манагере продуктов добавляем:
в поле "Номер продукта": свою переменную - pauk_product
в поле "Заголовок": свое название, можно по-русски
в поле "Версия": версию, скажем.... 1.0.0
в поле "Описание" свое описание, что данный хак делает
потом сохраняем и идем в основные настройки....
======

в основных настройках (режим дебаг!) добавляем новую группу настроек, например:
pauk_product_group
-
потом в этой группе добавляем свои настройки:
1. можно, но не обязательно => вкл/откл
-
=======
эта настройка в шаблоне будет выглядеть так:
HTML Code:
<if condition="$vboptions[pauk_product_onoff]">$code</if>
т.е. если включено, код отображается
а код php этой настройки будет выгледь так:
PHP Code:
if ($vbulletin->options['pauk_product_onoff'])
  {
    
$code;
  } 
если включено - код работает (нужно для плагина, например)
=======
таким же образом добавляешь другие настройки, но уже с другим кодом и другими переменными, например если хочешь сделать многострочное поле ввода текста, в поле настройки, вместо yesno, пишешь textarea
или можешь добавлять свой код (тут уже немного знаний нужно и внимание )
=======
если хак использует шаблон, делаем след.:
создаем новый шаблон, как это обычно делается в ман. стилей (с переменной pauk_tpl, к примеру)
потом этот шаблон нужно подключить в плагине и вывести на страницу, нууу, к примеру на главную, делаем:
идем в менеджер модулей и созаем новый плагин к нашему готовому продукту
в поле "Продукт" выбираем из выпадающего меню наш продукт
в поле "Местоположение хака" выбираем из выпадающего меню хук "cache_templates" и пишем след код плагина:
PHP Code:
if (THIS_SCRIPT == 'index')
     {
      global 
$globaltemplates;
      
$globaltemplates array_merge($globaltemplates, array('pauk_tpl'));
     } 
можно еще добавить условие на проверку вкл/откл. хака - AND $vbulletin->options['pauk_product_onoff']
сохраняем плагин
потом нам нужно вывести этот плагин на странице, добавляем в менеджере модулей еще один:
так же в поле продукт выбираем наш, а в поле расположение, выбираем хук, которым будем подключать наш код, ну а т.к. решили вывести на главную форума, в конце загрузки страницы, то и хук будет forumhome_complete
php код плагина, примерно следующий:
PHP Code:
if (THIS_SCRIPT == 'index' AND $vbulletin->options['pauk_product_onoff'])
       {
        eval(
'$pauk = "' fetch_template('pauk_tpl') . '";');
       } 
потом нам нужно просто прописать переменную $pauk там, где вы собираетесь вывести отображение своего шаблона, например в шаблоне FORUMHOME
вот собссно очень простое описание создания своего продукта, с такими настройками он будет отображаться только на главной странице и больше нигде, если нужно отображение в другом месте, то соотв. пишем имя скрипта, а если по всему форуму, то вместо THIS_SCRIPT == 'index' - пишем VB_AREA == 'Forum' в обеих плагинах
=======
простой пример, хак "панель ссылок"
посмотри настройки и условия этого хака - там все понятно.... =))
остальное зависит от твоей фантазии, ну и немного навыка...
=======
с плагином немного проще, ненужно добавлять новый продукт, добавляешь плагин, только в поле продукт выбираешь vbulletin
если без продукта и без плагина, то добавляешь только группу настроек и свои настройки в этой группе
или добавляешь свою настройку к уже существующим вобловским настройкам.....
=======
фух.... надеюсь этот небольшой мануал кому то пригодится
если что то непонятно, попробую объяснить.........
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 06:16 AM.


Powered by vBulletin® Version 3.6.6
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...