форум vBSupport.ru > vBulletin > vBulletin 4.0.x-4.1.х > Made in vBSupport.org 4.0.x-4.1.х
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default Отдельное поле для описания раздела.
2

Возможно немного не понятно из названия, опишу тут. данная модификация отделяет описание раздела от главной форума и описания раздела внутри самого раздела.

Встала задача сделать большое описание внутри раздела, но на главной смотритца некрасиво. данная модификация создает доп поле в настройках раздела, для своего описания....ой чето я сам запутался.

Так как я еще не научился полноценно писать хаки, поэтому если кто возьмется доработать хаком, будет супер.

Итак:

1. С чего начать, идем в phpmyadmin, открываем нашу базу данных, в ней ищем таблицу forum. И добавляем туда 2 поля description2 и description_cleаn2 с теме же параметрами как и у description. Сделали, отлично! Хочу сразу предупредить тех кто не знает и не умеет, будьте аккуратны).

2. С таблицами разобрались, теперь нам нужно чтобы в админке появилось отдельное поле описания раздела в настройке раздела. Для этого мы создадим новую фразу description2. для этого зайдем в админку - управление языками и фразами-управление фразами. Устанавливаете имя переменной description2, текст "Описание раздела", ну и на русском "Описание раздела". Сохраняем нашу фразу. Итак, фраза созданна но как нам вывести поле в админке раздела. для этого идем на фтп идем в папку admincp и редактируем файл forum.php

Ищем:
Code:
// Set Defaults;
		$forum = array(
			'title' => '',
			'description' => '',
ниже вставляем:
Code:
'description2' => '',
Ищем:
Code:
print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);
ниже вставляем:
Code:
print_textarea_row($vbphrase['description2'], 'forum[description2]', $forum['description2']);
Сохраняем, далее идем в управление разделами. редактируем любой раздел и опа видим второе поле ввода описание, но не спешим радоваться это еще не все.

3. Нам нужно поставить асоциации к описанию, чтобы форум обрабатывал именно то, что нам надо. для этого идем в папку includes и редактируем файл class_dm_forum.php.

Ищем:
Code:
var $validfields = array(
		'forumid'           => array(TYPE_UINT,       REQ_INCR, VF_METHOD, 'verify_nonzero'),
		'styleid'           => array(TYPE_INT,        REQ_NO,   'if ($data < 0) { $data = 0; } return true;'),
		'title'             => array(TYPE_STR,        REQ_YES,  VF_METHOD),
		'title_clean'       => array(TYPE_STR,        REQ_YES),
		'description'       => array(TYPE_STR,        REQ_NO,   VF_METHOD),
ниже вставляем:
Code:
'description2'       => array(TYPE_STR,        REQ_NO,   VF_METHOD),
Ищем:
Code:
function verify_description(&$description)
	{
		$this->set('description_clean', htmlspecialchars_uni(strip_tags($description), false));
		$description = convert_to_valid_html($description);

		return true;
	}
Ниже вставляем:

Code:
function verify_description2(&$description2)
	{
		$this->set('description_clean2', htmlspecialchars_uni(strip_tags($description2), false));
		$description2 = convert_to_valid_html($description2);

		return true;
	}
И все, со самым сложным закончили, теперь берем код:
Code:
<vb:if condition="$foruminfo['description2']"><p class="description">{vb:raw foruminfo.description2}</p></vb:if>
и вставляем туда куда хотим выводить наше второе описание, которого не будет видно на главной форума.

Может быть этот хак уже где-то есть, и уже до меня это сделано, просто решил выложить, может кому пригодится.

Не спешите использовать сразу на основных форумах, попробуйте на тестах, или подождите когда кто-нить отпишется, в спешке мог чего и позабыть.
С уважением.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Mikes06
Простоузер
Default
0

Народ, а для версии 3.8.7 все то же самое делать или есть какие-то ньюансы?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

все можно сделать хаком, в том числе и описанные в первом сообщении манипуляции с файлами
у воблы достаточно хуков в нужных местах для поставленной задачи
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default
0

kerk, Согласен, но пока мои познания на уровне прямого вмешательства в файлы, дойдут руки, возможно хаком сделаю. Хотя с такой переодичностью четверки, проще действительно хакам сделать.
 
 
Mikes06
Простоузер
Default
0

Все сделал как написано, но на последнем этапе, когда надо сохранить шаблон (выбрал navbar), с кодом в том месте, где нужно выводить описание, пишет :

Quote:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/h1296/data/www/мойдомен/includes/adminfunctions_template.php(3942) : eval()'d code on line 289

Вероятно, это вызвано неверно сформированным выражением. Очень рекомендуется исправить эту ошибку перед продолжением, но вы можете продолжить как есть.
Форум 3.8.7.
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default
1

Mikes06, В тройке переменные выводятся по другому, отсюда и ошибки. Посмотрите в showtreads как выводятся описания раздела, скопируйте и подставьте description2
 
 
Mikes06
Простоузер
Default
0

Вроде как вот так надо сделать (вставил это в navbar):

Quote:
<if condition="$show['forumdesc']">
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="alt1" width="100%"><strong>$foruminfo[title]</strong> <span class="smallfont">$foruminfo[description2]</span></td>
</tr>
</table>
<br />
</if>
Когда добавил описание (второе) и нажал сохранить, выдало вообще фатал :

Quote:
Fatal error: Field description_clean2 is not defined in $validfields in class vB_DataManager_Forum in [path]/includes/class_dm.php on line 485
Может в пункте 3 (из 1 сообщения темы) надо было еще description_clean2 добавить ?
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default
0

class_dm_forum.php добавте description_clean2 , хотя я с тройкой не работаю, там хз
 
 
Mikes06
Простоузер
Default
0

"Почти" получилось, но ошибка :

Quote:
vBulletin 3.8.7:

Invalid SQL:
UPDATE forum SET
title_clean = 'Новости',
title = 'Новости',
description_clean = 'Самые свежие новости со всего мира.',
description = 'Самые свежие новости со всего мира.',
description_clean2 = '123',
description2 = '123',
link = '',
displayorder = 1,
parentid = 1,
daysprune = -1,
defaultsortfield = 'lastpost',
defaultsortorder = 'desc',
showprivate = 0,
newpostemail = '',
newthreademail = '',
### Bitfield: forum.options ###
options = IF(options & 8, options - 8, options),
options = IF(options & 16, options - 16, options),
options = IF(options & 32, options - 32, options),
options = IF(options & 32768, options - 32768, options),
options = IF(options & 8192, options - 8192, options),
options = IF(options & 4, options, options + 4),
options = IF(options & 1, options, options + 1),
options = IF(options & 2, options, options + 2),
options = IF(options & 16384, options, options + 16384),
options = IF(options & 256, options - 256, options),
options = IF(options & 64, options, options + 64),
options = IF(options & 128, options, options + 128),
options = IF(options & 512, options, options + 512),
options = IF(options & 1024, options, options + 1024),
options = IF(options & 2048, options, options + 2048),
options = IF(options & 4096, options, options + 4096),
options = IF(options & 65536, options, options + 65536),
options = IF(options & 131072, options - 131072, options),
styleid = 0,
imageprefix = '',
password = ''
WHERE forumid = 2;

MySQL : Unknown column 'description_clean2' in 'field list'
Проверил базу, там все идентично по другому description и clean2. Куда можно покопать?

Mikes06 добавил 19.04.2012 в 03:47
Решил проблему переписав вручную в базе данных *clean2*.
Теперь проблема с отображением - не отображается, вариант отображение что указал выше был взят из Navbar, в шоутридс не нашел ничего по ключу "descr"... куда копать?)

Mikes06 добавил 19.04.2012 в 04:18
Вновь решил проблему -

За место - <if condition="$show['forumdesc']">

Написал

<if condition="!$show['forumdesc']"> (просто вставил восклицательный знак)

НО

Описание отображается на страницах в Темах. А нужно, чтобы описание раздела/подраздела (дополнительно2, которые мы сделали) - было отображено только исключительно на странице раздела/подраздела, иначе это уже дубли будут и грошь цена в плане SEO для такого описания, если только закрыть его на страницах тем в noindex, но как это сделать я то же не знаю...

Last edited by Mikes06 : 04-19-2012 at 04:18 AM. Reason: Добавлено сообщение
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default
0

Mikes06, Чтобы отображалась только в разделах, установите код в forumdisplay ниже обычного описание, а обычное с шаблона удалите, чтобы оно только на главной показывалось.
 


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 09:57 PM.


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