Сейчас работаю над созданием каталога недвижимости и была необходимость создать в adsmanager vip-выделения объявлений. Задача также состояла в том, чтобы только администратор мог управлять этой функцией.
Сделал следующее:
1. Открываем базу данный (например, через phpmyadmin) и добавляем в таблицу
_adsmanager_ads следующую строку (делаем SQL-запрос)
ALTER TABLE `msr_adsmanager_ads` ADD `vip` INT( 11 ) NOT NULL
Только не забудьте свой префикс поставить, вместо msr
2. В файле
admin.adsmanager.html.php находим функцию
function displayAd и после кода
<tr>
<td><?php echo ADSMANAGER_TH_USER; ?></td>
<td>
<select name="userid" id="userid">
<?php foreach($users as $user) { ?>
<option value="<?php echo $user->id;?>" <?php if ($user->id == $userid) { echo "selected"; } ?>><?php echo $user->username; ?></option>
<?php } ?>
</select>
</td>
<td> </td>
</tr>
вставляем
<!-- VIP user or no-->
<tr>
<td>
<?php echo ADSMANAGER_TH_VIP; ?>
</td>
<td>
<select name="vip" id="vip">
<option value="0" <?php if ($row->vip == 0) { echo "selected"; } ?>><?php echo ADSMANAGER_TH_VIP_NO; ?></option>
<option value="1" <?php if ($row->vip == 1) { echo "selected"; } ?>><?php echo ADSMANAGER_TH_VIP_YES; ?></option>
</select>
</td>
</tr>
<!--// VIP user or no-->
3. Открываем файл
adsmanager.class.php и добавляем в класс
class adsManagerAd4. Открываем файл
adsmanager.html.php, находим функцию
function show_list (будем выделать это объявление в списке объявлений) и после строки
foreach($rows as $row) { добавляем
if($row->vip==1){
$class_style = 'vip1';
}else $class_style = '';
Дальше находим в этой же функции (ниже) примерно эти строки
<table class="adsmanager_table ....
и изменяем на
<table class="adsmanager_table<?php echo $class_style; ?>">
Т.е. задаем стиль для выделения.
5. В файле
adsmanager.css задаем стиль для vip-объявлений.
Например
table.adsmanager_table {border: 1px solid #FFF; width: 100%;}
table.adsmanager_tablevip {border: 1px solid #000; width: 100%;}
6. Так же было бы хорошо, чтобы VIP-объявление стояло выше, тогда открываем файл
adsmanager.php и находим функцию f
unction adsList, прокручиваем почти в самый низ и находим строку
else if ($order != 0)меняем код
else
{
$order_text = "a.date_created DESC ,a.id DESC";
}
на
else
{
$order_text = "a.vip DESC, a.date_created DESC ,a.id DESC";
}
ну вот и все.
Ах да, не забудьте добавить в языковой файл переменные
ADSMANAGER_TH_VIP
ADSMANAGER_TH_VIP_NO (нет выделения)
ADSMANAGER_TH_VIP_YES (есть выделение)
Пример можно посмотреть
тут (еще дорабатываю сайт, основа (поля и пока что временный дизайн) была взята с mosr.ru, дизайн будет новый (на след. неделе запускаем проект + на неделе доработаю поиск по тегам)
+++ Забыл добавить, что тестировал на Joostina 1.2.0 + AdsManager 2.5 RC2