#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> / просмотреть и активировать” : “просроченных объявлений нет” }
– не помогает……

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