как сделать 404 ошибку
Страницы: 1
как сделать 404 ошибку
как сделать 404 ошибку в router.php компонента.. при удалении страниц она не выводится.. Помогите кто знает.
if (то чего нужно нет) {
echo header ("HTTP/1.0 404 Not Found");
echo 'То чего нужно нет';
exit();
}
Так Вы подробнее напишите, может и сможем помочь.
Заранее спасибо всем кто помогает новичкам ..  подробней стоит компонент недвижимости когда я удаляю какое либо объявление по недвижимости то заместь 404 ошибки выводится страница только без кон тента. вот код роутера.php. Как прописать чтоб при удалении страницы отдавало 404 ошибку я не знаю ...
// no direct access
defined('_JEXEC') or die('Restricted access');

function PropertiesBuildRoute( &$query )
{

$segments = array();
$menu = &JSite::getMenu();

if (empty($query['Itemid'])) {
$menuItem = &$menu->getActive();
} else {
$menuItemid = &$menu->getItem($query['Itemid']);
}

$Mview=$menuItemid->query['view'];
//echo '<br>Mview : '.$Mview.'<br>';
unset( $query['view'] );

if($Mview=='properties')
{

if(isset($query['limitstart']))
{
$segments[] = $query['limitstart'];
unset( $query['limitstart'] );
}
if(isset($query['start']))
{
$segments[] = $query['start'];
unset( $query['start'] );
}

if(isset($query['id']))
{
$segments[] = $query['id'];
unset( $query['id'] );
}

if(isset($query['layout']))
{
$segments[] = $query['layout'];
unset( $query['layout'] );
}


return $segments;
}


if($Mview=='state')
{
unset( $query['sid'] );
}
if($Mview=='locality')
{
unset( $query['lid'] );
}

if($Mview=='location')
{
if(isset($query['cyid']))
{
$segments[] = $query['cyid'];
unset( $query['cyid'] );
}
if(isset($query['sid']))
{
$segments[] = $query['sid'];
unset( $query['sid'] );
}
if(isset($query['lid']))
{
$segments[] = $query['lid'];
unset( $query['lid'] );
}
if(isset($query['task']))
{
$segments[] = $query['task'];
unset( $query['task'] );
}
if(isset($query['id']))
{
$segments[] = $query['id'];
unset( $query['id'] );
}

if(isset($query['start']))
{
$segments[] = $query['start'];
unset( $query['start'] );
}
if(isset($query['limitstart']))
{
$segments[] = $query['limitstart'];
unset( $query['limitstart'] );
}
return $segments;


}

if(isset($query['cid']))
{
$segments[] = $query['cid'];
unset( $query['cid'] );
}

if(isset($query['tid']))
{
$segments[] = $query['tid'];
unset( $query['tid'] );
}

if(isset($query['id']))
{
$segments[] = $query['id'];
unset( $query['id'] );
}
if(isset($query['aid']))
{
$segments[] = $query['aid'];
unset( $query['aid'] );
}
if(isset($query['layout']))
{
$segments[] = $query['layout'];
unset( $query['layout'] );
}

if(isset($query['format']))
{
/* $segments[] = $query['start'];*/
unset( $query['format'] );
}

if(isset($query['start']))
{
$segments[] = $query['start'];
unset( $query['start'] );
}

if(isset($query['limitstart']))
{
$segments[] = $query['limitstart'];
unset( $query['limitstart'] );

}
/*
print_r($segments);
*/

return $segments;
}


function PropertiesParseRoute( $segments)
{
global $mainframe;
$config = new JConfig();
$component = JComponentHelper::getComponent( 'com_properties' );
$params = new JParameter( $component->params );



//$paramsModule = $params;
$categoryInUrl=$params->get('categoryInUrl');
$menu =& JSite::getMenu();
$item =& $menu->getActive();
$vars = array();
$count = count( $segments );
$menuItemid = $item->id;
$Mview=$item->query['view'];


switch($item->query['view'])
{
case 'property':
$vars['view'] = $Mview;


if(($item->query['id']) == 0)
{

$alias = str_replace(':', '-',$segments[0]);



if(isset($segments[1]))
{
switch($segments[1])
{
case 'contact' : case 'pricelist' : case 'map' : case 'print' : case 'recommend' :
$vars['layout'] = $segments[1];
$vars['id'] = str_replace(':', '-',$segments[0]);
break;
default :
$vars['id'] = str_replace(':', '-',$segments[0]);
break;
}
}else{
$vars['id'] = $alias;
}
}else{

}
break;

case 'properties':
$vars['view'] = 'properties';


if(isset($segments[0]))
{
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{


if($segments[0][0] != ":")
{
list($l0,$l1) = explode(":",$segments[0]);
if(is_numeric($l0))
{
$segments[0] = $l1;

}
else {

$app = JFactory::getApplication();
$db = JFactory::getDBO();
$part = str_replace(":", '-', $segments[0]);
$db->setQuery("select id from #__properties_products where alias=".$db->Quote($part) );
$tid = $db->loadResult();
if (!empty($tid)){
$url = str_replace($part, $tid.'-'. $part, $_SERVER['REQUEST_URI']);
$app->redirect($url, '', 'message', true);
}


//
}
//$alias = "-".$l1;
}
$alias = str_replace(':', '-',$segments[0]);

if(isset($segments[1]))
{
switch($segments[1])
{
case 'contact' : case 'pricelist' : case 'map' : case 'print' : case 'recommend' :
$vars['layout'] = $segments[1];
$vars['id'] = str_replace(':', '-',$segments[0]);
break;
default :
$vars['id'] = str_replace(':', '-',$segments[0]);
break;
}
}else{
$vars['id'] = $alias;
}


}
}

break;
case 'favorites':
$vars['view'] = 'favorites';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'status':
$vars['view'] = 'status';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'category':
$vars['view'] = 'category';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}

break;
case 'type':
$vars['view'] = 'type';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'country':
$vars['view'] = 'country';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'state':
$vars['view'] = 'state';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'locality':
$vars['view'] = 'locality';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'region':
$vars['view'] = 'region';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'selection':
$vars['view'] = 'selection';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['id'] = $segments[0];
}
break;
case 'location':
$vars['view'] = 'location';

if(is_numeric($segments[$count - 1]))
{
$vars['limitstart'] = $segments[$count - 1];
unset( $segments[$count - 1] );
}

switch(count($segments))
{
case 1 :
$vars['cyid'] = $segments[0];
break;
case 2 :
$vars['cyid'] = $segments[0];
$vars['sid'] = $segments[1];
break;
case 3 :
$vars['cyid'] = $segments[0];
$vars['sid'] = $segments[1];
$vars['lid'] = $segments[2];
break;
case 4 :
$vars['cyid'] = $segments[0];
$vars['sid'] = $segments[1];
$vars['lid'] = $segments[2];
$vars['id'] = $segments[3];
break;
}
break;




case 'panel':
$vars['view'] = 'panel';
$vars['id'] = $segments[0];
$vars['layout'] = $segments[1];
break;

case 'agents':
$vars['view'] = 'agents';
if(is_numeric($segments[0]))
{
$vars['limitstart'] = $segments[0];
}else{
$vars['aid'] = $segments[0];
}
break;

case 'agentlistings':
$vars['view'] = 'agentlistings';
$vars['aid'] = $segments[0];
if(isset($segments[1]))
{
$vars['limitstart'] = $segments[1];
}


break;

default:
break;
}



/*
print_r($segments);
print_r($vars);
echo '<br>itemId: '. $menuItemid;
*/

return $vars;
}

function getProductId($alias)
{
$component = JComponentHelper::getComponent( 'com_properties' );
$params = new JParameter( $component->params );
$useTranslations=$params->get('useTranslations','0');

$db = JFactory::getDBO();
if($useTranslations222)
{
$query = 'SELECT p.id FROM #__properties_products as p '.
' LEFT JOIN #__properties_products_translations AS pt ON pt.pt_pid = p.id '.
' WHERE alias = '.$db->Quote($alias)
.' OR pt_alias = '.$db->Quote($alias)
;
}else{
$query = 'SELECT p.* FROM #__properties_products as p '
.' WHERE alias = '.$db->Quote($alias)
;
}
$db->setQuery($query);
$product = $db->loadObject();
//print_r($product);

echo $query;
//require('a');


return $product->id;
}
знаний программирования нет ... Заранее всем спасибо.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
13:23 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:16 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
08:26 Помогите! ОТКРЫЛАСЬ монетизация на ЮТЮБ! Но Как быть в 2024 с Adsense? 
08:23 Rotapost прикрыли! Чем пользоваться? 
17:53 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
12:39 2Index - быстрая индексация страниц сайта и обратных ссылок 
06:17 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
14:45 TIGER SMS — Виртуальные номера для SMS-верификации (опт и розница) 
14:43 Onechange.me — надежный обменник криптовалют и фиатных средств 
14:03 Quix Email - сервис почтовых активаций 
13:54 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
13:34 Рассылки СМС/SMS, Вайбер/Viber, Ватсап/Whatsapp, Телеграм/Telegram любой тематики по всему миру 
04:12 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
22:41 SOCKS5 приватные прокси на 30 дней для PayPal 
13:08 Бесплатный майнинг Tether (USDT) 
10:29 С юмором по жизни! 
16:49 monetizer.agency – рекламная сеть для взрослого и развлекательного трафика. 100$ новому вебмастеру 
20:43 Добро пожаловать в цифровой мир... 
15:59 Про мясо 
23:09 ПП от PMS remote.team - 200$ за команду 
13:28 Компьютерная мышь