#847
ЕвгенийЕвгений
Участник

Все вроде легко, сделал, неактивное объявление показывется перейдя по ссылке. НО в активных неактивное всеровно есть, и кол-во объявлений в личном кабинете не меняется — не в активных, не в неактивных.

Я делал все по инструкции! Вот мои отрывки исправленных файлов (жирным шрифтом выделяю, что я исправил и добавил):

1. \moduls\doska\mas_init_component.php
было:

«myadvert» => array( true, array(
//array(«addcatalog»,»get»,»addcatalog»,»text»,true,true,»value»,»on»,false,false,false,false),
array(«page_myadvert»,»get»,»num_page»,»numeric»,false,true,false,false,false,false,false,false)
)
),
стало:
«myadvert» => array( true, array(
//array(«addcatalog»,»get»,»addcatalog»,»text»,true,true,»value»,»on»,false,false,false,false),
array(«page_myadvert»,»get»,»num_page»,»numeric»,false,true,false,false,false,false,false,false),
array(«activ»,»get»,»activ»,»text»,false,true,»value»,»false»,false,»trcd»,false,false)
)
),

2. \moduls\doska\filesmodul\myadvert\control_data.php

в начало файла поставил этот код:
$notactiv =»»;
if($this->mas_inbox[«activ»] ){
$this->add_param_url[«activ»] = $this->mas_inbox[«activ»];
$this->data_light_search[«activ»] = $this->mas_inbox[«activ»];
$notactiv .= » and advert.end_putdate < «.$GLOBALS[«timeGlobal«].» «;
}

далее ниже было:
$db_query=»select count(*) from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»]
.» type_user=’user’ and num_user='».$GLOBALS[«id_user_to_site»].»‘ «;
$this->kolvo_vsego_myadverts=obr_db_query_count($db_query);

стало:
$db_query=»select count(*) from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»]
.» type_user=’user’ and num_user='».$GLOBALS[«id_user_to_site»].»‘ «.$notactiv.» «;
$this->kolvo_vsego_myadverts=obr_db_query_count($db_query);

в этом же файле ниже:
было:

$db_query=»select advert.id_advert,

advert.torg, advert.name_adv, advert.text, advert.image, advert.start_putdate, advert.end_putdate,
advert.name_country_adv, advert.name_region_adv,advert.name_city_adv,advert.cost,
advert.pick_out_adv , advert.is_makegood ,advert.status_adv, advert.n_category, advert.currency,
advert.premium_adv
from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»].» »
.» advert.type_user=’user’ and advert.num_user=».$GLOBALS[«id_user_to_site»].» »
.» order by advert.premium_adv DESC, advert.sort_time DESC limit «.($this->open_num_page_myadverts-1)*KOL_ADVERT_TO_ALL_PAGE.» , «.KOL_ADVERT_TO_ALL_PAGE;

list($kolvo,$this->data_myadverts)=obr_db_query_select_assoc($db_query);

if ($kolvo==0) return (false);

стало:
$db_query=»select advert.id_advert,

advert.torg, advert.name_adv, advert.text, advert.image, advert.start_putdate, advert.end_putdate,
advert.name_country_adv, advert.name_region_adv,advert.name_city_adv,advert.cost,
advert.pick_out_adv , advert.is_makegood ,advert.status_adv, advert.n_category, advert.currency,
advert.premium_adv
from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»].» »
.» advert.type_user=’user’ and advert.num_user=».$GLOBALS[«id_user_to_site»].» »
.$notactiv
.» order by advert.premium_adv DESC, advert.sort_time DESC limit «.($this->open_num_page_myadverts-1)*KOL_ADVERT_TO_ALL_PAGE.» , «.KOL_ADVERT_TO_ALL_PAGE;

list($kolvo,$this->data_myadverts)=obr_db_query_select_assoc($db_query);

if ($kolvo==0) return (false);

3. \moduls\doska\filesmodul\forming_block_page_info_user.php

было:
$kolvo_advert_user = 0;

if ( $GLOBALS[«user_to_site»] )
{

$t_db_query_category = $this->get_text_db_query_part_category( «advert.n_category», 0 );

$db_query=»select count(*) from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»]
.» type_user=’user’ and num_user='».$GLOBALS[«id_user_to_site»].»‘ «;
$kolvo_advert_user = obr_db_query_count($db_query);

//$db_query=»select count(*) from «.DB_PREF.»advert where n_category IN («.$list_mas_id.») and hide=’show’ and end_putdate >= «.$GLOBALS[«timeGlobal»];
//$all_advert = obr_db_query_count($db_query);
}

$mas_perem[«kolvo_advert_user»] = $kolvo_advert_user;

стало:
$kolvo_advert_user = 0;

if ( $GLOBALS[«user_to_site»] )
{

$t_db_query_category = $this->get_text_db_query_part_category( «advert.n_category», 0 );

$db_query=»select count(*) from «.DB_PREF.»advert advert »
.» where »
//.» advert.n_category IN («.$this->list_id_inferiorcategory(false,true).») »
.( $t_db_query_category ? » ( «.$t_db_query_category.» ) and » : «» )
//.» and advert.hide=’show’ »
//.» and advert.end_putdate > «.$GLOBALS[«timeGlobal»]
.» type_user=’user’ and num_user='».$GLOBALS[«id_user_to_site»].»‘ «;
$kolvo_advert_user = obr_db_query_count($db_query);
$this->kolvo_vsego_not_activ=obr_db_query_count($db_query);

//$db_query=»select count(*) from «.DB_PREF.»advert where n_category IN («.$list_mas_id.») and hide=’show’ and end_putdate >= «.$GLOBALS[«timeGlobal»];
//$all_advert = obr_db_query_count($db_query);
}

$mas_perem[«kolvo_advert_user»] = $kolvo_advert_user;
$mas_perem[«kolvo_vsego_not_activ»] = $this->kolvo_vsego_not_activ;

4. Личный кабинет сейчас выглядит так:
Мои объявления (активные): 8 шт. / просмотреть и приминить доп. услуги
Мои объявления (неактивные): 8 шт. / просмотреть и активировать

а хотелось бы так:
Мои объявления (активные): 7 шт. / просмотреть и приминить доп. услуги
Мои объявления (неактивные): 1 шт. / просмотреть и активировать

\templates\шаблон\moduls\doska\mtemplates\block_advert_page_info_user.html
{* в шаблоне формируется информация на странице infoUser соответствующая модулю doska *}

Мои объявления (активные): a href=»{$dir_http}/myadverts/»>{ $kolvo_advert_user ? «<b>».$kolvo_advert_user.» шт.</b> / просмотреть и приминить доп. услуги» : «вы не добавили ни одного объявления» }
<br>
Мои объявления (неактивные): a href=»{$dir_http}/myadverts/?activ=false»>{ ЧТО СЮДА НАДО ПРОПИСАТЬ? «<b>»и ЧТО СЮДА НАДО ПРОПИСАТЬ?» шт.</b> / просмотреть и активировать» : «просроченных объявлений нет» }

С этим вообще запутался:
Чтобы вычислить отдельно активные объявления, вам просто нужно сделать обычное математическое выражение
{?$activ_advert_count=$kolvo_advert_user-$kolvo_vsego_not_activ} — где прописать эту строку надо, подскажите пожалуйста ))))

{$kolvo_advert_user} – все объявления
{$kolvo_vsego_not_activ} – неактивные объявления
{$activ_advert_count} – активные объявления

Пытался сделать из этого:
Мои объявления (неактивные): a href=»{$dir_http}/myadverts/?activ=false»>{ $kolvo_advert_user ? «<b>«.$kolvo_advert_user.» шт.</b> / просмотреть и активировать» : «просроченных объявлений нет» }
это:
Мои объявления (неактивные): a href=»{$dir_http}/myadverts/?activ=false»>{ $kolvo_vsego_not_activ ? «<b>».$kolvo_vsego_not_activ.» шт.</b> / просмотреть и активировать» : «просроченных объявлений нет» }
— не помогает……

Я конечно извиняюсь, за то что надоел со своими вопросами, но охото разобраться, что я делаю не так )))) Говорю все вроде легко, а вот гдето споткнулся. Думаю не только мне будет это интересно и полезно добавить в личный кабинет.