--
-- Структура таблицы `category`
--
CREATE TABLE IF NOT EXISTS `category` (
`cat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cat_parent_id` int(10) unsigned NOT NULL DEFAULT '0',
`cat_title` varchar(255) CHARACTER SET utf8 NOT NULL,
`cat_meta_title` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT 'Meta-title',
`cat_meta_keywords` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'Мета-ключевые слова',
`cat_meta_description` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'Мета-описание',
`cat_desctiption` text CHARACTER SET utf8 COMMENT 'Описание категории',
`cat_ads_top` text CHARACTER SET utf8 COMMENT 'Реклама отображаемая вверху списка объявлений',
`cat_ads_middle` text CHARACTER SET utf8 COMMENT 'Реклама отображаемая в центре списка объявлений',
`cat_ads_bottom` text CHARACTER SET utf8 COMMENT 'Реклама отображаемая внизу списка объявлений',
`cat_order` int(11) unsigned NOT NULL COMMENT 'Порядок вывода категорий',
`cat_group` varchar(20) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`cat_id`),
KEY `cat_parent_id` (`cat_parent_id`),
KEY `cat_group` (`cat_group`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='Таблица Категорий чего либо' AUTO_INCREMENT=814 ;
--
-- Дамп данных таблицы `category`
--
INSERT INTO `category` (`cat_id`, `cat_parent_id`, `cat_title`, `cat_meta_title`, `cat_meta_keywords`, `cat_meta_description`, `cat_desctiption`, `cat_ads_top`, `cat_ads_middle`, `cat_ads_bottom`, `cat_order`, `cat_group`) VALUES
(789, 0, 'Автомобили', 'Автомобили', 'Автомобили', 'Автомобили', 'Автомобили', '', '', '', 0, 'board'),
(790, 0, 'Недвижимость', 'Недвижимость', 'Недвижимость', 'Недвижимость', 'Недвижимость', '', '', '', 0, 'board'),
(795, 789, 'Тойота', 'Тойота', 'Тойота', 'Тойота', 'Тойота', '', '', '', 0, 'board'),
(796, 790, 'Аренда квартир', 'Аренда квартир', 'Аренда квартир', 'Аренда квартир', 'Аренда квартир', '', '', '', 0, 'board');
attrs
(список характеристик)id | name
sets
(список наборов характеристик)id | name
attr_sets
(связи между характеристикой и набором)attr_id | set_id
.... | set_id
values
(значения характеристик)id | attr_id | value
product_attrs_values
(связи значений с товарами)product_id | attr_id | value_id
INSERT INTO `category` (`cat_id`, `cat_parent_id`, `cat_title`, `cat_meta_title`, `cat_meta_keywords`, `cat_meta_description`, `cat_desctiption`, `cat_ads_top`, `cat_ads_middle`, `cat_ads_bottom`, `cat_order`, `cat_group`) VALUES
(789, 0, 'Автомобили', 'Автомобили', 'Автомобили', 'Автомобили', 'Автомобили', '', '', '', 0, 'board'),
(790, 0, 'Недвижимость', 'Недвижимость', 'Недвижимость', 'Недвижимость', 'Недвижимость', '', '', '', 0, 'board'),
(795, 789, 'Тойота', 'Тойота', 'Тойота', 'Тойота', 'Тойота', '', '', '', 0, 'board'),
<?php defined("MOMENT_BOARD") or die("Access denied");
$part_url = User::isComeAsAdmin() == TRUE ? 'admin.php?mod=board.ad' : 'index.php?mod=board.user';
?>
<!-- Если админ, то метатайтл -->
<?php if(User::isComeAsAdmin() == TRUE): ?>
<div class="yui3-g field">
<div class="yui3-u label">
<?php echo lng::_('Meta-title:') ?>
</div>
<div class="yui3-u">
<?php echo Helper_Form::input('ad_meta_title', $ad_meta_title, array('class' => 'text')) ?>
</div>
</div>
<?php endif; ?>
<!-- Заголовок -->
<div class="zagolovok-objavi">
<div class="zagolovok-txt">
<?php echo lng::_('Заголовок*') ?>
</div>
<div class="formazagolovka">
<?php echo Helper_Form::input('ad_title', $ad_title, array('class' => 'textzag', 'maxlength' => '90')) ?>
<div class="ogranichenie">Осталось <span id="summar"></span> символов. <span class="addpravilo">Не пишите в заголовке город, цену, контактные данные!</span></div>
<script>
$(document).ready(function(){
$('.textzag').limit('90','#summar');
});
</script>
</div>
</div>
<!-- Цена -->
<div class="cena-tovara">
<div class="cena-zagolovok">
<?php echo lng::_('Цена') ?>
</div>
<div class="cena-form">
<?php echo Helper_Form::input('ad_sum', $ad_sum, array('class' => 'textcena', 'maxlength' => '13')) ?> <span class="valuta-cena">грн.</span>
</div>
</div>
<!-- Текст объявления -->
<div class="text-objavi">
<div class="text-objavi-zagol">
<?php echo lng::_('Описание*') ?>
</div>
<div class="textarea-text-objav">
<?php echo Helper_Form::textarea('ad_text', $ad_text, array('class' => 'textarea-objavlenie', 'maxlength' => '3000')) ?>
<div class="ogranichenie-opis">Осталось <span id="summar-opis"></span> символов</div>
<script>
$(document).ready(function(){
$('.textarea-objavlenie').limit('3000','#summar-opis');
});
</script>
</div>
</div>
<!-- Фото к объявлению -->
<div class="foto-k-objavleniu">
<div class="foto-zagolov">
<?php echo lng::_('Фотографии') ?>
</div>
<div class="formu-dlja-fotografii" id="form_add_ad-foto">
<div class="formochka-dlya-foto">
<!-- Если фотки добавлены, то выполняем эту функшинс -->
<?php if($ad_foto == TRUE): ?>
<?php echo Helper_Form::file(NULL, array('class' => 'file-foto', 'disabled' => 'disabled')) ?>
<?php echo Helper_HTML::file_anchor(Modules_Board_Controllers_Index::PATH_VIEW_NORMAL.$ad_foto, '<img src="'.Modules_Board_Controllers_Index::PATH_VIEW_THUMB.$ad_foto.'">', array('class' => 'ad_foto', 'rel' => 'img')) ?>
<?php echo Helper_HTML::anchor($part_url.'&go=deletefoto&ad_id='.$ad_id,'<img src="/images/skin/admin/icons/icon16-delete.png" class="icon-dele-foto" alt="Delete">',array('onclick' => 'return confirm("'.Lng::_('Удалить фотографию?').'")', 'icon' => TRUE)) ?>
<?php else: ?>
<!-- А это новое поле... ляляля... -->
<?php echo Helper_Form::file('ad_foto', array('class' => 'file-add-foto', 'accept' => 'jpg')) ?>
<?php endif; ?>
</div>
<!-- А если с нуля, то вот это работает... хех... -->
<?php if(sizeof($ImagesAr) > 0): ?>
<?php foreach ($ImagesAr as $Img): ?>
<div class="formochka-dlya-foto">
<?php echo Helper_Form::file(NULL, array('class' => 'file-foto', 'disabled' => 'disabled')) ?>
<?php echo Helper_HTML::file_anchor(Modules_Board_Controllers_Index::PATH_VIEW_NORMAL.$Img -> im_img, '<img src="'.Modules_Board_Controllers_Index::PATH_VIEW_THUMB.$Img -> im_img.'">', array('class' => 'ad_foto', 'rel' => 'img')) ?>
<?php echo Helper_HTML::anchor($part_url.'&go=deletefoto&ad_id='.$ad_id.'&im_id='.$Img -> im_id,'<img src="/images/skin/admin/icons/icon16-delete.png" class="icon-dele-foto" alt="Delete">',array('onclick' => 'return confirm("'.Lng::_('Удалить фотографию?').'")', 'icon' => TRUE)) ?>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
<div class="field-dobavka">
<?php echo Helper_HTML::anchor('#', Lng::_('Добавить ещё одно фото'), array('class' => 'btnAddImg')) ?>
<div class="pred-k-foto">
<?php echo lng::_('Объявления с фото в 10 раз эфективнее.') ?>
<span class="addpravilo"><?php echo lng::_('Максимум 8 фото, каждое должно быть не более') ?> <?php echo Modules_Board_Controllers_Index::UPLOAD_MAX_SIZE_VIEW ?></span>
</div>
</div>
<!-- Город -->
<div class="vibor-goroda-add-o">
<div class="gorod-zagol">
<?php echo lng::_('Город') ?>
</div>
<div class="vibrat-gorod-l">
<?php echo Helper_Form::select('ad_region_id',
(array('0' => Lng::_('Днепропетровская область')) + $city_ar),
$ad_region_id, array('class' => 'select-vibor-goroda')) ?>
<div class="esli-net-goroda">
<?php echo Lng::_('Если Ваш город отсутствует, ')?><?php echo Helper_HTML::anchor('index.php?mod=feedback', 'напишите нам',array('target' => '_blank')) ?><?php echo Lng::_(' название (только Днепропетровская область)')?>
</div>
</div>
</div>
<!-- Имя -->
<div class="imia-avtora">
<div class="imia-avtora-zagol">
<?php echo lng::_('Контактное лицо*') ?>
</div>
<div class="imia-avtora-forma">
<?php echo Helper_Form::input('ad_name', $ad_name, array('class' => 'imia-text')) ?>
</div>
</div>
<!-- Email -->
<div class="emeil-avtor">
<div class="emeil-zagol">
<?php echo lng::_('Email*') ?>
</div>
<div class="email-form">
<?php echo Helper_Form::input('ad_email', $ad_email, array('id' => 'ad_email', 'class' => 'text-email')) ?>
</div>
</div>
<!-- Если мыло существует -->
<?php if($is_password == TRUE): ?>
<div class="passemail">
<div class="passemail-zagol">
<?php echo lng::_('Пароль*') ?>
</div>
<div class="pass-form-to-email">
<?php echo Helper_Form::password('password', NULL, array('class' => 'text-pass-to-email')) ?>
</div>
</div>
<?php endif; ?>
<script type="text/javascript">
jQuery(function($) {
$.mask.definitions['~']='[+-]';
$('.text-naber-tlefon').mask('+xx(999)9999999');
});</script>
<!-- Номер телефона -->
<div class="namber-telefona">
<div class="namber-telefona-zagol">
<?php echo lng::_('Номер телефона') ?>
</div>
<div class="forma-dlja-nomera">
<?php echo Helper_Form::input('ad_phone', $ad_phone, array('class' => 'text-naber-tlefon', 'placeholder' => '+38(___)_______')) ?>
</div>
</div>
<!-- Вебсайт -->
<div class="websaitik-ad">
<div class="websait-zagol">
<?php echo lng::_('Web сайт') ?>
</div>
<div class="websait-formochka">
<?php echo Helper_Form::input('ad_site', $ad_site, array('class' => 'text-websaitik', 'placeholder' => 'http://')) ?>
</div>
</div>
<!-- Если админ, то может менять рубрику -->
<?php if(User::isComeAsAdmin() == TRUE): ?>
<div class="pomenjat-rybriku">
<div class="rubrika-zagol">
<?php echo lng::_('Рубрика*') ?>
</div>
<div class="selekt-rybrika">
<?php echo Helper_Form::select('cat_id',
(array('0' => Lng::_(' Выбирите рубрику ')) + $category_ar),
$cat_id, array('class' => 'select-rybrika')) ?>
</div>
</div>
<?php endif; ?>
<!-- Установка срока публикации -->
<div class="srok-publikacii">
<div class="srok-zagol">
<?php echo lng::_('Срок публикации') ?>
</div>
<div class="srok-selected">
<select name="ad_keep" class="select-srok-publikacii">
<!-- Если тут админище -->
<?php if(User::isComeAsAdmin() == TRUE): ?>
<?php if($ad_us_time > 0): ?>
<option value="<?php echo $ad_us_time ?>"><?php echo lng::_('до') ?> <?php echo Str::dateDT($ad_keep) ?></option>
<?php endif; ?>
<?php endif; ?>
<!-- Пользователь выбирает срок -->
<option value="604800"<?php echo $ad_keep == "604800" ? " selected" : "" ?>><?php echo lng::_('Неделя') ?></option>
<option value="1209600"<?php echo $ad_keep == "1209600" ? " selected" : "" ?>><?php echo lng::_('Две недели') ?></option>
<option value="1814400"<?php echo $ad_keep == "1814400" ? " selected" : "" ?>><?php echo lng::_('Три недели') ?></option>
<option value="2678400"<?php echo $ad_keep == "2678400" ? " selected" : "" ?>><?php echo lng::_('Месяц') ?></option>
<option value="5356800"<?php echo $ad_keep == "5356800" ? " selected" : "" ?>><?php echo lng::_('Два месяца') ?></option>
<option value="8035200"<?php echo $ad_keep == "8035200" ? " selected" : "" ?>><?php echo lng::_('Три месяца') ?></option>
</select>
</div>
</div>
Как сделать разные характеристики для разных категорийпросто добавь поля, нужные у категории в таблице и заполняй их, где-то они будут пустыми - если это реально нужно