Два места на сайте под контент.

regi

Новичок
Два места на сайте под контент.

Не знал, как точнее назвать тему.
Проблема следующая - есть сайт и два разных меню в нем.
Одно меню выводит в левую часть сайта стандартный контент, а другое меню предназначено для пользователей(три ссылки) и выводит информацию в правую часть сайта. Мне не совсем понятно, как можно все это сделать на пхп.
Ведь мне нужно, чтобы, нажав например ссылку в меню юзера, в левой части сайта остался тот же контент, а справа он поменялся.
 

mani13

Новичок
ИМХО, к php вопрос не имеет никакого отношения...
если я правильно понял, то используются frame'ы? если да, то в ссылке target="framename"
 

regi

Новичок
вопрос, как раз, отношение к пшп имеет.
фреймы использовать не хочу.
про переменные в GET думал, просто я так посмотрел, получается достаточно сложный код(для меня сложный) проверки, какая переменная задана из этих двух, или две заданы, или ни одной.

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

Левая часть Правая часть
/?id=4 /?user=1
/?id=5 /?user=2

Если мы нажмем на одну из ссылок, то, естественно, сотрется старое значение(нажмем user сотрется id).
Вот я и не могу понять, как мне ссылки генерировать.
 

Фанат

oncle terrible
Команда форума
я не думаю, что код получится очень сложный.
попробуй ео написать, а мы поможем.
для начала сделай сайт с одним "меню"
 

mani13

Новичок
[...]
проверок немного
только следи за значениями переменных...
 

Фанат

oncle terrible
Команда форума
regi
просто пиши и в тех и в других ссылках оба параметра
 

regi

Новичок
Я тут попробовал и написал две функции(в одной не знаю как все это уместить) - для каждого меню своя функция, которой передается значение каждой ссылки
(ссылки у меня вида index.php/?about&u=test )
Вот сами функции:

PHP:
function getLink($link){
    if(empty($_GET['u'])){
	  $glink = '/?'.$link;  
    } 
	  elseif(!empty($_GET['u'])){
	     $ustring=$_GET['u'];
		 $glink='/?'.$link.'&u='.$ustring;
	    }
	   else {$glink='/';};
  return $glink;
};
Эта функция отвечает за построение ссылок первого меню, в котором содержатся ссылки на основные разделы, типа о компании, каталог и т.п.

PHP:
function getLink2($link){
   if(isset($_GET['company'])){
	  $glink='/?company&u='.$link;
	}
     elseif(isset($_GET['contacts'])){
	  $glink='/?contacts&u='.$link;
	}
      elseif(isset($_GET['catalog'])){
	  $glink='/?catalog&u='.$link;
	} 
	elseif(isset($_GET['partners'])){
	  $glink='/?partners&u='.$link;
	}
	 else {
	 $glink='/?u='.$link;
	 };
  return $glink;
};
Эта функция, соответственно, создает ссылки второго меню.
Сами ссылки я задаю так:
<a href="'.getLink('company').'">О компании</a> (первое меню)
<a href="'.getLink2('basket').'">Корзина</a> (второе меню)
В качестве параметра указываю то, что должно, по идее, в контенте отображаться.

Наверняка можно упростить код? ;)
 

Фанат

oncle terrible
Команда форума
наверняыка можно.
во-первых, очевидно, что функция должна быть одна.
и не для каких-то меню, а просто формировать ссылки с параметрами, которые ей передали.
во-вторых, если уж тебе приходится передавать два параметра, то отказывайся от передачи одним словом. делай по-человечески, двумя переменными.
в-третьих, проверку на (!empty($_GET['u' надо делать, естественно, ДО вызова функции.
ведь что-то ты показывать без выбора должен?
присваивай u значение и подставляй в ссылки.
 
Сверху