Среда , 14 Ноябрь 2018
Home / Vbulletin 4 / Отдельное поле для описания раздела

Отдельное поле для описания раздела

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

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

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

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

Итак:

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

2. С таблицами разобрались, теперь нам нужно чтобы в админке появилось отдельное поле описания раздела в настройке раздела. Для этого мы создадим новую фразу description2. для этого зайдем в админку — управление языками и фразами-управление фразами. Устанавливаете имя переменной description2, текст «Описание раздела», ну и на русском «Описание раздела».

Сохраняем нашу фразу. Итак, фраза созданна но как нам вывести поле в админке раздела. для этого идем на фтп идем в папку admincp и редактируем файл forum.php

Ищем:

// Set Defaults;
$forum = array(
'title' => '',
'description' => '',

ниже вставляем:

'description2' => '',

Ищем:

print_textarea_row($vbphrase['description'], 'forum[description]', $forum['description']);

ниже вставляем:

print_textarea_row($vbphrase['description2'], 'forum[description2]', $forum['description2']);

Сохраняем, далее идем в управление разделами. редактируем любой раздел и опа видим второе поле ввода описание, но не спешим радоваться это еще не все.

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

Ищем:

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),

ниже вставляем:

'description2' => array(TYPE_STR, REQ_NO, VF_METHOD),

Ищем:

function verify_description(&$description)
{
$this->set('description_clean', htmlspecialchars_uni(strip_tags($description), false));
$description = convert_to_valid_html($description);

return true;
}

Ниже вставляем:

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

return true;
}

И все, со самым сложным закончили, теперь берем код:

{vb:raw foruminfo.description2}

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

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

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

About artscripts

Check Also

восстановление vbulletin часть 6

Взломали форум — начинаем восстанавливать (Часть 6)

Настала время заменить все файлы Vbulletin форума новой копией. Для этого скачаем новый zip архив …

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