Как добавить любую дополнительную галочку в сборку (решено)
Добавлено: Сб июл 27, 2019 5:49 am
Часто спрашивают, как добавить любую дополнительную галочку в сборку (например огонёк). Список изменяемых фалов (на самом деле если всё грамотно прописывать их больше), тут указаны только основные, которые мы сегодня затронем:
\templates\Default\profile.tpl
\system\modules\profile.php
\js\main.js
\system\modules\search.php
\templates\Default\search\result_people.tpl
\js\common.js
\system\inc\users.php
\system\inc\massaction.php
/********\
Что мы и, как делаем в пользовательской части:
1) Чтобы добавить галочку нужно ориентироваться на стандартный verification - это самый лучший ориентир для создания дополнительной галки!
2) Открываем "profile.tpl" и ищем строку:И добавляем после {lastname} > {verification} и должно получится так: <div class="titleu"> {name} {lastname} {verification}<div class="online_time">{online}</div></div>. Тут можно делать неограниченное количество галок, вот например в текущей сборке vk-x.ru так:В этом файле всё, идём дальше:
3) Открываем модуль: "profile.php" и ищем:В этот запрос мы добавляем свою или свои галки:Далее ниже в этом же файле добавляем:Тут всё поехали дальше!
4) В sql таблице vii_users нужно добавить строку (в нашем случае): "verifi" параметры такие:с:
[*]\system\modules\search.php
[*]\templates\Default\search\result_people.tpl
проделываем тоже самое.
/********\ А теперь админка:
1) Понеслись в "users.php". тут в самом низу ищем:и добавляем наши значения:В этом файле всё, сваливаем дальше:
2) Открываем "massaction.php". этот файл будет очень вкусным, если в нём некорректно прописать наши галки, админка отвалится! Ищем:и меняем наДалее ищем ниже:и после добавляем:В этом же файле ищем (посередине):в вставляем ниже:На этом всё.!
p.s.:
1) Проверяйте правильность sql. часто ошибки совершают именно тут!.
2) В этой инструкции описан рабочий вариант, он используется и работает безупречно!
3) САМОЕ ГЛАВНОЕ: Не пытайтесь поставить на 1 профиль все галки, работать не будет! Так, как в css стоить "position: absolute;", если его убрать со всех галок, то они пойдут в ряд.
4) Можно выдавать галки без админки, меняя значения в ручную в sql таблице.
5) Если вы планируете делать кучу галок, рекомендую создать отдельный каталог в img\.
6) Вы всё сделали, но не работает. Мой код подойдёт к вашей сборке на 95%, я незнаю вашу сборку и значения могут расходиться, проверяйте .php ...
7) Готовые файлы я не могу скинуть, они очень-очень кардинально изменены и нарушат Вашу сборку, ошибок ух.... будет!
8) Делайте обязательно БЭКАПЫ - что это такое: гугл.
Есть вопросы, задавайте в этой теме, помогу, отвечу ... Вам удачи.
\templates\Default\profile.tpl
\system\modules\profile.php
\js\main.js
\system\modules\search.php
\templates\Default\search\result_people.tpl
\js\common.js
\system\inc\users.php
\system\inc\massaction.php
/********\
Что мы и, как делаем в пользовательской части:
1) Чтобы добавить галочку нужно ориентироваться на стандартный verification - это самый лучший ориентир для создания дополнительной галки!
2) Открываем "profile.tpl" и ищем строку:
Код: Выделить всё
<div class="titleu"> {name} {lastname} <div class="online_time">{online}</div></div>
Код: Выделить всё
<div class="titleu"> {name} {lastname} {verification}{verifi}{verifi_music}{verifi_youtube}{verifi_idea}{verifi_kakaha}{verifi_dota}{verifi_la2}{verifi_vkoff}{verifi_tanki}{verifi_8090g}<div class="online_time">{online}{online2}{onlinehidden}</div></div>
3) Открываем модуль: "profile.php" и ищем:
Код: Выделить всё
$tpl->load_template('profile.tpl');
$row_params = $db->super_query("SELECT verification FROM `".PREFIX."_users` WHERE user_id = '{$id}'", false, "user_{$id}/params");
Код: Выделить всё
$row_params = $db->super_query("SELECT verifi, verification FROM `".PREFIX."_users` WHERE user_id = '{$id}'", false, "user_{$id}/params");
Код: Выделить всё
// Верификация "интересно знать"
$verifi = '<a href="/iz" onclick="Page.Go(this.href); return false;"><img onMouseover="pageVerifiedTipiz(this);" src="{theme}/images/top.gif" /></a>';
// Верификация "интересно знать"
if($row_params['verifi']){
$tpl->set('{verifi}', $verifi);
}else{
$tpl->set('{verifi}', '');
}
4) В sql таблице vii_users нужно добавить строку (в нашем случае): "verifi" параметры такие:
Код: Выделить всё
name = verifi
type = tinyint
length = 2
decimals = 0
allow null = false
[*]\system\modules\search.php
[*]\templates\Default\search\result_people.tpl
проделываем тоже самое.
/********\ А теперь админка:
1) Понеслись в "users.php". тут в самом низу ищем:
Код: Выделить всё
<option value="24">Убрать верификацию пользователя</option>
Код: Выделить всё
<option value="25">Верифицировать (iz)</option>
<option value="26">Убрать верификацию (iz)</option>
2) Открываем "massaction.php". этот файл будет очень вкусным, если в нём некорректно прописать наши галки, админка отвалится! Ищем:
Код: Выделить всё
if($mass_type <= 24 AND $mass_type >= 1){
Код: Выделить всё
if($mass_type <= 26 AND $mass_type >= 1){
Код: Выделить всё
//Убераем верификацию пользователя
else if($mass_type == 24){
//Проверяем есть юзер в базе или нет
$check_user = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
$db->query("UPDATE `".PREFIX."_users` SET verification = '0' WHERE user_id = '{$user_id}'");
mozg_mass_clear_cache_file("user_{$user_id}/params");
}
Код: Выделить всё
//Верификация (интересно знать)
else if($mass_type == 25){
//Проверяем есть юзер в базе или нет
$check_user = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
if($check_user['cnt'])
$db->query("UPDATE `".PREFIX."_users` SET verifi = '1' WHERE user_id = '{$user_id}'");
mozg_mass_clear_cache_file("user_{$user_id}/params");
}
//Убираем верификацию (интересно знать)
else if($mass_type == 26){
//Проверяем есть юзер в базе или нет
$check_user = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
$db->query("UPDATE `".PREFIX."_users` SET verifi = '0' WHERE user_id = '{$user_id}'");
mozg_mass_clear_cache_file("user_{$user_id}/params");
}
Код: Выделить всё
else if($mass_type == 24)
msgbox('Верификация', 'Выбранные пользователи потеряли верифицированы', '?mod=users');
Код: Выделить всё
else if($mass_type == 25)
msgbox('Верификация', 'Выбранные пользователи верифицированы в режиме IZ', '?mod=users');
else if($mass_type == 26)
msgbox('Верификация', 'Выбранные пользователи потеряли верификацию IZ', '?mod=users');
p.s.:
1) Проверяйте правильность sql. часто ошибки совершают именно тут!.
2) В этой инструкции описан рабочий вариант, он используется и работает безупречно!
3) САМОЕ ГЛАВНОЕ: Не пытайтесь поставить на 1 профиль все галки, работать не будет! Так, как в css стоить "position: absolute;", если его убрать со всех галок, то они пойдут в ряд.
4) Можно выдавать галки без админки, меняя значения в ручную в sql таблице.
5) Если вы планируете делать кучу галок, рекомендую создать отдельный каталог в img\.
6) Вы всё сделали, но не работает. Мой код подойдёт к вашей сборке на 95%, я незнаю вашу сборку и значения могут расходиться, проверяйте .php ...
7) Готовые файлы я не могу скинуть, они очень-очень кардинально изменены и нарушат Вашу сборку, ошибок ух.... будет!
8) Делайте обязательно БЭКАПЫ - что это такое: гугл.
Есть вопросы, задавайте в этой теме, помогу, отвечу ... Вам удачи.